|
EM-ODP
3.7.0
Event Machine on ODP
|
Go to the documentation of this file.
31 #ifndef EVENT_MACHINE_EVENT_H_
32 #define EVENT_MACHINE_EVENT_H_
34 #pragma GCC visibility push(default)
247 void em_free(em_event_t event);
307 int em_send_multi(
const em_event_t events[],
int num, em_queue_t queue);
779 uint32_t offset, uint32_t len,
bool clone_uarea);
1186 #pragma GCC visibility pop
em_status_t em_event_mark_send(em_event_t event, em_queue_t queue)
int em_alloc_multi(em_event_t events[], int num, uint32_t size, em_event_type_t type, em_pool_t pool)
em_event_t em_event_clone(em_event_t event, em_pool_t pool)
Clone an event.
em_status_t em_event_uarea_id_set(em_event_t event, uint16_t id)
Set the event user area ID.
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.
Vector event information filled by em_event_vector_info()
void em_free(em_event_t event)
void em_event_mark_free_multi(const em_event_t events[], int num)
Mark multiple events as "free".
em_status_t em_send(em_event_t event, em_queue_t queue)
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.
void em_event_unmark_free_multi(const em_event_t events[], int num)
Unmark multiple events previously marked as "free".
Event user area information filled by em_event_uarea_info()
void em_event_vector_free(em_event_t vector_event)
Free the vector event only, not the events it contains.
void em_event_unmark_free(em_event_t event)
Unmark an event previously marked as "free" (i.e mark as "allocated" again).
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.
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.
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.
uint32_t em_event_vector_max_size(em_event_t vector_event)
Maximum number of event handles that can be stored in a vector.
em_event_type_t em_event_get_type(em_event_t event)
void em_event_vector_size_set(em_event_t vector_event, uint32_t size)
Set the number of event handles stored in a vector.
em_event_t em_alloc(uint32_t size, em_event_type_t type, em_pool_t pool)
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.
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.
uint32_t em_event_vector_size(em_event_t vector_event)
Number of event handles available (set) in a vector.
uint32_t em_event_get_size(em_event_t event)
em_status_t em_event_unmark_send(em_event_t event)
uint64_t em_event_to_u64(em_event_t event)
void em_event_mark_free(em_event_t event)
Mark the event as "free".
int em_event_same_type_multi(const em_event_t events[], int num, em_event_type_t *same_type)
int em_event_get_type_multi(const em_event_t events[], int num, em_event_type_t types[])
em_event_t em_event_ref(em_event_t event)
bool em_event_has_ref(em_event_t event)
em_status_t em_event_set_type(em_event_t event, em_event_type_t newtype)
void em_free_multi(em_event_t events[], int num)
int em_send_multi(const em_event_t events[], int num, em_queue_t queue)
em_pool_t em_event_get_pool(em_event_t event)
Returns the EM event-pool the event was allocated from.
void * em_event_pointer(em_event_t event)
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.