L4Re Operating System Framework
Interface and Usage Documentation
|
Interface for server-loop related functions. More...
#include <ipc_epiface>
Public Types | |
typedef L4::Type_info::Demand | Demand |
Data type expressing server-side demand for receive buffers. | |
Public Member Functions | |
Server_iface () | |
Make a server interface. | |
virtual int | alloc_buffer_demand (Demand const &demand)=0 |
Tells the server to allocate buffers for the given demand. | |
virtual L4::Cap< void > | get_rcv_cap (int index) const =0 |
Get capability slot allocated to the given receive buffer. | |
virtual int | realloc_rcv_cap (int index)=0 |
Allocate a new capability for the given receive buffer. | |
virtual int | add_timeout (Timeout *timeout, l4_kernel_clock_t time)=0 |
Add a timeout to the server internal timeout queue. | |
virtual int | remove_timeout (Timeout *timeout)=0 |
Remove the given timeout from the timer queue. | |
template<typename T > | |
L4::Cap< T > | rcv_cap (int index) const |
Get given receive buffer as typed capability. | |
L4::Cap< void > | rcv_cap (int index) const |
Get receive cap with the given index as generic (void) type. | |
Interface for server-loop related functions.
This interface provides access to high-level server-loop related functions, such as management of receive buffers and timeouts.
Definition at line 47 of file ipc_epiface.
|
pure virtual |
Add a timeout to the server internal timeout queue.
timeout | The timeout object to register. |
time | The time (absolute) at which the timeout shall expire. |
Implemented in L4Re::Util::Br_manager, L4::Ipc_svr::Br_manager_no_buffers, L4::Ipc_svr::Timeout_queue_hooks< HOOKS, BR_MAN >, L4::Ipc_svr::Timeout_queue_hooks< Br_manager_timeout_hooks, Br_manager >, and L4::Ipc_svr::Timeout_queue_hooks< Loop_hooks, L4Re::Util::Br_manager >.
|
pure virtual |
Tells the server to allocate buffers for the given demand.
demand | The total server-side demand of receive buffers needed for a given interface, see Demand. |
This function is not called by user applications directly. Usually the server implementation or the registry implementation calls this function whenever a new object is registered at the server.
Implemented in L4Re::Util::Br_manager, and L4::Ipc_svr::Br_manager_no_buffers.
|
pure virtual |
Get capability slot allocated to the given receive buffer.
index | The receive buffer index of the expected capability argument (0 <= index < caps registered with alloc_buffer_demand()). |
index
< caps
registered with alloc_buffer_demand() Implemented in L4Re::Util::Br_manager, and L4::Ipc_svr::Br_manager_no_buffers.
Referenced by rcv_cap().
|
inline |
Get given receive buffer as typed capability.
index | The receive buffer index of the expected capability argument. (0 <= index < caps registered with alloc_buffer_demand().) |
index
< caps
registered with alloc_buffer_demand() Definition at line 125 of file ipc_epiface.
References get_rcv_cap().
|
inline |
Get receive cap with the given index as generic (void) type.
index | The index of the cap receive buffer of the expected capability. (0 <= index < caps registered with alloc_buffer_demand().) |
Definition at line 137 of file ipc_epiface.
References get_rcv_cap().
|
pure virtual |
Allocate a new capability for the given receive buffer.
index | The receive buffer index of the expected capability argument (0 <= index < caps registered with alloc_buffer_demand()). |
index
< caps
registered with alloc_buffer_demand() Implemented in L4Re::Util::Br_manager, and L4::Ipc_svr::Br_manager_no_buffers.
|
pure virtual |
Remove the given timeout from the timer queue.
timeout | The timout object to remove. |
Implemented in L4Re::Util::Br_manager, L4::Ipc_svr::Br_manager_no_buffers, L4::Ipc_svr::Timeout_queue_hooks< HOOKS, BR_MAN >, L4::Ipc_svr::Timeout_queue_hooks< Br_manager_timeout_hooks, Br_manager >, and L4::Ipc_svr::Timeout_queue_hooks< Loop_hooks, L4Re::Util::Br_manager >.