Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects.
More...
#include <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 Base::__Iface_list > | __Iface_list |
| The list of all RPC interfaces provided directly or through inheritance.
|
|
L4::Cap< Class > | c () const noexcept |
| Get the capability to ourselves.
|
|
l4_cap_idx_t | cap () const noexcept |
| Return capability selector.
|
|
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.
Definition at line 37 of file meta.
◆ interface()
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. |
◆ 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. |
◆ supports()
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.
The documentation for this class was generated from the following file: