TT_MESSAGE_BARG_ADD(3)

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

🌸 NAME 🌸

tt_message_barg_add β€” add an argument to a pattern.

Okay bestie, this is the library call page for tt_message_barg_add(3), and she is here to add an argument to a pattern. We're keeping every detail, no cap πŸ’….

✨ SYNOPSIS ✨

#include &<Tt/tt_c.h>
Tt_status tt_message_barg_add(
Tt_message m,
Tt_mode n,
const char *vtype,
const unsigned char *value,
int len);

πŸ’– DESCRIPTION πŸ’–

The tt_message_barg_add function adds an argument to a pattern that may have a byte-array value that contains embedded nulls. Embedded nulls? Yes. It's giving "built for the messy bytes" 🫢.

To change existing argument values, the application must use only modes TT_OUT or TT_INOUT.

⚠️ Adding arguments when replying to a message produces undefined results. That's undefined, bestie β€” not a cute little quirk, not a secret feature, just undefined.

The m argument is the opaque handle for the message involved in this operation.

The n argument specifies who (sender, handler, observers) writes and reads a message argument. The following modes are defined:

  • TT_IN β€” The argument is written by the sender and read by the handler and any observers.
  • TT_OUT β€” The argument is written by the handler and read by the sender and any reply observers.
  • TT_INOUT β€” The argument is written by the sender and the handler and read by all.

The vtype argument describes the type of argument data being added.

The ToolTalk service treats the value as an opaque byte string. To pass structured data, the application and the receiving application must encode and decode these opaque byte strings. The most common method to do this is XDR. That's the whole encode/decode situation β€” no skipping it ✨.

The value argument is the value to be added. The len argument is the length of the value in bytes.

πŸŽ€ RETURN VALUE πŸŽ€

Upon successful completion, the tt_message_barg_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.

πŸ¦‹ SEE ALSO πŸ¦‹


Cute sign-off time πŸ’–: the page footer/source line is tt_message_barg_add(library call), so the source/version stamp is library call, and the date is not printed on the page (not me inventing one, bestie πŸ’…). Periodt.

πŸ“¦ where this page comes from