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
)
)
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:
All the fields should be filled out by the caller.
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
.
)
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.
),
getutmpx(
),
updwtmpx(
),
and
utmpxname(
)
first appeared in
Solaris.
getlastlogx
and
updlastlogx
first appeared in
NetBSD2.0.