UTEMPTER_ADD_RECORD(3UTEMPTER) UTEMPTER Library Functions UTEMPTER_ADD_RECORD(3UTEMPTER)

utempter_add_record, utempter_remove_added_record, utempter_remove_record, addToUtmp, removeFromUtmp, removeLineFromUtmputempter compatibility interface

UTEMPTER Library (libutempter, -lutempter)

#include <utempter.h>

int
utempter_add_record(int fd, const char *host);

int
utempter_remove_added_record(void);

int
utempter_remove_record(int fd);

void
addToUtmp(const char *pty, const char *host, int fd);

void
removeFromUtmp(void);

void
removeLineFromUtmp(const char *pty, int fd);

These functions provide an interface for terminal emulators such as tmux, screen, and xterm to record user sessions to utmpx(5) database. Note that they are best effort and may not succeed. If consumers need to know for certain that they have successfully updated the utmpx(5) database, these functions should not be used because they cannot communicate that for compatibility reasons.

The () and addToUtmp() functions add a login record to the utmpx(5) database for the TTY belonging to the pseudo-terminal manager file descriptor fd, using the username corresponding with the real user ID of the calling process and the optional hostname host, limited to 256 characters, that is the size of ut_host member of struct utmpx minus terminating NUL character.

The () and () functions mark the login session as being closed for the TTY belonging to the pseudo-terminal manager file descriptor fd.

The () and () functions have the same properties as the previously mentioned functions, except that they use an internally cached value of the file descriptor passed to utempter_add_record() and addToUtmp().

In this implementation, the pty arguments of () and () are ignored, and database entries are driven entirely by the fd argument.

The utempter_add_record(), utempter_remove_added_record() and utempter_remove_record() functions always return a value of 0.

utempter_add_record(), utempter_remove_added_record(), and utempter_remove_record() are . addToUtmp(), removeFromUtmp(), and removeLineFromUtmp() are .

pututxline(3c), utmpx(3head), utmpx(5)

February 5, 2022 OmniOS