L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
L4::Irqep_t< Derived, BASE, bool > Struct Template Reference

Epiface implementation for interrupt handlers. More...

#include <ipc_epiface>

+ Inheritance diagram for L4::Irqep_t< Derived, BASE, bool >:
+ Collaboration diagram for L4::Irqep_t< Derived, BASE, bool >:

Public Member Functions

l4_msgtag_t dispatch (l4_msgtag_t, unsigned, l4_utcb_t *) final
 The abstract handler for client requests to the object.
 
Cap< L4::Irqobj_cap () const
 Get the (typed) capability to this object.
 
- Public Member Functions inherited from L4::Epiface_t0< RPC_IFACE, BASE >
Type_info::Demand get_buffer_demand () const
 Get the server-side buffer demand based in IFACE.
 
Cap< RPC_IFACE > obj_cap () const
 Get the (typed) capability to this object.
 
- Public Member Functions inherited from L4::Epiface
 Epiface ()
 Make a server object.
 
virtual ~Epiface ()=0
 Destroy the object.
 
Stored_cap obj_cap () const
 Get the capability to the kernel object belonging to this object.
 
Server_ifaceserver_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_t0< RPC_IFACE, BASE >
typedef RPC_IFACE Interface
 Data type of the IPC interface definition.
 
- 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.
 

Detailed Description

template<typename Derived, typename BASE = Epiface, bool = cxx::is_polymorphic<BASE>::value>
struct L4::Irqep_t< Derived, BASE, bool >

Epiface implementation for interrupt handlers.

Template Parameters
DerivedIrq handler implementation class. The class must provide a single function handle_irq().
BASEBase Epiface class.

Definition at line 293 of file ipc_epiface.

Member Function Documentation

◆ dispatch()

template<typename Derived , typename BASE = Epiface, bool = cxx::is_polymorphic<BASE>::value>
l4_msgtag_t L4::Irqep_t< Derived, BASE, bool >::dispatch ( l4_msgtag_t  tag,
unsigned  rights,
l4_utcb_t utcb 
)
inlinefinalvirtual

The abstract handler for client requests to the object.

Parameters
tagThe message tag for this invocation.
rightsThe rights bits in the invoked capability.
utcbThe UTCB used for the invocation.
Return values
-L4_ENOREPLYNo reply message is send.
<0Error, reply with error code.
>=0Success, reply with return value.

This function must be implemented by application specific server objects.

Implements L4::Epiface.

Definition at line 295 of file ipc_epiface.

References L4_ENOREPLY, and l4_msgtag().

+ Here is the call graph for this function:

◆ obj_cap()

template<typename Derived , typename BASE = Epiface, bool = cxx::is_polymorphic<BASE>::value>
Cap< L4::Irq > L4::Irqep_t< Derived, BASE, bool >::obj_cap ( ) const
inline

Get the (typed) capability to this object.

Returns
Irq capability for the kernel object behind the server.

Definition at line 305 of file ipc_epiface.


The documentation for this struct was generated from the following file: