Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


GETLASTLOGX(3)             Library Functions Manual             GETLASTLOGX(3)

NAME
     getlastlogx, getutmp, getutmpx, updlastlogx, updwtmpx, utmpxname - user
     accounting database functions

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <utmpx.h>

     struct lastlogx *
     getlastlogx(const char *fname, uid_t uid, struct lastlogx *ll);

     void
     getutmp(const struct utmpx *ux, struct utmp *u);

     void
     getutmpx(const struct utmp *u, struct utmpx *ux);

     int
     updlastlogx(const char *fname, uid_t uid, struct lastlogx *ll);

     int
     updwtmpx(const char *file, const struct utmpx *utx);

     int
     utmpxname(const char *fname);

DESCRIPTION
     The getlastlogx() function looks up the entry for the user with user id
     uid in the lastlogx(5) file given by fname and returns it in ll.  If the
     provided ll is NULL, the necessary space will be allocated by
     getlastlogx() and should be free()d by the caller.

     The getutmp() function fills out the entries in the struct utmp u with
     the data provided in the struct utmpx ux.  getutmpx() does the opposite,
     filling out the entries in the struct utmpx ux with the data provided in
     the struct utmp u, and initializing all the unknown fields to 0.  The
     sole exception is the ut_type field, which will be initialized to
     USER_PROCESS.

     The updlastlogx() function tries to update the information for the user
     with the user id uid in the lastlogx(5) file given by fname with the data
     supplied in ll.  A struct lastlogx is defined like this:

     struct lastlogx {
             struct timeval ll_tv;           /* time entry was created */
             char ll_line[_UTX_LINESIZE];    /* tty name */
             char ll_host[_UTX_HOSTSIZE];    /* host name */
             struct sockaddr_storage ll_ss;  /* address where entry was made from */
     };
     All the fields should be filled out by the caller.

     The updwtmpx() function updates the wtmpx(5) file file with the utmpx(5)
     entry utx.

     The utmpxname() function sets the default utmpx(5) database file name to
     fname.

RETURN VALUES
     getlastlogx() returns the found entry on success, or NULL if it could not
     open the database, could not find an entry matching uid in there, or
     could not allocate the necessary space (in case ll was NULL).

     utmpxname() returns 1 on success, or 0 if the supplied file name was too
     long or did not end with `x'.

     updlastlogx() and updwtmpx() return 0 on success, or -1 in case the
     database or file respectively could not be opened or the data not written
     into it.

SEE ALSO
     endutxent(3), loginx(3), utmpx(5)

HISTORY
     The functions getutmp(), getutmpx(), updwtmpx(), and utmpxname() first
     appeared in Solaris.  getlastlogx and updlastlogx first appeared in
     NetBSD 2.0.

NetBSD 10.99                    August 26, 2003                   NetBSD 10.99