Interface Definition Language.
More...
#include <l4/sys/cxx/ipc_basics>
#include <l4/sys/cxx/ipc_types>
#include <l4/sys/__typeinfo.h>
Go to the source code of this file.
|
namespace | L4 |
| L4 low-level kernel interface.
|
|
namespace | L4::Ipc |
| IPC related functionality.
|
|
namespace | L4::Ipc::Msg |
| IPC Message related functionality.
|
|
|
#define | L4_INLINE_RPC_NF(res, name, args...) |
| Define an inline RPC call type (the type only, no callable).
|
|
#define | L4_INLINE_RPC_NF_OP(op, res, name, args...) |
| Define an inline RPC call type with specific opcode (the type only, no callable).
|
|
#define | L4_INLINE_RPC(res, name, args, attr...) res name args |
| Define an inline RPC call (type and callable).
|
|
#define | L4_INLINE_RPC_OP(op, res, name, args, attr...) res name args |
| Define an inline RPC call with specific opcode (type and callable).
|
|
#define | L4_RPC_NF(res, name, args...) |
| Define an RPC call type (the type only, no callable).
|
|
#define | L4_RPC_NF_OP(op, res, name, args...) |
| Define an RPC call type with specific opcode (the type only, no callable).
|
|
#define | L4_RPC(res, name, args, attr...) res name args |
| Define an RPC call (type and callable).
|
|
#define | L4_RPC_OP(op, res, name, args, attr...) res name args |
| Define an RPC call with specific opcode (type and callable).
|
|
Interface Definition Language.
- See also
- L4_RPC, L4_INLINE_RPC, L4::Ipc::Call L4::Ipc::Send_only, L4::Ipc::Msg::Rpc_call, L4::Ipc::Msg::Rpc_inline_call
Definition in file ipc_iface.
◆ L4_INLINE_RPC
#define L4_INLINE_RPC |
( |
|
res, |
|
|
|
name, |
|
|
|
args, |
|
|
|
attr... |
|
) |
| res name args |
◆ L4_INLINE_RPC_NF
#define L4_INLINE_RPC_NF |
( |
|
res, |
|
|
|
name, |
|
|
|
args... |
|
) |
| |
Value: struct name##_t : L4::Ipc::Msg::Rpc_inline_call<name##_t, Class, res args> \
{ \
typedef L4::Ipc::Msg::Rpc_inline_call<name##_t, Class, res args> type; \
L4_INLINE_RPC_SRV_FORWARD(name); \
}
Define an inline RPC call type (the type only, no callable).
- Parameters
-
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function, and RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Stubs generated by this macro can be used explicitly in custom wrapper methods that need to use the underlying RPC code and provide some higher level abstraction, for example with default arguments or extra argument conversion.
Definition at line 447 of file ipc_iface.
◆ L4_INLINE_RPC_NF_OP
#define L4_INLINE_RPC_NF_OP |
( |
|
op, |
|
|
|
res, |
|
|
|
name, |
|
|
|
args... |
|
) |
| |
Value: struct name##_t : L4::Ipc::Msg::Rpc_inline_call<name##_t, Class, res args> \
{ \
typedef L4::Ipc::Msg::Rpc_inline_call<name##_t, Class, res args> type; \
enum { Opcode = (op) }; \
L4_INLINE_RPC_SRV_FORWARD(name); \
}
Define an inline RPC call type with specific opcode (the type only, no callable).
- Parameters
-
op | The opcode number for this function |
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function, and RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Stubs generated by this macro can be used explicitly in custom wrapper methods that need to use the underlying RPC code and provide some higher level abstraction, for example with default arguments or extra argument conversion.
Definition at line 460 of file ipc_iface.
◆ L4_INLINE_RPC_OP
#define L4_INLINE_RPC_OP |
( |
|
op, |
|
|
|
res, |
|
|
|
name, |
|
|
|
args, |
|
|
|
attr... |
|
) |
| res name args |
Define an inline RPC call with specific opcode (type and callable).
- Parameters
-
op | The opcode number for this function |
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function. |
attr | Optional RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Definition at line 491 of file ipc_iface.
◆ L4_RPC
#define L4_RPC |
( |
|
res, |
|
|
|
name, |
|
|
|
args, |
|
|
|
attr... |
|
) |
| res name args |
Define an RPC call (type and callable).
- Parameters
-
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function. |
attr | Optional RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Definition at line 535 of file ipc_iface.
◆ L4_RPC_NF
#define L4_RPC_NF |
( |
|
res, |
|
|
|
name, |
|
|
|
args... |
|
) |
| |
Value: struct name##_t : L4::Ipc::Msg::Rpc_call<name##_t, Class, res args> \
{ \
typedef L4::Ipc::Msg::Rpc_call<name##_t, Class, res args> type; \
L4_INLINE_RPC_SRV_FORWARD(name); \
}
Define an RPC call type (the type only, no callable).
- Parameters
-
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function, and RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Definition at line 504 of file ipc_iface.
◆ L4_RPC_NF_OP
#define L4_RPC_NF_OP |
( |
|
op, |
|
|
|
res, |
|
|
|
name, |
|
|
|
args... |
|
) |
| |
Value: struct name##_t : L4::Ipc::Msg::Rpc_call<name##_t, Class, res args> \
{ \
typedef L4::Ipc::Msg::Rpc_call<name##_t, Class, res args> type; \
enum { Opcode = (op) }; \
L4_INLINE_RPC_SRV_FORWARD(name); \
}
Define an RPC call type with specific opcode (the type only, no callable).
- Parameters
-
op | The opcode number for this function |
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function, and RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Definition at line 519 of file ipc_iface.
◆ L4_RPC_OP
#define L4_RPC_OP |
( |
|
op, |
|
|
|
res, |
|
|
|
name, |
|
|
|
args, |
|
|
|
attr... |
|
) |
| res name args |
Define an RPC call with specific opcode (type and callable).
- Parameters
-
op | The opcode number for this function |
res | The result type of the RPC call |
name | The name of the function (name _t is used for the type.) |
args | The argument list of the RPC function. |
attr | Optional RPC attributes (L4::Ipc::Call, L4::Ipc::Call_t etc.). |
Definition at line 550 of file ipc_iface.