 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
tt_message_callback_add(3)
CDE
NAME
tt_message_callback_add - register a callback function
SYNOPSIS
#include <Tt/tt_c.h>
Tt_status tt_message_callback_add(Tt_message m,
Tt_message_callback f);
DESCRIPTION
The tt_message_callback_add function registers a callback function to be
automatically invoked by tt_message_receive3 whenever a reply or other
state-change to this message is returned.
The callback is defined in Tt/tt_c.h5. If the callback returns
TT_CALLBACK_CONTINUE, other callbacks will be run; if no callback returns
TT_CALLBACK_PROCESSED, tt_message_receive returns the message. If the
callback returns TT_CALLBACK_PROCESSED, no further callbacks are invoked
for this event; tt_message_receive does not return the message.
The m argument is the opaque handle for the message involved in this
operation. The f argument is the message callback to be run.
The pattern handle will be NULL if the message did not match a dynamic
pattern. This is usually the case for message callbacks.
RETURN VALUE
Upon successful completion, the tt_message_callback_add function returns
the status of the operation as one of the following Tt_status values: The
operation completed successfully.
The ttsession1 process is not running and the ToolTalk service cannot
restart it.
The pointer passed does not point to an object of the correct type for this
operation.
APPLICATION USAGE
These callbacks are invoked from tt_message_receive; the program must,
therefore, call tt_message_receive when the file descriptor returned by
tt_fd becomes active.
The application can use tt_message_callback_add to create wrappers for
ToolTalk messages. For example, a library routine can construct a request,
attach a callback to the message, send the message, and process the reply
in the callback. When the callback returns TT_CALLBACK_PROCESSED, the
message reply is not returned to the main program; the message and reply
are, therefore, completely hidden.
SEE ALSO
Tt/tt_c.h5, tt_message_receive3.