Message ID | 20200729205117.2925113-1-adhemerval.zanella@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [1/5] login: Consolidate utmp and utmpx headers | expand |
On Wed, 29 Jul 2020, Adhemerval Zanella via Libc-alpha wrote: > It moves the 'struct lastlog', 'struct utmp', and 'struct utmpx' to > specific files and consolidates the s390-32 utmp.h and utmpx.h headers. > > Checked on x86_64-linux-gnu and i686-linux-gnu. I also checked with > a build for s390-linux-gnu. > --- > bits/struct_lastlog.h | 34 +++++ > bits/struct_utmp.h | 55 ++++++++ An installed header just defining a single type should be bits/types/<type>.h, not bits/<type>.h.
On 29/07/2020 18:08, Joseph Myers wrote: > On Wed, 29 Jul 2020, Adhemerval Zanella via Libc-alpha wrote: > >> It moves the 'struct lastlog', 'struct utmp', and 'struct utmpx' to >> specific files and consolidates the s390-32 utmp.h and utmpx.h headers. >> >> Checked on x86_64-linux-gnu and i686-linux-gnu. I also checked with >> a build for s390-linux-gnu. >> --- >> bits/struct_lastlog.h | 34 +++++ >> bits/struct_utmp.h | 55 ++++++++ > > An installed header just defining a single type should be > bits/types/<type>.h, not bits/<type>.h. > Ack, I fixed it on the 'login: Move gnu utmpx to default implementation' patch as well for utmpx.h header.
Hi Adhemerval, > It moves the 'struct lastlog', 'struct utmp', and 'struct utmpx' to > specific files and consolidates the s390-32 utmp.h and utmpx.h > headers. > > Checked on x86_64-linux-gnu and i686-linux-gnu. I also checked with > a build for s390-linux-gnu. > --- > bits/struct_lastlog.h | 34 +++++ > bits/struct_utmp.h | 55 ++++++++ > bits/utmp.h | 48 +------ > login/Makefile | 3 +- > sysdeps/gnu/bits/struct_utmpx.h | 55 ++++++++ > sysdeps/gnu/bits/utmpx.h | 34 +---- > .../sysv/linux/s390/bits/struct_lastlog.h | 35 +++++ > .../unix/sysv/linux/s390/bits/struct_utmp.h | 51 +++++++ > .../s390/bits/{utmpx.h => struct_utmpx.h} | 57 +------- > sysdeps/unix/sysv/linux/s390/bits/utmp.h | 127 > ------------------ 10 files changed, 238 insertions(+), 261 > deletions(-) create mode 100644 bits/struct_lastlog.h > create mode 100644 bits/struct_utmp.h > create mode 100644 sysdeps/gnu/bits/struct_utmpx.h > create mode 100644 sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h > create mode 100644 sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h > rename sysdeps/unix/sysv/linux/s390/bits/{utmpx.h => struct_utmpx.h} > (56%) delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/utmp.h > Thanks for refactoring and consolidating the code. Reviewed-by: Lukasz Majewski <lukma@denx.de> > diff --git a/bits/struct_lastlog.h b/bits/struct_lastlog.h > new file mode 100644 > index 0000000000..122a44abd0 > --- /dev/null > +++ b/bits/struct_lastlog.h > @@ -0,0 +1,34 @@ > +/* The 'struct lastlog' type. > + Copyright (C) 2020 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 > +# error "Never include <bits/struct_lastlog.h> directly; use > <utmp.h> instead." +#endif > + > +/* The structure describing an entry in the database of > + previous logins. */ > +struct lastlog > + { > +#if __WORDSIZE_TIME64_COMPAT32 > + int32_t ll_time; > +#else > + __time_t ll_time; > +#endif > + char ll_line[UT_LINESIZE]; > + char ll_host[UT_HOSTSIZE]; > + }; > diff --git a/bits/struct_utmp.h b/bits/struct_utmp.h > new file mode 100644 > index 0000000000..4b05c91515 > --- /dev/null > +++ b/bits/struct_utmp.h > @@ -0,0 +1,55 @@ > +/* The 'struct utmp' type, describing entries in the utmp file. > + Copyright (C) 2020 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 > +# error "Never include <bits/struct_utmp.h> directly; use <utmp.h> > instead." +#endif > + > +/* The structure describing an entry in the user accounting > database. */ +struct utmp > +{ > + short int ut_type; /* Type of login. */ > + pid_t ut_pid; /* Process ID of login > process. */ > + char ut_line[UT_LINESIZE] > + __attribute_nonstring__; /* Devicename. */ > + char ut_id[4] > + __attribute_nonstring__; /* Inittab ID. */ > + char ut_user[UT_NAMESIZE] > + __attribute_nonstring__; /* Username. */ > + char ut_host[UT_HOSTSIZE] > + __attribute_nonstring__; /* Hostname for remote login. */ > + struct exit_status ut_exit; /* Exit status of a process > marked > + as DEAD_PROCESS. */ > +/* The ut_session and ut_tv fields must be the same size when > compiled > + 32- and 64-bit. This allows data files and shared memory to be > + shared between 32- and 64-bit applications. */ > +#if __WORDSIZE_TIME64_COMPAT32 > + int32_t ut_session; /* Session ID, used for > windowing. */ > + struct > + { > + int32_t tv_sec; /* Seconds. */ > + int32_t tv_usec; /* Microseconds. */ > + } ut_tv; /* Time entry was made. */ > +#else > + long int ut_session; /* Session ID, used for > windowing. */ > + struct timeval ut_tv; /* Time entry was made. */ > +#endif > + > + int32_t ut_addr_v6[4]; /* Internet address of remote host. > */ > + char __glibc_reserved[20]; /* Reserved for future > use. */ +}; > diff --git a/bits/utmp.h b/bits/utmp.h > index b82d14536f..1647d0c67b 100644 > --- a/bits/utmp.h > +++ b/bits/utmp.h > @@ -31,18 +31,7 @@ > #define UT_HOSTSIZE 256 > > > -/* The structure describing an entry in the database of > - previous logins. */ > -struct lastlog > - { > -#if __WORDSIZE_TIME64_COMPAT32 > - int32_t ll_time; > -#else > - __time_t ll_time; > -#endif > - char ll_line[UT_LINESIZE]; > - char ll_host[UT_HOSTSIZE]; > - }; > +#include <bits/struct_lastlog.h> > > > /* The structure describing the status of a terminated process. This > @@ -53,40 +42,7 @@ struct exit_status > short int e_exit; /* Process exit status. */ > }; > > - > -/* The structure describing an entry in the user accounting > database. */ -struct utmp > -{ > - short int ut_type; /* Type of login. */ > - pid_t ut_pid; /* Process ID of login > process. */ > - char ut_line[UT_LINESIZE] > - __attribute_nonstring__; /* Devicename. */ > - char ut_id[4] > - __attribute_nonstring__; /* Inittab ID. */ > - char ut_user[UT_NAMESIZE] > - __attribute_nonstring__; /* Username. */ > - char ut_host[UT_HOSTSIZE] > - __attribute_nonstring__; /* Hostname for remote login. */ > - struct exit_status ut_exit; /* Exit status of a process > marked > - as DEAD_PROCESS. */ > -/* The ut_session and ut_tv fields must be the same size when > compiled > - 32- and 64-bit. This allows data files and shared memory to be > - shared between 32- and 64-bit applications. */ > -#if __WORDSIZE_TIME64_COMPAT32 > - int32_t ut_session; /* Session ID, used for > windowing. */ > - struct > - { > - int32_t tv_sec; /* Seconds. */ > - int32_t tv_usec; /* Microseconds. */ > - } ut_tv; /* Time entry was made. */ > -#else > - long int ut_session; /* Session ID, used for > windowing. */ > - struct timeval ut_tv; /* Time entry was made. */ > -#endif > - > - int32_t ut_addr_v6[4]; /* Internet address of remote host. > */ > - char __glibc_reserved[20]; /* Reserved for future > use. */ -}; > +#include <bits/struct_utmp.h> > > /* Backwards compatibility hacks. */ > #define ut_name ut_user > diff --git a/login/Makefile b/login/Makefile > index d897057bbd..58d5d4d64a 100644 > --- a/login/Makefile > +++ b/login/Makefile > @@ -23,7 +23,8 @@ subdir := login > > include ../Makeconfig > > -headers := utmp.h bits/utmp.h lastlog.h pty.h > +headers := utmp.h bits/utmp.h lastlog.h pty.h > bits/struct_lastlog.h \ > + bits/struct_utmp.h bits/struct_utmpx.h > > routines := getlogin getlogin_r setlogin getlogin_r_chk \ > getutent getutent_r getutid getutline getutid_r > getutline_r \ diff --git a/sysdeps/gnu/bits/struct_utmpx.h > b/sysdeps/gnu/bits/struct_utmpx.h new file mode 100644 > index 0000000000..8bfc786cd8 > --- /dev/null > +++ b/sysdeps/gnu/bits/struct_utmpx.h > @@ -0,0 +1,55 @@ > +/* The 'struct utmpx' type. > + Copyright (C) 2020 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 _UTMPX_H > +# error "Never include <bits/struct_utmpx.h> directly; use <utmpx.h> > instead." +#endif > + > +/* The structure describing an entry in the user accounting > database. */ +struct utmpx > +{ > + short int ut_type; /* Type of login. */ > + __pid_t ut_pid; /* Process ID of login process. */ > + char ut_line[__UT_LINESIZE] > + __attribute_nonstring__; /* Devicename. */ > + char ut_id[4] > + __attribute_nonstring__; /* Inittab ID. */ > + char ut_user[__UT_NAMESIZE] > + __attribute_nonstring__; /* Username. */ > + char ut_host[__UT_HOSTSIZE] > + __attribute_nonstring__; /* Hostname for remote login. */ > + struct __exit_status ut_exit; /* Exit status of a process > marked > + as DEAD_PROCESS. */ > + > +/* The fields ut_session and ut_tv must be the same size when > compiled > + 32- and 64-bit. This allows files and shared memory to be shared > + between 32- and 64-bit applications. */ > +#if __WORDSIZE_TIME64_COMPAT32 > + __int32_t ut_session; /* Session ID, used for > windowing. */ > + struct > + { > + __int32_t tv_sec; /* Seconds. */ > + __int32_t tv_usec; /* Microseconds. */ > + } ut_tv; /* Time entry was made. */ > +#else > + long int ut_session; /* Session ID, used for > windowing. */ > + struct timeval ut_tv; /* Time entry was made. */ > +#endif > + __int32_t ut_addr_v6[4]; /* Internet address of remote > host. */ > + char __glibc_reserved[20]; /* Reserved for future > use. */ +}; > diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h > index dfd55bfcc3..12ee26871e 100644 > --- a/sysdeps/gnu/bits/utmpx.h > +++ b/sysdeps/gnu/bits/utmpx.h > @@ -51,39 +51,7 @@ struct __exit_status > }; > > > -/* The structure describing an entry in the user accounting > database. */ -struct utmpx > -{ > - short int ut_type; /* Type of login. */ > - __pid_t ut_pid; /* Process ID of login process. */ > - char ut_line[__UT_LINESIZE] > - __attribute_nonstring__; /* Devicename. */ > - char ut_id[4] > - __attribute_nonstring__; /* Inittab ID. */ > - char ut_user[__UT_NAMESIZE] > - __attribute_nonstring__; /* Username. */ > - char ut_host[__UT_HOSTSIZE] > - __attribute_nonstring__; /* Hostname for remote login. */ > - struct __exit_status ut_exit; /* Exit status of a process > marked > - as DEAD_PROCESS. */ > - > -/* The fields ut_session and ut_tv must be the same size when > compiled > - 32- and 64-bit. This allows files and shared memory to be shared > - between 32- and 64-bit applications. */ > -#if __WORDSIZE_TIME64_COMPAT32 > - __int32_t ut_session; /* Session ID, used for > windowing. */ > - struct > - { > - __int32_t tv_sec; /* Seconds. */ > - __int32_t tv_usec; /* Microseconds. */ > - } ut_tv; /* Time entry was made. */ > -#else > - long int ut_session; /* Session ID, used for > windowing. */ > - struct timeval ut_tv; /* Time entry was made. */ > -#endif > - __int32_t ut_addr_v6[4]; /* Internet address of remote > host. */ > - char __glibc_reserved[20]; /* Reserved for future > use. */ -}; > +#include <bits/struct_utmpx.h> > > > /* Values for the `ut_type' field of a `struct utmpx'. */ > diff --git a/sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h > b/sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h new file mode > 100644 index 0000000000..2fa409aeec > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h > @@ -0,0 +1,35 @@ > +/* The 'struct lastlog' type. > + Copyright (C) 2020 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 > +# error "Never include <bits/struct_lastlog.h> directly; use > <utmp.h> instead." +#endif > + > +/* The structure describing an entry in the database of > + previous logins. */ > +struct lastlog > + { > +#if __WORDSIZE == 32 > + int64_t ll_time; > +#else > + __time_t ll_time; > +#endif > + char ll_line[UT_LINESIZE]; > + char ll_host[UT_HOSTSIZE]; > + }; > + > diff --git a/sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h > b/sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h new file mode 100644 > index 0000000000..748240e528 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h > @@ -0,0 +1,51 @@ > +/* The 'struct utmp' type, describing entries in the utmp file. > + Copyright (C) 2020 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/>. */ > + > +/* The structure describing an entry in the user accounting > database. */ +struct utmp > +{ > + short int ut_type; /* Type of login. */ > + pid_t ut_pid; /* Process ID of login > process. */ > + char ut_line[UT_LINESIZE] > + __attribute_nonstring__; /* Devicename. */ > + char ut_id[4] > + __attribute_nonstring__; /* Inittab ID. */ > + char ut_user[UT_NAMESIZE] > + __attribute_nonstring__; /* Username. */ > + char ut_host[UT_HOSTSIZE] > + __attribute_nonstring__; /* Hostname for remote login. > */ > + struct exit_status ut_exit; /* Exit status of a process > marked > + as DEAD_PROCESS. */ > +/* The ut_session and ut_tv fields must be the same size when > compiled > + 32- and 64-bit. This allows data files and shared memory to be > + shared between 32- and 64-bit applications. */ > +#if __WORDSIZE == 32 > + int64_t ut_session; /* Session ID, used for > windowing. */ > + struct > + { > + int64_t tv_sec; /* Seconds. */ > + int64_t tv_usec; /* Microseconds. */ > + } ut_tv; /* Time entry was made. */ > +#else > + long int ut_session; /* Session ID, used for > windowing. */ > + struct timeval ut_tv; /* Time entry was made. */ > +#endif > + > + int32_t ut_addr_v6[4]; /* Internet address of remote host. > */ > + char __glibc_reserved[20]; /* Reserved for future > use. */ +}; > diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h > b/sysdeps/unix/sysv/linux/s390/bits/struct_utmpx.h similarity index > 56% rename from sysdeps/unix/sysv/linux/s390/bits/utmpx.h > rename to sysdeps/unix/sysv/linux/s390/bits/struct_utmpx.h > index d68df97bef..67fd7be51c 100644 > --- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h > +++ b/sysdeps/unix/sysv/linux/s390/bits/struct_utmpx.h > @@ -1,5 +1,5 @@ > -/* Structures and definitions for the user accounting database. GNU > version. > - Copyright (C) 1997-2020 Free Software Foundation, Inc. > +/* The 'struct utmpx' type. > + Copyright (C) 2020 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 > @@ -17,40 +17,9 @@ > <https://www.gnu.org/licenses/>. */ > > #ifndef _UTMPX_H > -# error "Never include <bits/utmpx.h> directly; use <utmpx.h> > instead." +# error "Never include <bits/struct_utmpx.h> directly; use > <utmpx.h> instead." #endif > > -#include <bits/types.h> > -#include <sys/time.h> > -#include <bits/wordsize.h> > - > - > -#ifdef __USE_GNU > -# include <paths.h> > -# define _PATH_UTMPX _PATH_UTMP > -# define _PATH_WTMPX _PATH_WTMP > -#endif > - > - > -#define __UT_LINESIZE 32 > -#define __UT_NAMESIZE 32 > -#define __UT_HOSTSIZE 256 > - > - > -/* The structure describing the status of a terminated process. This > - type is used in `struct utmpx' below. */ > -struct __exit_status > - { > -#ifdef __USE_GNU > - short int e_termination; /* Process termination status. > */ > - short int e_exit; /* Process exit status. */ > -#else > - short int __e_termination; /* Process termination status. > */ > - short int __e_exit; /* Process exit status. */ > -#endif > - }; > - > - > /* The structure describing an entry in the user accounting > database. */ struct utmpx > { > @@ -84,23 +53,3 @@ struct utmpx > __int32_t ut_addr_v6[4]; /* Internet address of remote > host. */ char __glibc_reserved[20]; /* Reserved for > future use. */ }; > - > - > -/* Values for the `ut_type' field of a `struct utmpx'. */ > -#define EMPTY 0 /* No valid user accounting > information. */ - > -#ifdef __USE_GNU > -# define RUN_LVL 1 /* The system's runlevel. */ > -#endif > -#define BOOT_TIME 2 /* Time of system boot. */ > -#define NEW_TIME 3 /* Time after system clock changed. > */ -#define OLD_TIME 4 /* Time when system clock > changed. */ - > -#define INIT_PROCESS 5 /* Process spawned by the init > process. */ -#define LOGIN_PROCESS 6 /* Session leader > of a logged in user. */ -#define USER_PROCESS 7 /* > Normal process. */ -#define DEAD_PROCESS 8 /* > Terminated process. */ - > -#ifdef __USE_GNU > -# define ACCOUNTING 9 /* System accounting. */ > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmp.h > b/sysdeps/unix/sysv/linux/s390/bits/utmp.h deleted file mode 100644 > index ec0ee02303..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h > +++ /dev/null > @@ -1,127 +0,0 @@ > -/* The `struct utmp' type, describing entries in the utmp file. GNU > version. > - Copyright (C) 1993-2020 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 > -# error "Never include <bits/utmp.h> directly; use <utmp.h> instead." > -#endif > - > -#include <paths.h> > -#include <sys/time.h> > -#include <sys/types.h> > -#include <bits/wordsize.h> > - > - > -#define UT_LINESIZE 32 > -#define UT_NAMESIZE 32 > -#define UT_HOSTSIZE 256 > - > - > -/* The structure describing an entry in the database of > - previous logins. */ > -struct lastlog > - { > -#if __WORDSIZE == 32 > - int64_t ll_time; > -#else > - __time_t ll_time; > -#endif > - char ll_line[UT_LINESIZE]; > - char ll_host[UT_HOSTSIZE]; > - }; > - > - > -/* The structure describing the status of a terminated process. This > - type is used in `struct utmp' below. */ > -struct exit_status > - { > - short int e_termination; /* Process termination status. > */ > - short int e_exit; /* Process exit status. */ > - }; > - > - > -/* The structure describing an entry in the user accounting > database. */ -struct utmp > -{ > - short int ut_type; /* Type of login. */ > - pid_t ut_pid; /* Process ID of login > process. */ > - char ut_line[UT_LINESIZE] > - __attribute_nonstring__; /* Devicename. */ > - char ut_id[4] > - __attribute_nonstring__; /* Inittab ID. */ > - char ut_user[UT_NAMESIZE] > - __attribute_nonstring__; /* Username. */ > - char ut_host[UT_HOSTSIZE] > - __attribute_nonstring__; /* Hostname for remote login. > */ > - struct exit_status ut_exit; /* Exit status of a process > marked > - as DEAD_PROCESS. */ > -/* The ut_session and ut_tv fields must be the same size when > compiled > - 32- and 64-bit. This allows data files and shared memory to be > - shared between 32- and 64-bit applications. */ > -#if __WORDSIZE == 32 > - int64_t ut_session; /* Session ID, used for > windowing. */ > - struct > - { > - int64_t tv_sec; /* Seconds. */ > - int64_t tv_usec; /* Microseconds. */ > - } ut_tv; /* Time entry was made. */ > -#else > - long int ut_session; /* Session ID, used for > windowing. */ > - struct timeval ut_tv; /* Time entry was made. */ > -#endif > - > - int32_t ut_addr_v6[4]; /* Internet address of remote host. > */ > - char __glibc_reserved[20]; /* Reserved for future > use. */ -}; > - > -/* Backwards compatibility hacks. */ > -#define ut_name ut_user > -#ifndef _NO_UT_TIME > -/* We have a problem here: `ut_time' is also used otherwise. Define > - _NO_UT_TIME if the compiler complains. */ > -# define ut_time ut_tv.tv_sec > -#endif > -#define ut_xtime ut_tv.tv_sec > -#define ut_addr ut_addr_v6[0] > - > - > -/* Values for the `ut_type' field of a `struct utmp'. */ > -#define EMPTY 0 /* No valid user accounting > information. */ - > -#define RUN_LVL 1 /* The system's runlevel. */ > -#define BOOT_TIME 2 /* Time of system boot. */ > -#define NEW_TIME 3 /* Time after system clock changed. > */ -#define OLD_TIME 4 /* Time when system clock > changed. */ - > -#define INIT_PROCESS 5 /* Process spawned by the init > process. */ -#define LOGIN_PROCESS 6 /* Session leader > of a logged in user. */ -#define USER_PROCESS 7 /* > Normal process. */ -#define DEAD_PROCESS 8 /* > Terminated process. */ - > -#define ACCOUNTING 9 > - > -/* Old Linux name for the EMPTY type. */ > -#define UT_UNKNOWN EMPTY > - > - > -/* Tell the user that we have a modern system with UT_HOST, UT_PID, > - UT_TYPE, UT_ID and UT_TV fields. */ > -#define _HAVE_UT_TYPE 1 > -#define _HAVE_UT_PID 1 > -#define _HAVE_UT_ID 1 > -#define _HAVE_UT_TV 1 > -#define _HAVE_UT_HOST 1 Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
diff --git a/bits/struct_lastlog.h b/bits/struct_lastlog.h new file mode 100644 index 0000000000..122a44abd0 --- /dev/null +++ b/bits/struct_lastlog.h @@ -0,0 +1,34 @@ +/* The 'struct lastlog' type. + Copyright (C) 2020 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 +# error "Never include <bits/struct_lastlog.h> directly; use <utmp.h> instead." +#endif + +/* The structure describing an entry in the database of + previous logins. */ +struct lastlog + { +#if __WORDSIZE_TIME64_COMPAT32 + int32_t ll_time; +#else + __time_t ll_time; +#endif + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; + }; diff --git a/bits/struct_utmp.h b/bits/struct_utmp.h new file mode 100644 index 0000000000..4b05c91515 --- /dev/null +++ b/bits/struct_utmp.h @@ -0,0 +1,55 @@ +/* The 'struct utmp' type, describing entries in the utmp file. + Copyright (C) 2020 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 +# error "Never include <bits/struct_utmp.h> directly; use <utmp.h> instead." +#endif + +/* The structure describing an entry in the user accounting database. */ +struct utmp +{ + short int ut_type; /* Type of login. */ + pid_t ut_pid; /* Process ID of login process. */ + char ut_line[UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ +/* The ut_session and ut_tv fields must be the same size when compiled + 32- and 64-bit. This allows data files and shared memory to be + shared between 32- and 64-bit applications. */ +#if __WORDSIZE_TIME64_COMPAT32 + int32_t ut_session; /* Session ID, used for windowing. */ + struct + { + int32_t tv_sec; /* Seconds. */ + int32_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + + int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; diff --git a/bits/utmp.h b/bits/utmp.h index b82d14536f..1647d0c67b 100644 --- a/bits/utmp.h +++ b/bits/utmp.h @@ -31,18 +31,7 @@ #define UT_HOSTSIZE 256 -/* The structure describing an entry in the database of - previous logins. */ -struct lastlog - { -#if __WORDSIZE_TIME64_COMPAT32 - int32_t ll_time; -#else - __time_t ll_time; -#endif - char ll_line[UT_LINESIZE]; - char ll_host[UT_HOSTSIZE]; - }; +#include <bits/struct_lastlog.h> /* The structure describing the status of a terminated process. This @@ -53,40 +42,7 @@ struct exit_status short int e_exit; /* Process exit status. */ }; - -/* The structure describing an entry in the user accounting database. */ -struct utmp -{ - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ - char ut_line[UT_LINESIZE] - __attribute_nonstring__; /* Devicename. */ - char ut_id[4] - __attribute_nonstring__; /* Inittab ID. */ - char ut_user[UT_NAMESIZE] - __attribute_nonstring__; /* Username. */ - char ut_host[UT_HOSTSIZE] - __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ -/* The ut_session and ut_tv fields must be the same size when compiled - 32- and 64-bit. This allows data files and shared memory to be - shared between 32- and 64-bit applications. */ -#if __WORDSIZE_TIME64_COMPAT32 - int32_t ut_session; /* Session ID, used for windowing. */ - struct - { - int32_t tv_sec; /* Seconds. */ - int32_t tv_usec; /* Microseconds. */ - } ut_tv; /* Time entry was made. */ -#else - long int ut_session; /* Session ID, used for windowing. */ - struct timeval ut_tv; /* Time entry was made. */ -#endif - - int32_t ut_addr_v6[4]; /* Internet address of remote host. */ - char __glibc_reserved[20]; /* Reserved for future use. */ -}; +#include <bits/struct_utmp.h> /* Backwards compatibility hacks. */ #define ut_name ut_user diff --git a/login/Makefile b/login/Makefile index d897057bbd..58d5d4d64a 100644 --- a/login/Makefile +++ b/login/Makefile @@ -23,7 +23,8 @@ subdir := login include ../Makeconfig -headers := utmp.h bits/utmp.h lastlog.h pty.h +headers := utmp.h bits/utmp.h lastlog.h pty.h bits/struct_lastlog.h \ + bits/struct_utmp.h bits/struct_utmpx.h routines := getlogin getlogin_r setlogin getlogin_r_chk \ getutent getutent_r getutid getutline getutid_r getutline_r \ diff --git a/sysdeps/gnu/bits/struct_utmpx.h b/sysdeps/gnu/bits/struct_utmpx.h new file mode 100644 index 0000000000..8bfc786cd8 --- /dev/null +++ b/sysdeps/gnu/bits/struct_utmpx.h @@ -0,0 +1,55 @@ +/* The 'struct utmpx' type. + Copyright (C) 2020 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 _UTMPX_H +# error "Never include <bits/struct_utmpx.h> directly; use <utmpx.h> instead." +#endif + +/* The structure describing an entry in the user accounting database. */ +struct utmpx +{ + short int ut_type; /* Type of login. */ + __pid_t ut_pid; /* Process ID of login process. */ + char ut_line[__UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[__UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[__UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct __exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ + +/* The fields ut_session and ut_tv must be the same size when compiled + 32- and 64-bit. This allows files and shared memory to be shared + between 32- and 64-bit applications. */ +#if __WORDSIZE_TIME64_COMPAT32 + __int32_t ut_session; /* Session ID, used for windowing. */ + struct + { + __int32_t tv_sec; /* Seconds. */ + __int32_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + __int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h index dfd55bfcc3..12ee26871e 100644 --- a/sysdeps/gnu/bits/utmpx.h +++ b/sysdeps/gnu/bits/utmpx.h @@ -51,39 +51,7 @@ struct __exit_status }; -/* The structure describing an entry in the user accounting database. */ -struct utmpx -{ - short int ut_type; /* Type of login. */ - __pid_t ut_pid; /* Process ID of login process. */ - char ut_line[__UT_LINESIZE] - __attribute_nonstring__; /* Devicename. */ - char ut_id[4] - __attribute_nonstring__; /* Inittab ID. */ - char ut_user[__UT_NAMESIZE] - __attribute_nonstring__; /* Username. */ - char ut_host[__UT_HOSTSIZE] - __attribute_nonstring__; /* Hostname for remote login. */ - struct __exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - -/* The fields ut_session and ut_tv must be the same size when compiled - 32- and 64-bit. This allows files and shared memory to be shared - between 32- and 64-bit applications. */ -#if __WORDSIZE_TIME64_COMPAT32 - __int32_t ut_session; /* Session ID, used for windowing. */ - struct - { - __int32_t tv_sec; /* Seconds. */ - __int32_t tv_usec; /* Microseconds. */ - } ut_tv; /* Time entry was made. */ -#else - long int ut_session; /* Session ID, used for windowing. */ - struct timeval ut_tv; /* Time entry was made. */ -#endif - __int32_t ut_addr_v6[4]; /* Internet address of remote host. */ - char __glibc_reserved[20]; /* Reserved for future use. */ -}; +#include <bits/struct_utmpx.h> /* Values for the `ut_type' field of a `struct utmpx'. */ diff --git a/sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h b/sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h new file mode 100644 index 0000000000..2fa409aeec --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/bits/struct_lastlog.h @@ -0,0 +1,35 @@ +/* The 'struct lastlog' type. + Copyright (C) 2020 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 +# error "Never include <bits/struct_lastlog.h> directly; use <utmp.h> instead." +#endif + +/* The structure describing an entry in the database of + previous logins. */ +struct lastlog + { +#if __WORDSIZE == 32 + int64_t ll_time; +#else + __time_t ll_time; +#endif + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; + }; + diff --git a/sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h b/sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h new file mode 100644 index 0000000000..748240e528 --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h @@ -0,0 +1,51 @@ +/* The 'struct utmp' type, describing entries in the utmp file. + Copyright (C) 2020 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/>. */ + +/* The structure describing an entry in the user accounting database. */ +struct utmp +{ + short int ut_type; /* Type of login. */ + pid_t ut_pid; /* Process ID of login process. */ + char ut_line[UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ +/* The ut_session and ut_tv fields must be the same size when compiled + 32- and 64-bit. This allows data files and shared memory to be + shared between 32- and 64-bit applications. */ +#if __WORDSIZE == 32 + int64_t ut_session; /* Session ID, used for windowing. */ + struct + { + int64_t tv_sec; /* Seconds. */ + int64_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + + int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/struct_utmpx.h similarity index 56% rename from sysdeps/unix/sysv/linux/s390/bits/utmpx.h rename to sysdeps/unix/sysv/linux/s390/bits/struct_utmpx.h index d68df97bef..67fd7be51c 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h +++ b/sysdeps/unix/sysv/linux/s390/bits/struct_utmpx.h @@ -1,5 +1,5 @@ -/* Structures and definitions for the user accounting database. GNU version. - Copyright (C) 1997-2020 Free Software Foundation, Inc. +/* The 'struct utmpx' type. + Copyright (C) 2020 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 @@ -17,40 +17,9 @@ <https://www.gnu.org/licenses/>. */ #ifndef _UTMPX_H -# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead." +# error "Never include <bits/struct_utmpx.h> directly; use <utmpx.h> instead." #endif -#include <bits/types.h> -#include <sys/time.h> -#include <bits/wordsize.h> - - -#ifdef __USE_GNU -# include <paths.h> -# define _PATH_UTMPX _PATH_UTMP -# define _PATH_WTMPX _PATH_WTMP -#endif - - -#define __UT_LINESIZE 32 -#define __UT_NAMESIZE 32 -#define __UT_HOSTSIZE 256 - - -/* The structure describing the status of a terminated process. This - type is used in `struct utmpx' below. */ -struct __exit_status - { -#ifdef __USE_GNU - short int e_termination; /* Process termination status. */ - short int e_exit; /* Process exit status. */ -#else - short int __e_termination; /* Process termination status. */ - short int __e_exit; /* Process exit status. */ -#endif - }; - - /* The structure describing an entry in the user accounting database. */ struct utmpx { @@ -84,23 +53,3 @@ struct utmpx __int32_t ut_addr_v6[4]; /* Internet address of remote host. */ char __glibc_reserved[20]; /* Reserved for future use. */ }; - - -/* Values for the `ut_type' field of a `struct utmpx'. */ -#define EMPTY 0 /* No valid user accounting information. */ - -#ifdef __USE_GNU -# define RUN_LVL 1 /* The system's runlevel. */ -#endif -#define BOOT_TIME 2 /* Time of system boot. */ -#define NEW_TIME 3 /* Time after system clock changed. */ -#define OLD_TIME 4 /* Time when system clock changed. */ - -#define INIT_PROCESS 5 /* Process spawned by the init process. */ -#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ -#define USER_PROCESS 7 /* Normal process. */ -#define DEAD_PROCESS 8 /* Terminated process. */ - -#ifdef __USE_GNU -# define ACCOUNTING 9 /* System accounting. */ -#endif diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmp.h b/sysdeps/unix/sysv/linux/s390/bits/utmp.h deleted file mode 100644 index ec0ee02303..0000000000 --- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h +++ /dev/null @@ -1,127 +0,0 @@ -/* The `struct utmp' type, describing entries in the utmp file. GNU version. - Copyright (C) 1993-2020 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 -# error "Never include <bits/utmp.h> directly; use <utmp.h> instead." -#endif - -#include <paths.h> -#include <sys/time.h> -#include <sys/types.h> -#include <bits/wordsize.h> - - -#define UT_LINESIZE 32 -#define UT_NAMESIZE 32 -#define UT_HOSTSIZE 256 - - -/* The structure describing an entry in the database of - previous logins. */ -struct lastlog - { -#if __WORDSIZE == 32 - int64_t ll_time; -#else - __time_t ll_time; -#endif - char ll_line[UT_LINESIZE]; - char ll_host[UT_HOSTSIZE]; - }; - - -/* The structure describing the status of a terminated process. This - type is used in `struct utmp' below. */ -struct exit_status - { - short int e_termination; /* Process termination status. */ - short int e_exit; /* Process exit status. */ - }; - - -/* The structure describing an entry in the user accounting database. */ -struct utmp -{ - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ - char ut_line[UT_LINESIZE] - __attribute_nonstring__; /* Devicename. */ - char ut_id[4] - __attribute_nonstring__; /* Inittab ID. */ - char ut_user[UT_NAMESIZE] - __attribute_nonstring__; /* Username. */ - char ut_host[UT_HOSTSIZE] - __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ -/* The ut_session and ut_tv fields must be the same size when compiled - 32- and 64-bit. This allows data files and shared memory to be - shared between 32- and 64-bit applications. */ -#if __WORDSIZE == 32 - int64_t ut_session; /* Session ID, used for windowing. */ - struct - { - int64_t tv_sec; /* Seconds. */ - int64_t tv_usec; /* Microseconds. */ - } ut_tv; /* Time entry was made. */ -#else - long int ut_session; /* Session ID, used for windowing. */ - struct timeval ut_tv; /* Time entry was made. */ -#endif - - int32_t ut_addr_v6[4]; /* Internet address of remote host. */ - char __glibc_reserved[20]; /* Reserved for future use. */ -}; - -/* Backwards compatibility hacks. */ -#define ut_name ut_user -#ifndef _NO_UT_TIME -/* We have a problem here: `ut_time' is also used otherwise. Define - _NO_UT_TIME if the compiler complains. */ -# define ut_time ut_tv.tv_sec -#endif -#define ut_xtime ut_tv.tv_sec -#define ut_addr ut_addr_v6[0] - - -/* Values for the `ut_type' field of a `struct utmp'. */ -#define EMPTY 0 /* No valid user accounting information. */ - -#define RUN_LVL 1 /* The system's runlevel. */ -#define BOOT_TIME 2 /* Time of system boot. */ -#define NEW_TIME 3 /* Time after system clock changed. */ -#define OLD_TIME 4 /* Time when system clock changed. */ - -#define INIT_PROCESS 5 /* Process spawned by the init process. */ -#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ -#define USER_PROCESS 7 /* Normal process. */ -#define DEAD_PROCESS 8 /* Terminated process. */ - -#define ACCOUNTING 9 - -/* Old Linux name for the EMPTY type. */ -#define UT_UNKNOWN EMPTY - - -/* Tell the user that we have a modern system with UT_HOST, UT_PID, - UT_TYPE, UT_ID and UT_TV fields. */ -#define _HAVE_UT_TYPE 1 -#define _HAVE_UT_PID 1 -#define _HAVE_UT_ID 1 -#define _HAVE_UT_TV 1 -#define _HAVE_UT_HOST 1