Loading...
Searching...
No Matches
L4::Meta Class Reference

Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects. More...

`#include <meta>`

Inheritance diagram for L4::Meta:
Collaboration diagram for L4::Meta:

## Public Member Functions

l4_msgtag_t | num_interfaces ()
| Get the number of interfaces implemented by this object.
l4_msgtag_t | interface (l4_umword_t idx, long *proto, L4::Ipc::String< char > *name)
| Get the protocol number that must be used for the interface with the number idx.
l4_msgtag_t | supports (l4_mword_t protocol)
| Figure out if the object supports the given protocol (number).
Public Member Functions inherited from L4::Kobject
l4_msgtag_t | dec_refcnt (l4_mword_t diff, l4_utcb_t *utcb=l4_utcb())
| Decrement the in kernel reference counter for the object.

## Additional Inherited Members

Protected Types inherited from L4::Kobject_t< Meta, Kobject, L4_PROTO_META >
typedef Meta | Class
| The target interface type (inheriting from Kobject_t).
typedef Typeid::Iface< PROTO, Meta > | __Iface
| The interface description for the derived class.
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename Kobject::__Iface_list > | __Iface_list
| The list of all RPC interfaces provided directly or through inheritance.
Protected Member Functions inherited from L4::Kobject_t< Meta, Kobject, L4_PROTO_META >
L4::Cap< Class > | c () const noexcept
| Get the capability to ourselves.
Protected Member Functions inherited from L4::Kobject
l4_cap_idx_t | cap () const noexcept
| Return capability selector.
Static Protected Member Functions inherited from L4::Kobject_t< Meta, Kobject, L4_PROTO_META >
static void | __check_protocols__ () noexcept
| Helper to check for protocol conflicts.

## Detailed Description

Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects.

Definition at line 26 of file meta.

## Member Function Documentation

## interface()

l4_msgtag_t L4::Meta::interface | ( | l4_umword_t | idx,
|  | long * | proto,
|  | L4::Ipc::String< char > * | name )

Get the protocol number that must be used for the interface with the number idx.

Parameters

  | idx | The index of the interface to get the protocol number for. idx must be >= 0 and < the return value of num_interfaces().
  [out] | proto | The protocol number for interface idx.
  [out] | name | The protocol name for interface idx.

Return values

  l4_msgtag_t::label() == 0 | Successful; see `proto` and `name`.
  l4_msgtag_t::label() < 0 | Error code.

Referenced by num_interfaces().

Here is the caller graph for this function:

## num_interfaces()

l4_msgtag_t L4::Meta::num_interfaces | ( |  | ) |

Get the number of interfaces implemented by this object.

Return values

  l4_msgtag_t::label() >= 0 | The number of supported interfaces.
  l4_msgtag_t::label() < 0 | Error code of the occurred error.

References interface(), and num_interfaces().

Referenced by num_interfaces().

Here is the call graph for this function:
Here is the caller graph for this function:

## supports()

l4_msgtag_t L4::Meta::supports | ( | l4_mword_t | protocol | ) |

Figure out if the object supports the given protocol (number).

Parameters

  protocol | The protocol number to check for.

Return values

  l4_msgtag_t::label() == 1 | protocol is supported.
  l4_msgtag_t::label() == 0 | protocol is not supported.

This method is intended to be used for statically assigned protocol numbers.

References supports().

Referenced by supports().

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following file:

- l4/sys/meta