cc [ flag… ] file… –ldat [ library… ] #include <dat/udat.h> DAT_RETURN dat_evd_post_se( IN DAT_EVD_HANDLE evd_handle, IN const DAT_EVENT *event )
Handle for an instance of the Event Dispatcher
A pointer to a Consumer created Software Event.
The dat_evd_post_se() function posts Software events to the Event Dispatcher event queue. This is analogous to event arrival on the Event Dispatcher software Event Stream. The event that the Consumer provides adheres to the event format as defined in <dat.h>. The first element in the event provides the type of the event (DAT_EVENT_TYPE_SOFTWARE); the rest provide the event-type-specific parameters. These parameters are opaque to a Provider. Allocation and release of the memory referenced by the event pointer in a software event are the Consumer's responsibility.
There is no ordering between events from different Event Streams. All the synchronization issues between multiple Consumer contexts trying to post events to an Event Dispatcher instance simultaneously are left to a Consumer.
If the event queue is full, the operation is completed unsuccessfully and returns DAT_QUEUE_FULL. The event is not queued. The queue overflow condition does takes place and, therefore, the asynchronous Event Dispatcher is not effected.
The operation was successful.
The evd_handle parameter is invalid.
The event parameter is invalid.
The Event Dispatcher queue is full.
See attributes(5) for descriptions of the following attributes: