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::Irq > | obj_cap () const
| Get the (typed) capability to this object.
Public Member Functions inherited from L4::Epiface_t0< void, Epiface >
Type_info::Demand | get_buffer_demand () const
| Get the server-side buffer demand based in IFACE.
Cap< void > | 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_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_t0< void, Epiface >
typedef void | 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

  Derived | Irq handler implementation class. The class must provide a single function handle_irq().
  BASE | Base Epiface class.

Definition at line 282 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

  tag | The message tag for this invocation.
  rights | The rights bits in the invoked capability.
  utcb | The UTCB used for the invocation.

Return values

  -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 284 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 294 of file ipc_epiface.

References L4::cap_cast().

Here is the call graph for this function:

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

- l4/sys/cxx/ipc_epiface