DAT_EVD_POST_SE(3DAT) Direct Access Transport Library Functions DAT_EVD_POST_SE(3DAT)

dat_evd_post_se - post Software event to the Event Dispatcher event queue

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
    )

evd_handle
Handle for an instance of the Event Dispatcher

event

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.

DAT_SUCCESS
The operation was successful.

DAT_INVALID_HANDLE

The evd_handle parameter is invalid.

DAT_INVALID_PARAMETER

The event parameter is invalid.

DAT_QUEUE_FULL

The Event Dispatcher queue is full.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.1, 1.2
MT-Level Unsafe

libdat(3LIB), attributes(7)

July 16, 2004 OmniOS