Variably sized RPC argument.
More...
#include <ipc_varg>
Inherited by L4::Ipc::Varg_t< T >.
|
L4_varg_type | type () const |
|
unsigned | length () const |
| Get the size of the RPC argument.
|
|
Tag | tag () const |
|
void | tag (Tag tag) |
| Set Varg tag (usually from message)
|
|
void | data (char const *d) |
| Set Varg to indirect data value (usually in UTCB)
|
|
char const * | data () const |
|
| Varg ()=default |
| Make uninitialized Varg.
|
|
| Varg (L4_varg_type t, void const *v, int len) |
| Make an indirect varg.
|
|
template<typename V > |
Va_type< V >::Ret_value | value () const |
|
template<typename T > |
bool | is_of () const |
|
bool | is_nil () const |
|
bool | is_of_int () const |
|
template<typename T > |
bool | get_value (typename Va_type< T >::Value *v) const |
| Get the value of the Varg as type T.
|
|
template<typename T > |
void | set_value (void const *d) |
| Set to indirect value of type T.
|
|
template<typename T > |
void | set_direct_value (T val, typename L4::Types::Enable_if< sizeof(T)<=sizeof(char const *), bool >::type=true) |
| Set to directly stored value of type T.
|
|
template<typename T > |
| Varg (T const *data) |
| Make Varg from indirect value (pointer)
|
|
| Varg (char const *data) |
| Make Varg from null-terminated string.
|
|
template<typename T > |
| Varg (T data, typename L4::Types::Enable_if< sizeof(T)<=sizeof(char const *), bool >::type=true) |
| Make Varg from direct value.
|
|
Variably sized RPC argument.
Definition at line 107 of file ipc_varg.
◆ data()
char const * L4::Ipc::Varg::data |
( |
| ) |
const |
|
inline |
◆ get_value()
template<typename T >
bool L4::Ipc::Varg::get_value |
( |
typename Va_type< T >::Value * |
v | ) |
const |
|
inline |
Get the value of the Varg as type T.
- Template Parameters
-
T | The expected type of the Varg. |
- Parameters
-
v | Pointer to store the value |
- Returns
- true when the Varg is of type T, false if not
Definition at line 196 of file ipc_varg.
◆ is_nil()
bool L4::Ipc::Varg::is_nil |
( |
| ) |
const |
|
inline |
◆ is_of()
template<typename T >
bool L4::Ipc::Varg::is_of |
( |
| ) |
const |
|
inline |
◆ is_of_int()
bool L4::Ipc::Varg::is_of_int |
( |
| ) |
const |
|
inline |
- Returns
- true if the Varg is an integer type (signed or unsigned).
Definition at line 186 of file ipc_varg.
References type().
◆ length()
unsigned L4::Ipc::Varg::length |
( |
| ) |
const |
|
inline |
Get the size of the RPC argument.
- Returns
- The size of the RPC argument
Definition at line 125 of file ipc_varg.
◆ tag()
Tag L4::Ipc::Varg::tag |
( |
| ) |
const |
|
inline |
- Returns
- the tag value (the Direct_data bit masked)
Definition at line 127 of file ipc_varg.
◆ type()
L4_varg_type L4::Ipc::Varg::type |
( |
| ) |
const |
|
inline |
◆ value()
template<typename V >
Va_type< V >::Ret_value L4::Ipc::Varg::value |
( |
| ) |
const |
|
inline |
- Template Parameters
-
V | The data type of the value to retrieve. |
- Precondition
- The Varg must be of type V (otherwise the result is unpredictable).
- Returns
- The value of the Varg as type V.
Definition at line 166 of file ipc_varg.
The documentation for this class was generated from the following file: