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

Go to the source code of this file.

Data Structures

union  evhdl_t
 
union  stash_entry_t
 
struct  ODP_PACKED
 
union  ev_hdr_user_area_t
 
struct  event_hdr
 
union  event_prealloc_hdr
 

Macros

#define USER_FLAG_SET   1
 

Typedefs

typedef struct ODP_PACKED ev_hdr_state_t
 
typedef struct event_hdr event_hdr_t
 
typedef union event_prealloc_hdr event_prealloc_hdr_t
 

Functions

 COMPILE_TIME_ASSERT (sizeof(em_event_t)==sizeof(odp_event_t), EM_EVENT_SIZE_MISMATCH)
 
 COMPILE_TIME_ASSERT (sizeof(evhdl_t)==sizeof(em_event_t), EVHDL_T_SIZE_ERROR)
 
 COMPILE_TIME_ASSERT (sizeof(stash_entry_t)==sizeof(uint64_t), STASH_ENTRY_T_SIZE_ERROR)
 
union ODP_ALIGNED (sizeof(uint64_t))
 
 COMPILE_TIME_ASSERT (sizeof(evstate_cnt_t)==sizeof(uint64_t), EVSTATE_CNT_T_SIZE_ERROR)
 
 COMPILE_TIME_ASSERT (sizeof(ev_hdr_user_area_t)==sizeof(uint32_t), EV_HDR_USER_AREA_T_SIZE_ERROR)
 
 COMPILE_TIME_ASSERT (sizeof(event_hdr_t)<=64, EVENT_HDR_SIZE_ERROR)
 
 COMPILE_TIME_ASSERT (sizeof(event_hdr_t) % sizeof(uint64_t)==0, EVENT_HDR_SIZE_ERROR2)
 
 COMPILE_TIME_ASSERT (sizeof(event_prealloc_hdr_t)==sizeof(event_hdr_t), EVENT_PREALLOC_HDR_SIZE_ERROR)
 
 COMPILE_TIME_ASSERT (offsetof(event_prealloc_hdr_t, list_node) > offsetof(event_hdr_t, state)+sizeof(ev_hdr_state_t), EVENT_PREALLOC_HDR_SIZE_ERROR2)
 
 COMPILE_TIME_ASSERT (offsetof(event_prealloc_hdr_t, list_node) > offsetof(event_hdr_t, event)+sizeof(em_event_t), EVENT_PREALLOC_HDR_SIZE_ERROR3)
 

Variables

 evstate_cnt_t
 

Detailed Description

EM internal event types & definitions

Definition in file em_event_types.h.

Macro Definition Documentation

◆ USER_FLAG_SET

#define USER_FLAG_SET   1

Used to detect whether the event's event-header has been initialized by EM.

Set the odp-pkt/vector user-flag to be able to recognize events that EM has created vs. events from pkt-input that needs their ev-hdrs to be initialized before further EM processing.

Definition at line 56 of file em_event_types.h.

Typedef Documentation

◆ ev_hdr_state_t

typedef struct ODP_PACKED ev_hdr_state_t

Event state information, updated on valid state transitions. "Best effort" update, i.e. atomic update of state is not guaranteed in invalid simultaneous state updates.

Contains the previously known good state and will be printed when detecting an invalid state transition.

◆ event_hdr_t

typedef struct event_hdr event_hdr_t

Event header

SW & I/O originated events.

◆ event_prealloc_hdr_t

Event header used only when pre-allocating the pool during pool creation to be able to link all the event headers together into a linked list. Make sure not to overwrite the event state information in the header with the linked list information.

Function Documentation

◆ ODP_ALIGNED()

union ODP_ALIGNED ( sizeof(uint64_t)  )

Event-state counters: 'evgen', 'ref_cnt' and 'send_cnt'.

Atomically updated as one single var via 'evstate_cnt_t::u64'.

Definition at line 107 of file em_event_types.h.