L4Re - L4 Runtime Environment
|
The C IPC gate interface. More...
#include <l4/sys/utcb.h>
#include <l4/sys/types.h>
#include <l4/sys/rcv_endpoint.h>
#include <l4/sys/ipc.h>
Go to the source code of this file.
Enumerations | |
enum | L4_ipc_gate_ops { L4_IPC_GATE_BIND_OP = 0x10, L4_IPC_GATE_GET_INFO_OP = 0x11 } |
Operations on the IPC-gate. More... | |
Functions | |
l4_msgtag_t | l4_ipc_gate_bind_thread (l4_cap_idx_t gate, l4_cap_idx_t thread, l4_umword_t label) |
Bind the IPC gate to a thread. More... | |
l4_msgtag_t | l4_ipc_gate_get_infos (l4_cap_idx_t gate, l4_umword_t *label) |
Get information about the IPC-gate. More... | |
The C IPC gate interface.
IPC gates are used to create secure communication channels between threads. An IPC gate object can be created using the Factory interface. With l4_ipc_gate_bind_thread() a thread is bound to an IPC gate which then receives all messages sent to that IPC gate.
The l4_ipc_gate_bind_thread() call allows to assign each IPC gate a kernel protected, machine-word sized payload called a label. It securely identifies the gate. The lower two bits of the label can be used to encode rights bits. The kernel combines these bits with the capability rights, so a programmer usually should not pick the lower two bits for the label. The label is only visible in the task which is running the thread the IPC gate was bound to and cannot be altered by the sender.
Definition in file ipc_gate.h.