|DAT_EVD_POST_SE(3DAT)||Direct Access Transport Library Functions||DAT_EVD_POST_SE(3DAT)|
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 )
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.
See attributes(7) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|Interface Stability||Standard: uDAPL, 1.1, 1.2|
|July 16, 2004||OmniOS|