EM-ODP 4.4.0
Event Machine on ODP
Loading...
Searching...
No Matches
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...
 

Macros

#define em_event_get_size   em_event_size
 
#define em_event_get_pool   em_event_pool
 
#define em_event_get_pool_subpool   em_event_pool_subpool
 
#define em_event_get_type   em_event_type
 
#define em_get_type_major   em_event_type_major
 
#define em_get_type_minor   em_event_type_minor
 
#define em_event_get_type_multi   em_event_type_multi
 
#define em_event_uarea_get   em_event_uarea
 
#define em_event_uarea_id_get   em_event_uarea_id
 

Typedefs

typedef enum em_event_type_major_e em_event_type_major_e
 
typedef enum em_event_type_sw_minor_e em_event_type_sw_minor_e
 

Enumerations

enum  em_event_type_major_e {
  EM_EVENT_TYPE_UNDEF = 0 , EM_EVENT_TYPE_SW = 1 << 24 , EM_EVENT_TYPE_PACKET = 2 << 24 , EM_EVENT_TYPE_TIMER = 3 << 24 ,
  EM_EVENT_TYPE_CRYPTO = 4 << 24 , EM_EVENT_TYPE_VECTOR = 5 << 24 , EM_EVENT_TYPE_TIMER_IND = 6 << 24 , EM_EVENT_TYPE_ODP = 7 << 24 ,
  EM_EVENT_TYPE_ANY = 8 << 24
}
 
enum  em_event_type_sw_minor_e { EM_EVENT_TYPE_SW_DEFAULT = 0 }
 

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.
 
uint32_t em_event_size (em_event_t event)
 
em_pool_t em_event_pool (em_event_t event)
 Returns the EM event-pool the event was allocated from.
 
em_pool_t em_event_pool_subpool (em_event_t event, int *subpool)
 Returns the EM event-pool and subpool the event was allocated from.
 
em_status_t em_event_set_type (em_event_t event, em_event_type_t newtype)
 
em_event_type_t em_event_type (em_event_t event)
 
int em_event_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".
 
void em_event_unmark_free (em_event_t event)
 Unmark an event previously marked as "free" (i.e mark as "allocated" again).
 
void em_event_mark_free_multi (const em_event_t events[], int num)
 Mark multiple events as "free".
 
void em_event_unmark_free_multi (const em_event_t events[], int num)
 Unmark multiple events previously marked as "free".
 
em_event_t em_event_clone (em_event_t event, em_pool_t pool)
 Clone an event.
 
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.
 
void * em_event_uarea (em_event_t event, size_t *size)
 Get a pointer to the event user area, optionally along with its size.
 
em_status_t em_event_uarea_id (em_event_t event, bool *isset, uint16_t *id)
 Get the event user area ID along with information if it has been set.
 
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_uarea_info (em_event_t event, em_event_uarea_info_t *uarea_info)
 Get the event user area information for a given event.
 
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.
 
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.
 
em_event_type_t em_event_vector_type (em_event_t event_vector)
 
em_status_t em_event_vector_type_set (em_event_t event_vector, em_event_type_t type)
 
uint32_t em_event_vector_size (em_event_t vector_event)
 Number of event handles available (set) in a vector.
 
void em_event_vector_size_set (em_event_t vector_event, uint32_t size)
 Set the number of event handles stored in a vector.
 
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_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.
 
uint64_t em_event_to_u64 (em_event_t event)