L4Re - L4 Runtime Environment
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...

+ 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. More...
 
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. More...
 
l4_msgtag_t supports (l4_mword_t protocol)
 Figure out if the object supports the given protocol (number). More...
 
- 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. More...
 

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< Classc () const
 Get the capability to ourselves.
 
- Protected Member Functions inherited from L4::Kobject
l4_cap_idx_t cap () const throw ()
 Return capability selector. More...
 
- Static Protected Member Functions inherited from L4::Kobject_t< Meta, Kobject, L4_PROTO_META >
static void __check_protocols__ ()
 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 37 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
idxThe index of the interface to get the protocol number for. idx must be >= 0 and < the return value of num_interfaces().
[out]protoThe protocol number for interface idx.
[out]nameThe 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()

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.

◆ supports()

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

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

Parameters
protocolThe 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: