unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



EvmCallback(5)						       EvmCallback(5)



NAME

  EvmCallback -	Event Management callback function

SYNOPSIS

  void EventCB(
	  EvmConnection_t connection,
	  EvmCallbackArg_t callbackArg,
	  EvmCallbackData_t *callbackData)

DESCRIPTION

  An EVM callback function is a	function that you provide to allow your	pro-
  gram to handle messages arriving on an EVM connection.  Most messages	will
  be incoming events or	responses to requests you have made to the EVM dae-
  mon, but you may also	get a callback for other reasons.

  You specify the name (EventCB) of the	callback function in the callback
  parameter when you create an EVM connection with a response mode of call-
  back.

  Your callback	function is invoked by EvmConnDispatch(), which	you must call
  whenever you detect activity pending on the connection.

  An EVM callback function must	conform	to the prototype shown.

  Callback function parameters:


    +  The connection parameter	contains the connection	context	pertaining to
       this callback.  This value was returned by EvmConnCreate() when the
       connection was created. If you have one callback	function servicing
       multiple	connections, you might test this to determine which connec-
       tion a particular invocation is handling.

    +  The callbackArg parameter contains the value you	specified as the
       callbackArg parameter to	EvmConnCreate()	when you created the connec-
       tion. For example, you might use	it to hold a pointer to	your own con-
       text data for the connection.

    +  The callbackData	parameter points to a structure	containing the
       details of the callback.	 The structure includes	a callback reason
       code, an	event, and a union containing data specific to each possible
       reason.	The event member may contain NULL if it	is not applicable to
       the reason.  You	may get	these reasons:

       EvmREASON_EVENTS_MISSED
	   This	callback reason	indicates that the daemon was unable to
	   deliver one or more events, probably	because	the client process
	   had not finished processing earlier events, causing the connection
	   buffer to overflow.	If necessary, you can use EvmConnControl(3)
	   to increase the size	of the receive buffer.

       EvmREASON_EVENT_DELIVERED
	   This	callback reason	indicates that an EVM event has	been received
	   from	the daemon. The	event is available in the callbackData struc-
	   ture.  You must use EvmEventDestroy(3) to free the event when you
	   have	finished with it.

       EvmREASON_POST_COMPLETE
	   This	callback reason	indicates that a prior EvmEventPost() call
	   has completed, usually with a response from the daemon if the
	   responseMode	was specified as EvmRESPONSE_CALLBACK when the con-
	   nection was created.	The posting status is available	in the call-
	   backData structure.

       EvmREASON_REGISTRATION_DELIVERED
	   This	callback reason	indicates that a requested template has	been
	   delivered in	response to an EvmConnRegistrationGet()	request. You
	   must	use EvmEventDestroy(3) to free the template when you have
	   finished with it.

       EvmREASON_SUBSCRIBE_COMPLETE
	   This	callback reason	indicates that a prior EvmEventSubscribe()
	   call	has completed, usually with a response from the	daemon.

       EvmREASON_TEMPLATE_INFO_DELIVERED
	   This	callback reason	indicates that event template information has
	   been	delivered in response to an EvmConnTemplateScan() request.
	   The template	is available in	the callbackData structure. You	must
	   use EvmEventDestroy(3) to free the template when you	have finished
	   with	it.

  See the Common Desktop Environment: Programmer's Guide for examples of
  callback functions.

FILES

  /usr/include/evm/evm.h
      Header file that contains	the event declaration, structures, and proto-
      type for the callback function

SEE ALSO

  Routines: EvmConnCreate(3), EvmConnCheck(3), EvmConnSubscribe(3),
  EvmEventPost(3)

  Event	Management: EVM(5)

  Event	Connection: EvmConnection(5)

  EVM Events: EvmEvent(5)

  Programmer's Guide