![]() |
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 38 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 60 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().