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

EvmConnSubscribe(3)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

EvmConnSubscribe(), EvmConnRegistrationGet(), EvmConnTemplateScan() — establish a subscription for event notification

SYNOPSIS

#include <evm/evm.h> EvmStatus_t EvmConnRegistrationGet( EvmConnection_t connection, const EvmString_t event_class, EvmPointer_t user_arg ); EvmStatus_t EvmConnSubscribe( EvmConnection_t connection, void *unused, EvmString_t filter_string ); EvmStatus_t EvmConnTemplateScan( EvmConnection_t connection, const EvmString_t filter_string, EvmPointer_t user_arg );

Library

EVM Support Library (libevm.so).

Parameters

connection

The EVM connection established to listen for events. See the EvmConnCreate(3) manpage.

unused

This parameter must be specified as NULL.

filter_string

A string specifying the events of interest. For a formal description of the syntax of the filter_string. See the EvmFilter(5) manpage.

event_class

An event name string having at least one component of the event name. An event class cannot contain wildcard characters. For example, in the EVM event name of sys.unix.colad, sys, unix, and colad are components of the event name.

user_arg

The value supplied in this parameter is returned in the callback function's extended callback structure. The value can be used by the calling code to match the callback with the originating request.

DESCRIPTION

To receive notification of events as they happen, a program must establish a listening connection to the EVM daemon, using the EvmConnCreate() routine. The program must then call EvmConnSubscribe() to associate a filter with the connection. Whenever the daemon receives an event matching the filter, it delivers the event to the subscriber. The subscriber must handle incoming events using the API routines described in the EvmConnWait(3) manpage.

The EvmConnSubscribe() routine passes the supplied filter_string to the EVM daemon to select a set of events for subscription. The routine returns immediately if preliminary validation fails. Otherwise, the routine passes the request to the daemon. The daemon's response is returned through the connection's callback function, with a reason code of EvmREASON_SUBSCRIBE_COMPLETE. The caller must watch for the response using EvmConnWait() or a related function, and then invoke EvmConnDispatch() to handle it.

The EvmConnRegistrationGet() routine asks the daemon to return the event template corresponding to the supplied event_class, if the event is registered. The daemon responds by returning the event template, in the form of an EVM event, through the connection's callback function, with a reason code of EvmREASON_TEMPLATE_INFO_DELIVERED.

If the event class is registered, the event field in the extended callback data structure holds an event corresponding to the template. The caller must handle it as if it were an incoming event.

If the event class is not registered, the callback status code is set to EvmERROR_NOT_PRESENT, and the event handle in the structure is set to NULL.

The EvmConnTemplateScan() routine asks the daemon to return a series of event templates that match the supplied filter_string. The daemon responds by returning event templates, in the form of EVM events, through the connection's callback function, with a reason code of EvmREASON_TEMPLATE_INFO_DELIVERED.

The first time the function is called, a single event template is returned, if one is available. On subsequent calls that have the filter_string parameter set to NULL, the next matching template is returned. The next matching template continues to be returned until all templates that match the original filter_string have been returned.

If it is necessary to match individual callback responses with their original requests, the caller must supply a different user_arg for each request in the cycle. The caller must also verify that each incoming template relates to the expected request.

Notes

The daemon does not return templates for which the user does not have access authorization.

To avoid missing incoming templates, do not issue a stream of EvmConnRegistrationGet() or EvmConnTemplateScan() requests before taking any callbacks. Work in a request/callback/request cycle.

RETURN VALUE

EvmERROR_NONE

The operation 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_NOT_PRESENT

For the EvmConnRegistrationGet() routine, the requested event template is not registered.

For the EvmConnTemplateScan() routine, there is no match for the specified filter_string, or the template list is exhausted.

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.

ERRORS

The value of errno is not set.

SEE ALSO

Routines

EvmConnCreate(3), EvmConnDestroy(3), EvmConnWait(3), EvmStatusTextGet(3).

Event Management

EVM(5).

Event Callback

EvmCallback(5).

Event Connection

EvmConnection(5).

Event Filter

EvmFilter(5).

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