L4Re Operating System Framework
Interface and Usage Documentation
|
An event buffer consumer. More...
#include <event_buffer>
Public Member Functions | |
template<typename CB , typename D > | |
void | foreach_available_event (CB const &cb, D data=D()) |
Call function on every available event. | |
template<typename CB , typename D > | |
void | process (L4::Cap< L4::Irq > irq, L4::Cap< L4::Thread > thread, CB const &cb, D data=D()) |
Continuously wait for events and process them. | |
Public Member Functions inherited from L4Re::Util::Event_buffer_t< PAYLOAD > | |
void * | buf () const noexcept |
Return the buffer. | |
long | attach (L4::Cap< L4Re::Dataspace > ds, L4::Cap< L4Re::Rm > rm) noexcept |
Attach event buffer from address space. | |
long | detach (L4::Cap< L4Re::Rm > rm) noexcept |
Detach event buffer from address space. | |
Public Member Functions inherited from L4Re::Event_buffer_t< PAYLOAD > | |
Event_buffer_t (void *buffer, l4_addr_t size) | |
Initialize event buffer. | |
Event * | next () noexcept |
Next event in buffer. | |
bool | put (Event const &ev) noexcept |
Put event into buffer at current position. | |
An event buffer consumer.
Definition at line 94 of file event_buffer.
|
inline |
Call function on every available event.
cb | Function callback. |
data | Data to pass as an argument to the callback. |
Definition at line 105 of file event_buffer.
References L4Re::Event_buffer_t< PAYLOAD >::Event::free().
Referenced by L4Re::Util::Event_buffer_consumer_t< PAYLOAD >::process().
|
inline |
Continuously wait for events and process them.
irq | Event signal to wait for. |
thread | Thread capability of the thread calling this function. |
cb | Callback function that is called for each received event. |
data | Data to pass as an argument to the processing callback. |
Definition at line 126 of file event_buffer.
References L4::Cap_base::cap(), L4Re::Util::Event_buffer_consumer_t< PAYLOAD >::foreach_available_event(), l4_error(), l4_ipc_error(), L4_IPC_NEVER, l4_irq_receive(), and l4_utcb().