TT_MESSAGE_CALLBACK_ADD(3)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

✨ NAME ✨

okay so this is the tt_message_callback_add page from the library call manual, bestie β€” and it does exactly what it says: 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_receive(3) whenever a reply or other state-change to this message is returned. ✨

The callback is defined in Tt/tt_c.h - Tttt_c(5). 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:

  • TT_OK β€” The operation completed successfully.
  • TT_ERR_NOMP β€” The ttsession(1) process is not running and the ToolTalk service cannot restart it.
  • TT_ERR_POINTER β€” 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 πŸ‘€

Go peek at Tt/tt_c.h - Tttt_c(5), tt_message_receive(3). πŸ’œ


Source/version: the library call manual page for tt_message_callback_add; date: literally not listed on this page, bestie πŸ«ΆπŸ’…

πŸ“¦ where this page comes from