man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

dat_evd_post_se(3DAT)

Name

dat_evd_post_se - post Software event to the Event Dispatcher event queue

Synopsis

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
    )

Parameters

evd_handle

Handle for an instance of the Event Dispatcher

event

A pointer to a Consumer created Software Event.

Description

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.

Return Values

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.

Attributes

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

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

See Also

libdat(3LIB), attributes(5)