| 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 |