EvmCallback - Event Management callback function
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-
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:
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.
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.
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-
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.
This callback reason indicates that a prior EvmEventSubscribe()
call has completed, usually with a response from the daemon.
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
See the Common Desktop Environment: Programmer's Guide for examples of
Header file that contains the event declaration, structures, and proto-
type for the callback function
Routines: EvmConnCreate(3), EvmConnCheck(3), EvmConnSubscribe(3),
Event Management: EVM(5)
Event Connection: EvmConnection(5)
EVM Events: EvmEvent(5)