![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects. More...
#include <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. |
Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects.
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.
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. |
l4_msgtag_t::label() == 0 | Successful; see `proto` and `name`. |
l4_msgtag_t::label() < 0 | Error code. |
Referenced by num_interfaces().
l4_msgtag_t L4::Meta::num_interfaces | ( | ) |
Get the number of interfaces implemented by this object.
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().
l4_msgtag_t L4::Meta::supports | ( | l4_mword_t | protocol | ) |
Figure out if the object supports the given protocol (number).
protocol | The protocol number to check for. |
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().