 |
Index for Section 3 |
|
 |
Alphabetical listing for E |
|
 |
Bottom of page |
|
EvmConnWait(3)
NAME
EvmConnCheck, EvmConnWait, EvmConnDispatch, EvmConnFlush - Maintains
connection with the EVM daemon
SYNOPSIS
#include <sys/time.h>
#include <evm/evm.h>
EvmStatus_t EvmConnCheck (
EvmConnection_t connection,
EvmBoolean_t *IOWaiting );
EvmStatus_t EvmConnWait (
EvmConnection_t connection,
const struct timeval *timeout );
EvmStatus_t EvmConnDispatch (
EvmConnection_t connection );
EvmStatus_t EvmConnFlush (
EvmConnection_t connection,
EvmInt32_t *count );
OPERANDS
connection
The EVM connection that is to be monitored.
IOWaiting
This is the return operand. Possible values for this operand are the
following:
EvmFALSE
There is no outstanding I/O activity on the connection.
EvmTRUE There is outstanding I/O activity on the connection. The client
should call EvmConnDispatch() to handle the outstanding
activity.
timeout
If this value is NULL, it specifies that EvmConnWait() should wait
until there is activity on the connection. If this value is not NULL,
it specifies the amount of time that EvmConnWait() should wait for
activity on the connection.
count
Receives a count of messages queued for sending to the EVM daemon.
DESCRIPTION
The EvmConnCheck() routine checks whether there is any I/O activity
outstanding on the connection. If there is, IOWaiting is set to EvmTRUE.
The program should then call EvmConnDispatch() to handle it. If there is no
outstanding I/O activity, IOWaiting is set to EvmFALSE. A response EvmTRUE
from this function does not guarantee that an event has arrived; simply
that there is a message on the connection that needs to be handled.
The EvmConnWait() routine blocks until activity is detected on the
connection. If timeout is not NULL, it specifies the amount of time that
the function should wait for activity on the connection before returning
with a status of EvmERROR_TIMEOUT.
The EvmConnDispatch() routine will handle one incoming I/O message on the
connection, calling the client's callback function as needed. If there is
no message awaiting processing, the function returns immediately. Calling
this function is not guaranteed to invoke the connection's callback
function, and if the callback is invoked, it is not necessarily true that
an event has arrived.
The EvmConnFlush() routine attempts to send to the EVM daemon any messages
that are queued for output as a result of earlier EvmEventPost() calls on a
connection that is marked as a non-blocking connection. The routine
continues to send messages from the queue until either all messages have
been sent or the send buffer is full. On return, the count output parameter
holds the number of messages still queued for sending; if this number is
more than zero, EvmConnFlush returns EvmERROR_QUEUED. See
EvmConnControl(3) for more information.
RETURN VALUES
EvmERROR_NONE
The operation was completed without error.
EvmERROR_INVALID_ARGUMENT
One of the arguments to the function was invalid.
EvmERROR_INVALID_VALUE
A value in a structure member is invalid.
EvmERROR_NO_MEMORY
An operation failed because an attempt to acquire heap memory failed.
EvmERROR_READ
A read error occurred while reading from the EVM daemon connection.
EvmERROR_WRITE
A write error occurred while writing to the EVM daemon connection.
EvmERROR_SELECT
An error occurred on the EVM connection. Invoke EvmConnDestroy() to
destroy the connection.
EvmERROR_TIMEOUT
A timeout period expired.
EvmERROR_SIGNAL
The current operation was interrupted by receipt of a signal.
EvmERROR_QUEUED
One or more messages is queued for sending to the EVM daemon.
ERRORS
None
LIBRARY
EVM Support Library (libevm.so, libevm.a)
FILES
/var/evm/sockets/evmd
Default pathname for the domain socket.
SEE ALSO
Functions: connect(2), select(2), socket(2)
Routines: EvmConnControl(3), EvmConnCreate(3), EvmConnDestroy(3)
EvmEventPost(3)
Files: kevm(7)
Event Management: EVM(5)
Event Callback: EvmCallback(5)
Event Connection: EvmConnection(5)
EVM Events: EvmEvent(5)
 |
Index for Section 3 |
|
 |
Alphabetical listing for E |
|
 |
Top of page |
|