glibc (2.38)

(root)/
include/
utmp.h
       1  /* Copyright (C) 1993-2023 Free Software Foundation, Inc.
       2     This file is part of the GNU C Library.
       3  
       4     The GNU C Library is free software; you can redistribute it and/or
       5     modify it under the terms of the GNU Lesser General Public
       6     License as published by the Free Software Foundation; either
       7     version 2.1 of the License, or (at your option) any later version.
       8  
       9     The GNU C Library is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12     Lesser General Public License for more details.
      13  
      14     You should have received a copy of the GNU Lesser General Public
      15     License along with the GNU C Library; if not, see
      16     <https://www.gnu.org/licenses/>.  */
      17  
      18  #ifndef	_UTMP_H
      19  #define	_UTMP_H	1
      20  
      21  #include <features.h>
      22  
      23  #include <sys/types.h>
      24  
      25  
      26  __BEGIN_DECLS
      27  
      28  /* Get system dependent values and data structures.  */
      29  #include <bits/utmp.h>
      30  
      31  /* Compatibility names for the strings of the canonical file names.  */
      32  #define UTMP_FILE	_PATH_UTMP
      33  #define UTMP_FILENAME	_PATH_UTMP
      34  #define WTMP_FILE	_PATH_WTMP
      35  #define WTMP_FILENAME	_PATH_WTMP
      36  
      37  
      38  
      39  /* Make FD be the controlling terminal, stdin, stdout, and stderr;
      40     then close FD.  Returns 0 on success, nonzero on error.  */
      41  extern int login_tty (int __fd) __THROW;
      42  
      43  
      44  /* Write the given entry into utmp and wtmp.  */
      45  extern void login (const struct utmp *__entry) __THROW;
      46  
      47  /* Write the utmp entry to say the user on UT_LINE has logged out.  */
      48  extern int logout (const char *__ut_line) __THROW;
      49  
      50  /* Append to wtmp an entry for the current time and the given info.  */
      51  extern void logwtmp (const char *__ut_line, const char *__ut_name,
      52  		     const char *__ut_host) __THROW;
      53  
      54  /* Append entry UTMP to the wtmp-like file WTMP_FILE.  */
      55  extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp)
      56       __THROW;
      57  
      58  /* Change name of the utmp file to be examined.  */
      59  extern int utmpname (const char *__file) __THROW;
      60  
      61  /* Read next entry from a utmp-like file.  */
      62  extern struct utmp *getutent (void) __THROW;
      63  
      64  /* Reset the input stream to the beginning of the file.  */
      65  extern void setutent (void) __THROW;
      66  
      67  /* Close the current open file.  */
      68  extern void endutent (void) __THROW;
      69  
      70  /* Search forward from the current point in the utmp file until the
      71     next entry with a ut_type matching ID->ut_type.  */
      72  extern struct utmp *getutid (const struct utmp *__id) __THROW;
      73  
      74  /* Search forward from the current point in the utmp file until the
      75     next entry with a ut_line matching LINE->ut_line.  */
      76  extern struct utmp *getutline (const struct utmp *__line) __THROW;
      77  
      78  /* Write out entry pointed to by UTMP_PTR into the utmp file.  */
      79  extern struct utmp *pututline (const struct utmp *__utmp_ptr) __THROW;
      80  
      81  
      82  #ifdef	__USE_MISC
      83  /* Reentrant versions of the file for handling utmp files.  */
      84  extern int getutent_r (struct utmp *__buffer, struct utmp **__result) __THROW;
      85  
      86  extern int getutid_r (const struct utmp *__id, struct utmp *__buffer,
      87  		      struct utmp **__result) __THROW;
      88  
      89  extern int getutline_r (const struct utmp *__line,
      90  			struct utmp *__buffer, struct utmp **__result) __THROW;
      91  
      92  #endif	/* Use misc.  */
      93  
      94  __END_DECLS
      95  
      96  #endif /* utmp.h  */