| GETLASTLOGX(3) | Library Functions Manual | GETLASTLOGX(3) |
getlastlogx,
getutmp, getutmpx,
updlastlogx, updwtmpx,
utmpxname — user accounting
database functions
Standard C Library (libc, -lc)
#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);
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 */
};
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.
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.
The functions getutmp(),
getutmpx(), updwtmpx(), and
utmpxname() first appeared in Solaris.
getlastlogx and updlastlogx
first appeared in NetBSD 2.0.
| August 26, 2003 | NetBSD 11.0 |