Loading...
Searching...
No Matches
L4::Kobject_typeid< T > Struct Template Reference
Base API » Kernel Objects » L4 kernel object type information

Meta object for handling access to type information of Kobjects. More...

`#include <__typeinfo.h>`

Inheritance diagram for L4::Kobject_typeid< T >:
Collaboration diagram for L4::Kobject_typeid< T >:

## Public Types

typedef T::__Kobject_typeid::Demand | Demand
| Data type expressing the static demand of receive buffers in a server.

## Static Public Member Functions

static Type_info const * | id () noexcept
| Get a pointer to teh Kobject type information of T.
static Type_info::Demand | demand () noexcept
| Get the receive-buffer demand for the server providing the interface T.
template<typename THIS, typename A1, typename A2>
static int | proto_dispatch (THIS *self, long proto, A1 a1, A2 &a2)
| Protocol based server-side dispatch function.

## Detailed Description

template<typename T>
struct L4::Kobject_typeid< T >

Meta object for handling access to type information of Kobjects.

Template Parameters

  T | The data type derived from Kobject, usually using Kobject_t.

Definition at line 610 of file __typeinfo.h.

## Member Typedef Documentation

## Demand

template<typename T>

typedef T::__Kobject_typeid::Demand L4::Kobject_typeid< T >::Demand

Data type expressing the static demand of receive buffers in a server.

This information is the combined demand of all base interfaces for T and the buffer demand of T itself. The buffer demand of T is usually specified as the S_DEMAND argument of the Kobject_t or Kobject_2t inheritance helpers. S_DEMAND is usually of type L4::Type_info::Demand_t, or L4::Type_info::Demand_union_t.

Definition at line 622 of file __typeinfo.h.

## Member Function Documentation

## demand()

template<typename T>

Type_info::Demand L4::Kobject_typeid< T >::demand | ( |  | ) |

inlinestaticnoexcept

Get the receive-buffer demand for the server providing the interface T.

Returns
  A demand value describing the minimum receive buffers needed for handling server side requests for interface T.

Definition at line 639 of file __typeinfo.h.

## id()

template<typename T>

Type_info const * L4::Kobject_typeid< T >::id | ( |  | ) |

inlinestaticnoexcept

Get a pointer to teh Kobject type information of T.

Returns
  a pointer to the Kobject typeinfor of T.

Definition at line 630 of file __typeinfo.h.

Referenced by L4::kobject_typeid().

Here is the caller graph for this function:

## proto_dispatch()

template<typename T>
template<typename THIS, typename A1, typename A2>

int L4::Kobject_typeid< T >::proto_dispatch | ( | THIS * | self,
|  | long | proto,
|  | A1 | a1,
|  | A2 & | a2 )

inlinestatic

Protocol based server-side dispatch function.

Template Parameters

  THIS | Data type of the server-side object implementing the interface T.
  A1 | Data type of second argument for p_dispatch()
  A2 | Data type of third argument for p_dispatch()

Parameters

  self | The pointer to the server object
  proto | The protocol number used by the caller
  a1 | The second argument passed to self->p_dispatch()
  a2 | The third argument passed to self->p_dispatch()

This function forwards the call to the overloaded p_dispatch() function of self. The data type of the first argument for p_dispatch is determined by the given protocol number.

Definition at line 660 of file __typeinfo.h.

Referenced by L4::Server_object_t< IFACE, BASE >::proto_dispatch().

Here is the caller graph for this function:

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

- l4/sys/__typeinfo.h