Subject: Re: bin/15695: who truncates IPv6 addresses
To: matthew green <mrg@eterna.com.au>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: netbsd-bugs
Date: 02/22/2002 15:00:34
matthew green <mrg@eterna.com.au> writes:

> FWIW, the debian-bsd folks have a "utmpx" implementation that we
> might be able to use, if people feel the need for utmpx.  i believe
> the utmpx *interfaces* are defined in the single unix spec now?

Interfaces, including part of the utmpx structure. See, for example,
http://www.opengroup.org/onlinepubs/007904975/toc.htm:

"The <utmpx.h> header shall define the utmpx structure that shall
include at least the following members:

     char            ut_user[]  User login name. 
     char            ut_id[]    Unspecified initialization process identifier. 
     char            ut_line[]  Device name. 
     pid_t           ut_pid     Process ID. 
     short           ut_type    Type of entry. 
     struct timeval  ut_tv      Time entry was made. 


     The following symbolic constants shall be defined as possible
     values for the ut_type member of the utmpx structure:

     EMPTY         No valid user accounting information. 
     BOOT_TIME     Identifies time of system boot. 
     OLD_TIME      Identifies time when system clock changed. 
     NEW_TIME      Identifies time after system clock changed. 
     USER_PROCESS  Identifies a process. 
     INIT_PROCESS  Identifies a process spawned by the init process. 
     LOGIN_PROCESS Identifies the session leader of a logged-in user. 
     DEAD_PROCESS  Identifies a session leader who has exited. 

     The following shall be declared as functions and may also be
     defined as macros. Function prototypes shall be provided.

     void          endutxent(void);
     struct utmpx *getutxent(void);
     struct utmpx *getutxid(const struct utmpx *);
     struct utmpx *getutxline(const struct utmpx *);
     struct utmpx *pututxline(const struct utmpx *);
     void          setutxent(void);"


        - Nathan