L4Re Operating System Framework
Interface and Usage Documentation
|
Abstract server object to be used with L4::Server and L4::Basic_registry. More...
#include <ipc_server>
Public Member Functions | |
virtual int | dispatch (unsigned long rights, Ipc::Iostream &ios)=0 |
The abstract handler for client requests to the object. | |
l4_msgtag_t | dispatch (l4_msgtag_t tag, unsigned rights, l4_utcb_t *utcb) override |
The abstract handler for client requests to the object. | |
Public Member Functions inherited from L4::Epiface | |
Epiface () | |
Make a server object. | |
virtual Demand | get_buffer_demand () const =0 |
Get the server-side receive buffer demand for this object. | |
virtual | ~Epiface ()=0 |
Destroy the object. | |
Stored_cap | obj_cap () const |
Get the capability to the kernel object belonging to this object. | |
Server_iface * | server_iface () const |
Get pointer to server interface at which the object is currently registered. | |
int | set_server (Server_iface *srv, Cap< void > cap, bool managed=false) |
Set server registration info for the object. | |
void | set_obj_cap (Cap< void > const &cap) |
Deprecated server registration function. | |
Additional Inherited Members | |
Public Types inherited from L4::Epiface | |
typedef Ipc_svr::Server_iface | Server_iface |
Type for abstract server interface. | |
typedef Ipc_svr::Server_iface::Demand | Demand |
Type for server-side receive buffer demand. | |
Abstract server object to be used with L4::Server and L4::Basic_registry.
This server object provides an abstract interface that is used by the L4::Registry_dispatcher model. You can derive subclasses from this interface and implement application specific server objects.
Definition at line 49 of file ipc_server.
|
inlineoverridevirtual |
The abstract handler for client requests to the object.
tag | The message tag for this invocation. |
rights | The rights bits in the invoked capability. |
utcb | The UTCB used for the invocation. |
-L4_ENOREPLY | No reply message is send. |
<0 | Error, reply with error code. |
>=0 | Success, reply with return value. |
This function must be implemented by application specific server objects.
Implements L4::Epiface.
Definition at line 71 of file ipc_server.
References dispatch().
|
pure virtual |
The abstract handler for client requests to the object.
rights | The rights bits in the invoked capability. |
ios | The Ipc::Iostream for reading the request and writing the reply. |
-L4_ENOREPLY | Instructs the server loop to not send a reply. |
<0 | Error, reply with error code. |
>=0 | Success, reply with return value. |
This function must be implemented by application specific server objects. The implementation must unmarshall data from the stream (ios
) and create a reply by marshalling to the stream (ios
). For details about the IPC stream see IPC stream operators.
Implemented in L4::Server_object_x< Derived, IFACE, BASE >.
Referenced by dispatch().