Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > E

EvmConnCreate(3)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

EvmConnCreate(), EvmConnCreatePoster(), EvmConnCreateSubscriber(), EvmConnDestroy(), EvmConnFdGet() — establish or destroy connection with the EVM daemon

SYNOPSIS

#include <evm/evm.h> EvmStatus_t EvmConnCreate( EvmConnectionType_t type, EvmResponseMode_t responseMode, const EvmTransport_t transport, EvmCallback_t callback, EvmCallbackArg_t callbackArg, EvmConnection_t *connection ); EvmStatus_t EvmConnCreatePoster( EvmConnection_t *connection ); EvmStatus_t EvmConnCreateSubscriber( EvmCallback_t callback, EvmCallbackArg_t callbackArg, EvmConnection_t *connection ); EvmStatus_t EvmConnDestroy( EvmConnection_t connection ); EvmStatus_t EvmConnFdGet( EvmConnection_t connection, EvmFd_t *fd );

Library

EVM Support Library (libevm.so).

Parameters

type

Establishes the function of the connection. Possible values are as follows:

EvmCONNECTION_POST

Creates a connection for use by posting clients.

EvmCONNECTION_LISTEN

Creates a connection for use by subscribing clients. The responseMode operand must be set to EvmRESPONSE_CALLBACK.

responseMode

Establishes the behavior of certain connection-oriented API functions when requests are made to the EVM daemon. If a function call results in such a request, the function returns a response according to the value of this operand, as follows:

EvmRESPONSE_IGNORE

The function returns without waiting for the daemon's response. In this mode, any return status other than EvmERROR_NONE indicates that a problem was detected in preliminary validation. A response of EvmERROR_NONE signifies only that the request was sent to the daemon. An EvmERROR_NONE response cannot determine if the request was received or accepted.

EvmRESPONSE_WAIT

The function does preliminary validation, returning a status reflecting any error it finds. If the function finds no error, it passes the request to the EVM daemon and blocks until a response is received from the daemon. The status returned by the function may result either from preliminary validation or from validation by the daemon. If no error is returned by the function, the request has been accepted by the daemon.

EvmRESPONSE_CALLBACK

The function returns without waiting for a response. Any return status other than EvmERROR_NONE indicates that a problem was detected in preliminary validation.

If no error is found, the function passes the request to the EVM daemon, and returns immediately with a status of EvmERROR_NONE. The calling process must use EvmConnWait() or a related function to watch for I/O activity on the connection, and then invoke EvmConnDispatch() to handle the activity. In most cases, the connection's callback function is invoked to handle incoming messages.

This response mode must be used for listening connections.

transport

Specify the type of connection to be made to the daemon. Because EVM currently supports only local connection the daemon, this argument must always be set to NULL. If this argument is not NULL, an error occurs.

callback

A pointer to a routine that is to be called by EvmConnDispatch() to process an incoming message. The routine is declared as described in the EvmCallback(5) manpage. If the response mode is not EvmRESPONSE_CALLBACK, this operand is NULL.

callbackArg

This argument is supplied each time the callback routine is invoked by EvmConnDispatch(). See EvmCallback(5). The calling process uses this argument to pass its own context data for the connection to the callback function. If no context data is required, this operand is NULL.

connection

For EvmConnCreate(), connection is the return operand for the new connection. For the other routines described on this manpage, connection is the EVM connection to be processed.

fd

The return operand for the file number associated with the supplied connection.

DESCRIPTION

The EvmConnCreate() routine establishes a connection between a client process and the EVM daemon. If the connection is successful, a pointer to a new connection context is returned in the connection argument.

The EvmConnCreatePoster() routine is a macro that establishes a posting connection to the local daemon. Using this macro is equivalent to calling EvmConnCreate() with type set to EvmCONNECTION_POST, responseMode set to EvmRESPONSE_WAIT, and transport, callback,and callbackArg are all set to NULL.

The EvmConnCreateSubscriber() routine is a macro that establishes a subscribing connection to the local daemon. Using this macro is equivalent to calling EvmConnCreate() with type set to EvmCONNECTION_LISTEN, responseMode set to EvmRESPONSE_CALLBACK, and transport set to NULL.

The EvmConnFdGet() routine returns the file number associated with the connection. This file number can be used by a client application, which handles multiple I/O sources, for use in a call to select() to determine when there is activity on the connection. The program must call EvmConnDispatch() to handle the activity. It must not close the file descriptor, nor perform any direct I/O on it.

The EvmConnDestroy() routine destroys the connection and frees any resources associated with it. This routine must be called to destroy the connection.

RETURN VALUE

EvmERROR_NONE

The operation completed without error.

EvmERROR_INVALID_ARGUMENT

One of the arguments to the function is 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_CONNECT

An error occurred while attempting to connect to the EVM daemon.

EvmERROR_SELECT

An error occurred on the EVM connection. Invoke EvmConnDestroy() to destroy the connection.

EvmERROR_SIGNAL

The current operation was interrupted by receipt of a signal.

ERRORS

The value of errno is not set.

FILES

/var/evm/sockets/evmd

Default pathname for the domain socket.

SEE ALSO

Routines

EvmConnControl(3), EvmConnDispatch(3), EvmConnWait(3).

Event Management

EVM(5).

Event Callback

EvmCallback(5).

Event Connection

EvmConnection(5).

EVM Events

EvmEvent(5).

EVM Programmer's Guide.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.