1 /* The `struct utmp' type, describing entries in the utmp file. GNU version. 2 Copyright (C) 1993-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #ifndef _UTMPX32_H 20 #define _UTMPX32_H 1 21 22 #include <paths.h> 23 #include <sys/time.h> 24 #include <sys/types.h> 25 #include <bits/wordsize.h> 26 #include <utmpx.h> 27 28 /* The structure describing an entry in the user accounting database. */ 29 struct utmpx32 30 { 31 short int ut_type; /* Type of login. */ 32 __pid_t ut_pid; /* Process ID of login process. */ 33 char ut_line[__UT_LINESIZE]; /* Devicename. */ 34 char ut_id[4]; /* Inittab ID. */ 35 char ut_user[__UT_NAMESIZE]; /* Username. */ 36 char ut_host[__UT_HOSTSIZE]; /* Hostname for remote login. */ 37 struct __exit_status ut_exit; /* Exit status of a process marked 38 as DEAD_PROCESS. */ 39 __int64_t ut_session; /* Session ID, used for windowing. */ 40 struct 41 { 42 __int64_t tv_sec; /* Seconds. */ 43 __int64_t tv_usec; /* Microseconds. */ 44 } ut_tv; /* Time entry was made. */ 45 46 __int32_t ut_addr_v6[4]; /* Internet address of remote host. */ 47 char __glibc_reserved[20]; /* Reserved for future use. */ 48 }; 49 50 /* The internal interface needed by the compat wrapper functions. */ 51 extern struct utmpx *__getutxent (void); 52 extern struct utmpx *__getutxid (const struct utmpx *__id); 53 extern struct utmpx *__getutxline (const struct utmpx *__line); 54 extern struct utmpx *__pututxline (const struct utmpx *__utmpx); 55 extern void __updwtmpx (const char *__wtmpx_file, const struct utmpx *__utmpx); 56 extern void __getutmp (const struct utmpx *__utmpx, struct utmp *__utmp); 57 extern void __getutmpx (const struct utmp *__utmp, struct utmpx *__utmpx); 58 59 #endif /* utmpx32.h */ 60