glenda.party
term% ls -F
term% pwd
$home/manuals/unix_v8/5/utmp
term% cat index.txt
UTMP(5)                       File Formats Manual                      UTMP(5)



NAME
       utmp, wtmp - login records

SYNOPSIS
       #include <utmp.h>

DESCRIPTION
       The utmp file allows one to discover information about who is currently
       logged in.  The file is a sequence of entries with the following struc‐
       ture declared in the include file:

              /* Copyright (C) 1993-2023 Free Software Foundation, Inc.
                 This file is part of the GNU C Library.

                 The GNU C Library is free software; you can redistribute it and/or
                 modify it under the terms of the GNU Lesser General Public
                 License as published by the Free Software Foundation; either
                 version 2.1 of the License, or (at your option) any later version.

                 The GNU C Library is distributed in the hope that it will be useful,
                 but WITHOUT ANY WARRANTY; without even the implied warranty of
                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                 Lesser General Public License for more details.

                 You should have received a copy of the GNU Lesser General Public
                 License along with the GNU C Library; if not, see
                 <https://www.gnu.org/licenses/>.  */

              #ifndef   _UTMP_H
              #define   _UTMP_H      1

              #include <features.h>

              #include <sys/types.h>


              __BEGIN_DECLS

              /* Get system dependent values and data structures.  */
              #include <bits/utmp.h>

              /* Compatibility names for the strings of the canonical file names.  */
              #define UTMP_FILE      _PATH_UTMP
              #define UTMP_FILENAME  _PATH_UTMP
              #define WTMP_FILE      _PATH_WTMP
              #define WTMP_FILENAME  _PATH_WTMP



              /* Make FD be the controlling terminal, stdin, stdout, and stderr;
                 then close FD.  Returns 0 on success, nonzero on error.  */
              extern int login_tty (int __fd) __THROW;


              /* Write the given entry into utmp and wtmp.  */
              extern void login (const struct utmp *__entry) __THROW;

              /* Write the utmp entry to say the user on UT_LINE has logged out.  */
              extern int logout (const char *__ut_line) __THROW;

              /* Append to wtmp an entry for the current time and the given info.  */
              extern void logwtmp (const char *__ut_line, const char *__ut_name,
                             const char *__ut_host) __THROW;

              /* Append entry UTMP to the wtmp-like file WTMP_FILE.  */
              extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp)
                   __THROW;

              /* Change name of the utmp file to be examined.  */
              extern int utmpname (const char *__file) __THROW;

              /* Read next entry from a utmp-like file.  */
              extern struct utmp *getutent (void) __THROW;

              /* Reset the input stream to the beginning of the file.  */
              extern void setutent (void) __THROW;

              /* Close the current open file.  */
              extern void endutent (void) __THROW;

              /* Search forward from the current point in the utmp file until the
                 next entry with a ut_type matching ID->ut_type.  */
              extern struct utmp *getutid (const struct utmp *__id) __THROW;

              /* Search forward from the current point in the utmp file until the
                 next entry with a ut_line matching LINE->ut_line.  */
              extern struct utmp *getutline (const struct utmp *__line) __THROW;

              /* Write out entry pointed to by UTMP_PTR into the utmp file.  */
              extern struct utmp *pututline (const struct utmp *__utmp_ptr) __THROW;


              #ifdef    __USE_MISC
              /* Reentrant versions of the file for handling utmp files.  */
              extern int getutent_r (struct utmp *__buffer, struct utmp **__result) __THROW;

              extern int getutid_r (const struct utmp *__id, struct utmp *__buffer,
                              struct utmp **__result) __THROW;

              extern int getutline_r (const struct utmp *__line,
                                     struct utmp *__buffer, struct utmp **__result) __THROW;

              #endif    /* Use misc.  */

              __END_DECLS

              #endif /* utmp.h  */

       This  structure  gives the name of the special file associated with the
       user's terminal, the user's login name, and the time of  the  login  in
       the form of time(2).

       The  wtmp  file  records all logins and logouts.  Its format is exactly
       like utmp except that a null user name indicates a logout on the  asso‐
       ciated terminal.  Furthermore, the terminal name `~' indicates that the
       system was rebooted at the indicated time; the adjacent pair of entries
       with  terminal  names  `|'  and `}' indicate the system-maintained time
       just before and just after a date command has changed the system's idea
       of the time.

       Wtmp  is maintained by login(8) and init(8).  Neither of these programs
       creates the file, so if it is removed record-keeping is turned off.  It
       is summarized by ac(8).

FILES
       /etc/utmp
       /usr/adm/wtmp

SEE ALSO
       login(8), init(8), who(1), ac(8)



                                                                       UTMP(5)