1/* Copyright (C) 1993, 1996, 1997, 1998, 1999 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, write to the Free 16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 17 02111-1307 USA. */ 18 19#ifndef _UTMP_H 20#define _UTMP_H 1 21 22#include <features.h> 23 24#include <sys/types.h> 25 26 27__BEGIN_DECLS 28 29/* Get system dependent values and data structures. */ 30#include <bits/utmp.h> 31 32/* Compatibility names for the strings of the canonical file names. */ 33#define UTMP_FILE _PATH_UTMP 34#define UTMP_FILENAME _PATH_UTMP 35#define WTMP_FILE _PATH_WTMP 36#define WTMP_FILENAME _PATH_WTMP 37 38 39 40#ifdef __UCLIBC_HAS_LIBUTIL__ 41/* Make FD be the controlling terminal, stdin, stdout, and stderr; 42 then close FD. Returns 0 on success, nonzero on error. */ 43extern int login_tty (int __fd) __THROW; 44 45 46/* Write the given entry into utmp and wtmp. */ 47extern void login (__const struct utmp *__entry) __THROW; 48 49/* Write the utmp entry to say the user on UT_LINE has logged out. */ 50extern int logout (__const char *__ut_line) __THROW; 51 52/* Append to wtmp an entry for the current time and the given info. */ 53extern void logwtmp (__const char *__ut_line, __const char *__ut_name, 54 __const char *__ut_host) __THROW; 55#endif 56 57/* Append entry UTMP to the wtmp-like file WTMP_FILE. */ 58extern void updwtmp (__const char *__wtmp_file, __const struct utmp *__utmp) 59 __THROW; 60 61/* Change name of the utmp file to be examined. */ 62extern int utmpname (__const char *__file) __THROW; 63 64/* Read next entry from a utmp-like file. */ 65extern struct utmp *getutent (void) __THROW; 66 67/* Reset the input stream to the beginning of the file. */ 68extern void setutent (void) __THROW; 69 70/* Close the current open file. */ 71extern void endutent (void) __THROW; 72 73/* Search forward from the current point in the utmp file until the 74 next entry with a ut_type matching ID->ut_type. */ 75extern struct utmp *getutid (__const struct utmp *__id) __THROW; 76 77/* Search forward from the current point in the utmp file until the 78 next entry with a ut_line matching LINE->ut_line. */ 79extern struct utmp *getutline (__const struct utmp *__line) __THROW; 80 81/* Write out entry pointed to by UTMP_PTR into the utmp file. */ 82extern struct utmp *pututline (__const struct utmp *__utmp_ptr) __THROW; 83 84 85#if 0 /* def __USE_MISC */ 86/* Reentrant versions of the file for handling utmp files. */ 87extern int getutent_r (struct utmp *__buffer, struct utmp **__result) __THROW; 88 89extern int getutid_r (__const struct utmp *__id, struct utmp *__buffer, 90 struct utmp **__result) __THROW; 91 92extern int getutline_r (__const struct utmp *__line, 93 struct utmp *__buffer, struct utmp **__result) __THROW; 94 95#endif /* Use misc. */ 96 97__END_DECLS 98 99#endif /* utmp.h */ 100