xref: /illumos-gate/usr/src/man/man3dat/dat_evd_post_se.3dat (revision 856f710c9dc323b39da5935194d7928ffb99b67f)
te
This manual page is derived from the DAT/uDAPL 1.2 specification.
Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DAT_EVD_POST_SE 3DAT "Jul 16, 2004"
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 Standard: uDAPL, 1.1, 1.2
MT-Level Unsafe
SEE ALSO

libdat(3LIB), attributes(5)