(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