TTDT_FILE_REQUEST(3)

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

ttdt_file_request β€” library call, bestie ✨

πŸŽ€ NAME πŸŽ€

ttdt_file_request β€” create and send a standard ToolTalk request about a file. That’s the whole vibe: file request, ToolTalk, standard, no cap πŸ’…

🌸 SYNOPSIS 🌸

#include &<Tt/tttk.h>
Tt_message ttdt_file_request(
Tt_message context,
Tttk_op op,
Tt_scope scope,
const char *pathname,
Ttdt_file_cb cb,
void *client_data,
int send_and_destroy);

πŸ’– DESCRIPTION πŸ’–

okay so ttdt_file_request is your go-to for creating (and optionally sending) any of the standard Desktop file requests β€” you know the icons: Get_Modified, Save, and Revert.

The way it works: ttdt_file_request creates a request with the specified op and scope, and sets its file attribute to pathname. Then it adds an unset argument of Tt_mode TT_IN and vtype File to the request, per the Desktop messaging conventions. If op is TTDT_GET_MODIFIED, ttdt_file_request also adds an unset TT_OUT argument of vtype Boolean to the request. It installs cb as a message callback for the created request, and ensures that client_data will be passed into the callback. (The Ttdt_file_cb callback is described under ttdt_file_join(3).) If send is True, ttdt_file_request sends the request before returning the handle to it; otherwise, it only creates the request.

The context argument describes the environment to use. If context is not zero, messages created by ttdt_file_request inherit from context all contexts whose slotname begins with the characters ENV_.

πŸ”₯ RETURN VALUE πŸ”₯

Upon successful completion, the ttdt_file_request function returns the created Tt_message; otherwise, it returns an error pointer. The application can use tt_ptr_error(3) to extract one of the following Tt_status values from the returned handle:

  • TT_ERR_DBAVAIL β€” The ToolTalk service could not access the ToolTalk database needed for this operation.
  • TT_ERR_DBEXIST β€” The ToolTalk service could not access the specified ToolTalk database in the expected place.
  • TT_ERR_NOMEM β€” There is insufficient memory available to perform the function.
  • TT_ERR_NOMP β€” The ttsession(1) process is not running and the ToolTalk service cannot restart it.
  • TT_ERR_OVERFLOW β€” The ToolTalk service has more active messages than it can handle. (The maximum number of active messages is implementation specific, but is at least 2000.)
  • TT_ERR_POINTER β€” The pathname argument was NULL or was a ToolTalk error pointer.
  • TT_ERR_PROCID β€” The specified process identifier is out of date or invalid.

πŸ¦‹ APPLICATION USAGE πŸ¦‹

The ttdt_file_request function is a lower-level interface than ttdt_Get_Modified, ttdt_Save, and ttdt_Revert, since the latter functions create and send the request and then block on its reply. So like, those besties handle the waiting-for-reply part for you; this one is the more manual route, iykyk 🫢

🌈 SEE ALSO 🌈


Source/version sign-off: ttdt_file_request(library call) πŸ’–. Date check: the original footer didn’t include a date, so I’m not inventing one β€” periodt, bestie 🫢✨

πŸ“¦ where this page comes from