EM-ODP  3.7.0
Event Machine on ODP
event_machine_event.h File Reference
Include dependency graph for event_machine_event.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  em_event_uarea_info_t
 Event user area information filled by em_event_uarea_info() More...
 
struct  em_event_vector_info_t
 Vector event information filled by em_event_vector_info() More...
 

Functions

em_event_t em_alloc (uint32_t size, em_event_type_t type, em_pool_t pool)
 
int em_alloc_multi (em_event_t events[], int num, uint32_t size, em_event_type_t type, em_pool_t pool)
 
void em_free (em_event_t event)
 
void em_free_multi (em_event_t events[], int num)
 
em_status_t em_send (em_event_t event, em_queue_t queue)
 
int em_send_multi (const em_event_t events[], int num, em_queue_t queue)
 
void * em_event_pointer (em_event_t event)
 
void * em_event_pointer_and_size (em_event_t event, uint32_t *size)
 Get a pointer to the event structure/data as well as the event size. More...
 
uint32_t em_event_get_size (em_event_t event)
 
em_pool_t em_event_get_pool (em_event_t event)
 Returns the EM event-pool the event was allocated from. More...
 
em_pool_t em_event_get_pool_subpool (em_event_t event, int *subpool)
 Returns the EM event-pool and subpool the event was allocated from. More...
 
em_status_t em_event_set_type (em_event_t event, em_event_type_t newtype)
 
em_event_type_t em_event_get_type (em_event_t event)
 
int em_event_get_type_multi (const em_event_t events[], int num, em_event_type_t types[])
 
int em_event_same_type_multi (const em_event_t events[], int num, em_event_type_t *same_type)
 
em_status_t em_event_mark_send (em_event_t event, em_queue_t queue)
 
em_status_t em_event_unmark_send (em_event_t event)
 
void em_event_mark_free (em_event_t event)
 Mark the event as "free". More...
 
void em_event_unmark_free (em_event_t event)
 Unmark an event previously marked as "free" (i.e mark as "allocated" again). More...
 
void em_event_mark_free_multi (const em_event_t events[], int num)
 Mark multiple events as "free". More...
 
void em_event_unmark_free_multi (const em_event_t events[], int num)
 Unmark multiple events previously marked as "free". More...
 
em_event_t em_event_clone (em_event_t event, em_pool_t pool)
 Clone an event. More...
 
em_event_t em_event_clone_part (em_event_t event, em_pool_t pool, uint32_t offset, uint32_t len, bool clone_uarea)
 Partially clone an event. More...
 
void * em_event_uarea_get (em_event_t event, size_t *size)
 Get a pointer to the event user area, optionally along with its size. More...
 
em_status_t em_event_uarea_id_get (em_event_t event, bool *isset, uint16_t *id)
 Get the event user area ID along with information if it has been set. More...
 
em_status_t em_event_uarea_id_set (em_event_t event, uint16_t id)
 Set the event user area ID. More...
 
em_status_t em_event_uarea_info (em_event_t event, em_event_uarea_info_t *uarea_info)
 Get the event user area information for a given event. More...
 
em_event_t em_event_ref (em_event_t event)
 
bool em_event_has_ref (em_event_t event)
 
void em_event_vector_free (em_event_t vector_event)
 Free the vector event only, not the events it contains. More...
 
uint32_t em_event_vector_tbl (em_event_t vector_event, em_event_t **event_tbl)
 Get the event vector table from an event of (major) type EM_EVENT_TYPE_VECTOR. More...
 
uint32_t em_event_vector_size (em_event_t vector_event)
 Number of event handles available (set) in a vector. More...
 
void em_event_vector_size_set (em_event_t vector_event, uint32_t size)
 Set the number of event handles stored in a vector. More...
 
uint32_t em_event_vector_max_size (em_event_t vector_event)
 Maximum number of event handles that can be stored in a vector. More...
 
em_status_t em_event_vector_info (em_event_t vector_event, em_event_vector_info_t *vector_info)
 Retrieve information about the given vector event. More...
 
uint64_t em_event_to_u64 (em_event_t event)