(libc.info.gz) XPG Functions
Info Catalog
(libc.info.gz) Manipulating the Database
(libc.info.gz) User Accounting Database
(libc.info.gz) Logging In and Out
29.12.2 XPG User Accounting Database Functions
----------------------------------------------
These functions, described in the X/Open Portability Guide, are declared
in the header file `utmpx.h'.
-- Data Type: struct utmpx
The `utmpx' data structure contains at least the following members:
`short int ut_type'
Specifies the type of login; one of `EMPTY', `RUN_LVL',
`BOOT_TIME', `OLD_TIME', `NEW_TIME', `INIT_PROCESS',
`LOGIN_PROCESS', `USER_PROCESS' or `DEAD_PROCESS'.
`pid_t ut_pid'
The process ID number of the login process.
`char ut_line[]'
The device name of the tty (without `/dev/').
`char ut_id[]'
The inittab ID of the process.
`char ut_user[]'
The user's login name.
`struct timeval ut_tv'
Time the entry was made. For entries of type `OLD_TIME' this
is the time when the system clock changed, and for entries of
type `NEW_TIME' this is the time the system clock was set to.
On the GNU system, `struct utmpx' is identical to `struct utmp'
except for the fact that including `utmpx.h' does not make visible
the declaration of `struct exit_status'.
The following macros are defined for use as values for the `ut_type'
member of the `utmpx' structure. The values are integer constants and
are, on the GNU system, identical to the definitions in `utmp.h'.
`EMPTY'
This macro is used to indicate that the entry contains no valid
user accounting information.
`RUN_LVL'
This macro is used to identify the systems runlevel.
`BOOT_TIME'
This macro is used to identify the time of system boot.
`OLD_TIME'
This macro is used to identify the time when the system clock
changed.
`NEW_TIME'
This macro is used to identify the time after the system changed.
`INIT_PROCESS'
This macro is used to identify a process spawned by the init
process.
`LOGIN_PROCESS'
This macro is used to identify the session leader of a logged in
user.
`USER_PROCESS'
This macro is used to identify a user process.
`DEAD_PROCESS'
This macro is used to identify a terminated process.
The size of the `ut_line', `ut_id' and `ut_user' arrays can be found
using the `sizeof' operator.
-- Function: void setutxent (void)
This function is similar to `setutent'. On the GNU system it is
simply an alias for `setutent'.
-- Function: struct utmpx * getutxent (void)
The `getutxent' function is similar to `getutent', but returns a
pointer to a `struct utmpx' instead of `struct utmp'. On the GNU
system it simply is an alias for `getutent'.
-- Function: void endutxent (void)
This function is similar to `endutent'. On the GNU system it is
simply an alias for `endutent'.
-- Function: struct utmpx * getutxid (const struct utmpx *ID)
This function is similar to `getutid', but uses `struct utmpx'
instead of `struct utmp'. On the GNU system it is simply an alias
for `getutid'.
-- Function: struct utmpx * getutxline (const struct utmpx *LINE)
This function is similar to `getutid', but uses `struct utmpx'
instead of `struct utmp'. On the GNU system it is simply an alias
for `getutline'.
-- Function: struct utmpx * pututxline (const struct utmpx *UTMP)
The `pututxline' function is functionally identical to
`pututline', but uses `struct utmpx' instead of `struct utmp'. On
the GNU system, `pututxline' is simply an alias for `pututline'.
-- Function: int utmpxname (const char *FILE)
The `utmpxname' function is functionally identical to `utmpname'.
On the GNU system, `utmpxname' is simply an alias for `utmpname'.
You can translate between a traditional `struct utmp' and an XPG
`struct utmpx' with the following functions. On the GNU system, these
functions are merely copies, since the two structures are identical.
-- Function: int getutmp (const struct utmpx *utmpx, struct utmp *utmp)
`getutmp' copies the information, insofar as the structures are
compatible, from UTMPX to UTMP.
-- Function: int getutmpx (const struct utmp *utmp, struct utmpx
*utmpx)
`getutmpx' copies the information, insofar as the structures are
compatible, from UTMP to UTMPX.
Info Catalog
(libc.info.gz) Manipulating the Database
(libc.info.gz) User Accounting Database
(libc.info.gz) Logging In and Out
automatically generated by
info2html