UTEMPTER_ADD_RECORD(3UTEMPTER) | UTEMPTER Library Functions | UTEMPTER_ADD_RECORD(3UTEMPTER) |
utempter_add_record
,
utempter_remove_added_record
,
utempter_remove_record
,
addToUtmp
, removeFromUtmp
,
removeLineFromUtmp
—
utempter 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
utempter_add_record
()
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
utempter_remove_record
()
and
removeLineFromUtmp
()
functions mark the login session as being closed for the TTY belonging to
the pseudo-terminal manager file descriptor fd.
The
utempter_remove_added_record
()
and
removeFromUtmp
()
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
addToUtmp
()
and
removeLineFromUtmp
()
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
Committed.
addToUtmp
(),
removeFromUtmp
(), and
removeLineFromUtmp
() are
Obsolete
Committed.
February 5, 2022 | OmniOS |