Copyright (C) 2000-2012 |
GNU Info (libc.info)XPG FunctionsXPG 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. automatically generated by info2www version 1.2.2.9 |