This patch include various fixes to NBSD includes.
- unistd.h: Avoid different linkages on non-_NETBSD_SOURCE
compilation;
- stdlib.h: remove devname declaration.
- sys/select.h: Add _MINIX specific flags.
- limits.h: Add SYMLOOP_MAX and SYMLINK_MAX
- time.h: Fix CLOCKS_PER_SEC and remove BSD's timer_t, as it
confuses minix own specific timers.
- utmp.h: Set Minix-specific paths and use Minix utmp format.
- param.h: Do not set BSD4_4, as this mostly means sa_len in
struct sock_addr.
- arch/i386/include/param.h: include <machine/vmparam.h> to
add PAGE_SIZE and related macros, defined round_page() and
trunc_page() for minix compatibility.
- dirent.h: remove DIRBLKSIZ and fix d_ino/d_fileno.
- sys/dir.h: ADD from existing includes and edit include
conditions.
- sys/dirent.h: include <minix/dirent.h>, fix d_ino/d_fileno.
- sys/fd_set.h: set default FD_SETSIZE at __MINIX_OPENMAX, as
the default NetBSD value is too big and cause vfs to return
an error.
- sys/cdefs.h: Always include <minix/ansi.h>
- minix/paths.h: Add Minix-specific paths.
- minix/dirent.h: ADD, keep only "direct" and "flex"definitions.
- minix/types.h: include <minix/ansi.h>
- sys/Makefile: add sys/dirent.h and statfs.h (forgot!)
- minix/Makefile: add minix/dirent.h
nbsd_include/minix-port.patch updated accordingly.
* Machine dependent constants for Intel 386.
*/
-#ifdef _KERNEL
-#include <machine/cpu.h>
-#endif
-
-#ifndef _MINIX
-#define _MACHINE i386
-#define MACHINE "i386"
-#define _MACHINE_ARCH i386
-#define MACHINE_ARCH "i386"
-#define MID_MACHINE MID_I386
-#endif
-
/*
* Round p (pointer or byte index) up to a correctly-aligned value
* for all data types (int, long, ...). The result is u_int and
#define x86_btop(x) ((paddr_t)(x) >> PGSHIFT)
#define x86_ptob(x) ((paddr_t)(x) << PGSHIFT)
+#ifdef __minix
+/* Minix expect to find in this file PAGE_* defines. */
+#include <machine/vmparam.h>
+
+#define trunc_page(x) x86_trunc_page(x)
+#define round_page(x) x86_round_page(x)
+
+#endif
+
#endif /* _I386_PARAM_H_ */
*/
#include <sys/dirent.h>
+#ifndef __minix
#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
#define d_ino d_fileno /* backward compatibility */
#endif
+#endif /* !__minix */
typedef struct _dirdesc DIR;
#if defined(_NETBSD_SOURCE)
+#ifndef __minix
/* definitions for library routines operating on directories. */
#define DIRBLKSIZ 1024
+#endif
/* structure describing an open directory. */
struct _dirdesc {
#include <machine/limits.h>
#include <sys/syslimits.h>
+#ifdef __minix
+#define SYMLOOP_MAX 16
+#define SYMLINK_MAX 1024
+#endif
+
#endif /* !_LIMITS_H_ */
diff -ru /home/netbsd/src/include/Makefile ./Makefile
--- /home/netbsd/src/include/Makefile 2010-08-01 03:01:48.000000000 +0000
-+++ ./Makefile 2011-02-15 12:52:02.000000000 +0000
++++ ./Makefile 2011-02-21 16:03:25.000000000 +0000
@@ -7,6 +7,24 @@
# Missing: mp.h
INCS+= arpa/ftp.h arpa/inet.h arpa/nameser.h arpa/nameser_compat.h \
arpa/telnet.h arpa/tftp.h
INCS+= protocols/dumprestore.h protocols/routed.h protocols/rwhod.h \
-@@ -40,10 +59,27 @@
+@@ -40,10 +59,28 @@
.include <bsd.own.mk>
+
+.if defined(__MINIX)
+.include "${MINIXSRCDIR}/common/include/Makefile.inc"
++SUBDIR+= arch/${MACHINE}
+SUBDIR+= arch sys minix
+SUBDIR+= net netinet netinet6
+.endif
.include <bsd.prog.mk>
.include <bsd.subdir.mk>
+diff -ru /home/netbsd/src/include/dirent.h ./dirent.h
+--- /home/netbsd/src/include/dirent.h 2010-09-26 03:01:02.000000000 +0000
++++ ./dirent.h 2011-02-24 09:08:12.000000000 +0000
+@@ -43,16 +43,20 @@
+ */
+ #include <sys/dirent.h>
+
++#ifndef __minix
+ #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
+ #define d_ino d_fileno /* backward compatibility */
+ #endif
++#endif /* !__minix */
+
+ typedef struct _dirdesc DIR;
+
+ #if defined(_NETBSD_SOURCE)
+
++#ifndef __minix
+ /* definitions for library routines operating on directories. */
+ #define DIRBLKSIZ 1024
++#endif
+
+ /* structure describing an open directory. */
+ struct _dirdesc {
diff -ru /home/netbsd/src/include/fts.h ./fts.h
--- /home/netbsd/src/include/fts.h 2009-08-19 20:23:46.000000000 +0000
-+++ ./fts.h 2011-02-14 17:04:58.000000000 +0000
++++ ./fts.h 2011-02-21 16:03:25.000000000 +0000
@@ -75,7 +75,9 @@
#define FTS_PHYSICAL 0x010 /* physical walk */
#define FTS_SEEDOT 0x020 /* return dot and dot-dot */
#define FTS_OPTIONMASK 0x0ff /* valid user option mask */
#define FTS_NAMEONLY 0x100 /* (private) child names only */
+diff -ru /home/netbsd/src/include/limits.h ./limits.h
+--- /home/netbsd/src/include/limits.h 2010-06-08 03:01:32.000000000 +0000
++++ ./limits.h 2011-03-04 11:24:14.000000000 +0000
+@@ -113,4 +113,9 @@
+ #include <machine/limits.h>
+ #include <sys/syslimits.h>
+
++#ifdef __minix
++#define SYMLOOP_MAX 16
++#define SYMLINK_MAX 1024
++#endif
++
+ #endif /* !_LIMITS_H_ */
diff -ru /home/netbsd/src/include/paths.h ./paths.h
--- /home/netbsd/src/include/paths.h 2010-12-30 03:02:34.000000000 +0000
-+++ ./paths.h 2011-02-14 17:04:58.000000000 +0000
++++ ./paths.h 2011-02-21 16:03:25.000000000 +0000
@@ -124,5 +124,9 @@
#define _PATH_VI "/usr/bin/vi"
#endif
diff -ru /home/netbsd/src/include/rpc/Makefile ./rpc/Makefile
--- /home/netbsd/src/include/rpc/Makefile 2003-01-11 13:28:43.000000000 +0000
-+++ ./rpc/Makefile 2011-02-15 12:36:08.000000000 +0000
++++ ./rpc/Makefile 2011-02-21 16:03:24.000000000 +0000
@@ -7,7 +7,11 @@
svc.h svc_auth.h svc_soc.h types.h xdr.h
RPC_INCS= rpcb_prot.h
.include <bsd.prog.mk>
diff -ru /home/netbsd/src/include/sched.h ./sched.h
--- /home/netbsd/src/include/sched.h 2009-01-11 03:05:43.000000000 +0000
-+++ ./sched.h 2011-02-14 17:04:58.000000000 +0000
++++ ./sched.h 2011-02-21 16:03:25.000000000 +0000
@@ -29,6 +29,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
diff -ru /home/netbsd/src/include/signal.h ./signal.h
--- /home/netbsd/src/include/signal.h 2010-08-28 03:00:54.000000000 +0000
-+++ ./signal.h 2011-02-15 12:11:57.000000000 +0000
++++ ./signal.h 2011-02-21 16:03:25.000000000 +0000
@@ -62,6 +62,7 @@
int __libc_sigaction14(int, const struct sigaction * __restrict,
struct sigaction * __restrict);
#endif /* _NETBSD_SOURCE */
diff -ru /home/netbsd/src/include/stdio.h ./stdio.h
--- /home/netbsd/src/include/stdio.h 2010-09-25 03:01:11.000000000 +0000
-+++ ./stdio.h 2011-02-14 17:04:58.000000000 +0000
++++ ./stdio.h 2011-02-21 16:03:25.000000000 +0000
@@ -274,7 +274,7 @@
__printflike(2, 0);
#endif
int rename (const char *, const char *);
diff -ru /home/netbsd/src/include/stdlib.h ./stdlib.h
--- /home/netbsd/src/include/stdlib.h 2010-12-23 03:03:09.000000000 +0000
-+++ ./stdlib.h 2011-02-14 17:04:58.000000000 +0000
-@@ -280,7 +280,9 @@
++++ ./stdlib.h 2011-02-24 02:42:48.000000000 +0000
+@@ -265,9 +265,11 @@
+ void csetexpandtc(int);
+
+ int daemon(int, int);
++#ifndef __minix
+ #ifndef __LIBC12_SOURCE__
+ __aconst char *devname(dev_t, mode_t) __RENAME(__devname50);
+ #endif
++#endif /* !__minix */
+
+ #define HN_DECIMAL 0x01
+ #define HN_NOSPACE 0x02
+@@ -280,7 +282,9 @@
int humanize_number(char *, size_t, int64_t, const char *, int, int);
int dehumanize_number(const char *, int64_t *);
int getenv_r(const char *, char *, size_t);
diff -ru /home/netbsd/src/include/time.h ./time.h
--- /home/netbsd/src/include/time.h 2010-12-17 03:01:54.000000000 +0000
-+++ ./time.h 2011-02-14 17:04:58.000000000 +0000
-@@ -110,7 +110,11 @@
++++ ./time.h 2011-03-02 07:10:52.000000000 +0000
+@@ -65,12 +65,18 @@
+ #undef _BSD_CLOCKID_T_
+ #endif
+
++#ifndef __minix
+ #ifdef _BSD_TIMER_T_
+ typedef _BSD_TIMER_T_ timer_t;
+ #undef _BSD_TIMER_T_
+ #endif
++#endif /* !__minix */
+
++#ifdef __minix
++#define CLOCKS_PER_SEC 60
++#else
+ #define CLOCKS_PER_SEC 100
++#endif
+
+ struct tm {
+ int tm_sec; /* seconds after the minute [0-61] */
+@@ -110,7 +116,11 @@
* need to include unistd.h
*/
long __sysconf(int);
#endif
#endif
-@@ -143,22 +147,28 @@
+@@ -143,22 +153,28 @@
struct sigevent;
struct itimerspec;
#ifndef __LIBC12_SOURCE__
#endif /* _POSIX_C_SOURCE >= 199309 || _XOPEN_SOURCE >= 500 || ... */
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
-@@ -205,6 +215,10 @@
+@@ -205,6 +221,10 @@
#endif /* _NETBSD_SOURCE */
#endif /* !_TIME_H_ */
diff -ru /home/netbsd/src/include/unistd.h ./unistd.h
--- /home/netbsd/src/include/unistd.h 2011-01-20 03:02:09.000000000 +0000
-+++ ./unistd.h 2011-02-15 12:17:07.000000000 +0000
++++ ./unistd.h 2011-03-03 15:29:11.000000000 +0000
+@@ -88,7 +88,7 @@
+ int access(const char *, int);
+ unsigned int alarm(unsigned int);
+ int chdir(const char *);
+-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
++#if !defined(__minix) && (defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE))
+ int chown(const char *, uid_t, gid_t) __RENAME(__posix_chown);
+ #else
+ int chown(const char *, uid_t, gid_t);
@@ -133,7 +133,9 @@
#endif
int rmdir(const char *);
#endif
+@@ -243,7 +249,7 @@
+
+ int brk(void *);
+ int fchdir(int);
+-#if defined(_XOPEN_SOURCE)
++#if !defined(__minix) && defined(_XOPEN_SOURCE)
+ int fchown(int, uid_t, gid_t) __RENAME(__posix_fchown);
+ #else
+ int fchown(int, uid_t, gid_t);
@@ -253,29 +259,37 @@
int gethostname(char *, size_t);
__pure int
int syscall(int, ...);
quad_t __syscall(quad_t, ...);
int undelete(const char *);
+diff -ru /home/netbsd/src/include/utmp.h ./utmp.h
+--- /home/netbsd/src/include/utmp.h 2009-01-11 03:05:43.000000000 +0000
++++ ./utmp.h 2011-03-01 12:59:49.000000000 +0000
+@@ -39,12 +39,26 @@
+ #ifndef _UTMP_H_
+ #define _UTMP_H_
+
++#ifdef __minix
++#define _PATH_UTMP "/etc/utmp"
++#define _PATH_WTMP "/usr/adm/wtmp"
++#define _PATH_BTMP "/usr/adm/btmp"
++#define _PATH_LASTLOG "/usr/adm/lastlog"
++#define UTMP _PATH_UTMP
++#define WTMP _PATH_WTMP
++#define BTMP _PATH_BTMP
++#else
+ #define _PATH_UTMP "/var/run/utmp"
+ #define _PATH_WTMP "/var/log/wtmp"
+ #define _PATH_LASTLOG "/var/log/lastlog"
++#endif
+
+ #define UT_NAMESIZE 8
++#ifdef __minix
++#define UT_LINESIZE 12
++#else
+ #define UT_LINESIZE 8
++#endif
+ #define UT_HOSTSIZE 16
+
+ struct lastlog {
+@@ -53,12 +67,34 @@
+ char ll_host[UT_HOSTSIZE];
+ };
+
++#ifdef __minix
++struct utmp {
++ char ut_name[UT_NAMESIZE]; /* user name */
++ char ut_id[4]; /* /etc/inittab ID */
++ char ut_line[UT_LINESIZE]; /* terminal name */
++ char ut_host[UT_HOSTSIZE]; /* host name, when remote */
++ short ut_pid; /* process id */
++ short int ut_type; /* type of entry */
++ long ut_time; /* login/logout time */
++};
++
++/* Definitions for ut_type. */
++#define RUN_LVL 1 /* this is a RUN_LEVEL record */
++#define BOOT_TIME 2 /* this is a REBOOT record */
++#define INIT_PROCESS 5 /* this process was spawned by INIT */
++#define LOGIN_PROCESS 6 /* this is a 'getty' process waiting */
++#define USER_PROCESS 7 /* any other user process */
++#define DEAD_PROCESS 8 /* this process has died (wtmp only) */
++
++#else /* !__minix */
++
+ struct utmp {
+ char ut_line[UT_LINESIZE];
+ char ut_name[UT_NAMESIZE];
+ char ut_host[UT_HOSTSIZE];
+ time_t ut_time;
+ };
++#endif /* __minix */
+
+ __BEGIN_DECLS
+ int utmpname(const char *);
INCSDIR= /usr/netbsd/include/minix
-INCS+= paths.h types.h
+INCS+= dirent.h paths.h types.h
.include "${MINIXSRCDIR}/common/include/sys/Makefile.mount.inc"
.include "${MINIXSRCDIR}/common/include/Makefile.termios.inc"
--- /dev/null
+/* dirent.h - Declarations for directory reading routines.
+ * Author: Kees J. Bot
+ * 24 Apr 1989
+ *
+ * Note: The V7 format directory entries used under Minix must be transformed
+ * into a struct dirent with a d_name of at least 15 characters. Given that
+ * we have to transform V7 entries anyhow it is little trouble to let the
+ * routines understand the so-called "flex" directory format too.
+ */
+
+#ifndef _DIRENT_H
+#define _DIRENT_H
+
+#include <sys/cdefs.h>
+#include <minix/dir.h>
+
+/* _fl_direct is a flexible directory entry. Actually it's a union of 8
+ * characters and the 3 fields defined below.
+ */
+
+/* Flexible directory entry: */
+struct _fl_direct { /* First slot in an entry */
+ ino_t d_ino;
+ unsigned char d_extent;
+ char d_name[3]; /* two characters for the shortest name */
+};
+
+ /* Name of length len needs _EXTENT(len) extra slots. */
+#define _EXTENT(len) (((len) + 5) >> 3)
+
+/* Version 7 directory entry: */
+struct _v7_direct {
+ ino_t d_ino;
+ char d_name[DIRSIZ];
+};
+
+/* The block size must be at least 1024 bytes, because otherwise
+ * the superblock (at 1024 bytes) overlaps with other filesystem data.
+ */
+#define _MIN_BLOCK_SIZE 1024
+
+/* The below is allocated in some parts of the system as the largest
+ * a filesystem block can be. For instance, the boot monitor allocates
+ * 3 of these blocks and has to fit within 64kB, so this can't be
+ * increased without taking that into account.
+ */
+#define _MAX_BLOCK_SIZE 4096
+
+/* This is the block size for the fixed versions of the filesystem (V1/V2) */
+#define _STATIC_BLOCK_SIZE 1024
+
+#define _STATIC_FLEX_PER_BLOCK (_STATIC_BLOCK_SIZE/sizeof(struct _fl_direct))
+#define _FLEX_PER_V7 (_EXTENT(DIRSIZ) + 1)
+#define _FLEX_PER_BLOCK (_STATIC_BLOCK_SIZE/sizeof(struct _fl_direct))
+
+#endif /* _DIRENT_H */
#define _PATH_SERVICE "/bin/service"
#define _PATH_PROC "/proc/"
+#define _PATH_SYSTEM_CONF "/etc/system.conf"
+#define _PATH_SYSTEM_CONF_DIR "/etc/system.conf.d"
+
+#define _PATH_DHCPCONF "/etc/dhcp.conf"
+#define _PATH_DHCPPID "/usr/run/dhcpd.pid"
+#define _PATH_DHCPCACHE "/usr/adm/dhcp.cache"
+#define _PATH_DHCPPOOL "/usr/adm/dhcp.pool"
+
+#define _PATH_MOTD "/etc/motd"
+
+#define _PATH_RAMDISK "/dev/ram"
+
#endif /* _MINIX_PATHS_H_ */
#define _MINIX_TYPES_H_
/* Dummy file used in legacy (and shared) minix includes. */
+#include <minix/ansi.h>
#include <sys/types.h>
#include <sys/sigtypes.h>
void csetexpandtc(int);
int daemon(int, int);
+#ifndef __minix
#ifndef __LIBC12_SOURCE__
__aconst char *devname(dev_t, mode_t) __RENAME(__devname50);
#endif
+#endif /* !__minix */
#define HN_DECIMAL 0x01
#define HN_NOSPACE 0x02
# Present only in minix
-INCS+= ioc_net.h
+INCS+= ioc_net.h statfs.h
INCS+= ansi.h atomic.h \
bitops.h bswap.h \
cdefs.h cdefs_aout.h ctype_bits.h ctype_inline.h \
- dirent.h \
+ dir.h dirent.h \
endian.h errno.h \
fcntl.h fd_set.h featuretest.h file.h \
float_ieee754.h gcq.h gmon.h hash.h \
#define __CAST(__dt, __st) ((__dt)(__st))
#endif
+#ifdef _MINIX
+/* If compiling in Minix tree, Minix ANSI definitions are always useful. */
+#include <minix/ansi.h>
+#endif
+
#endif /* !_SYS_CDEFS_H_ */
--- /dev/null
+/*
+ * this files resolves conflicts between the file of the host system and
+ * the minix specific one. This file is included directly only on Minix
+ * and it is an error to do so on any other system
+ */
+
+#if !defined(_MINIX) || !defined(__minix)
+#error "Including Minix specific file in program targeted for other system"
+#else
+#include <minix/dir.h>
+#endif
#ifndef _SYS_DIRENT_H_
#define _SYS_DIRENT_H_
+#include <sys/cdefs.h>
#include <sys/featuretest.h>
-
-/* Redefine d_ino here. */
-#define d_ino d_fileno
+#include <minix/dirent.h>
/*
* The dirent structure defines the format of directory entries returned by
char d_name[1]; /* Null terminated name */
};
+#if defined(_NETBSD_SOURCE)
+#define d_fileno d_ino
+#endif
+
#define _DIRENT_NAME_LEN 61 /* Backward compatibility with Minix. */
#if defined(_NETBSD_SOURCE)
#define MAXNAMLEN _DIRENT_NAME_LEN
#include <sys/cdefs.h>
#include <sys/featuretest.h>
+#include <sys/syslimits.h>
#include <machine/int_types.h>
/*
* be enough for most uses.
*/
#ifndef FD_SETSIZE
-#define FD_SETSIZE 256
+#define FD_SETSIZE __MINIX_OPEN_MAX
#endif
typedef struct fd_set {
*/
#define BSD 199506 /* System version (year & month). */
#define BSD4_3 1
+#ifndef __minix
#define BSD4_4 1
+#endif
/*
* #define __NetBSD_Version__ MMmmrrpp00
__BEGIN_DECLS
#ifndef __LIBC12_SOURCE__
+#ifndef __minix
int pselect(int, fd_set * __restrict, fd_set * __restrict,
fd_set * __restrict, const struct timespec * __restrict,
const sigset_t * __restrict) __RENAME(__pselect50);
+#endif /* !__minix */
int select(int, fd_set * __restrict, fd_set * __restrict,
fd_set * __restrict, struct timeval * __restrict) __RENAME(__select50);
#endif /* __LIBC12_SOURCE__ */
__END_DECLS
#endif /* _KERNEL */
+#ifdef _MINIX
+/* possible select() operation types; read, write, errors */
+/* (FS/driver internal use only) */
+#define SEL_RD (1 << 0)
+#define SEL_WR (1 << 1)
+#define SEL_ERR (1 << 2)
+#define SEL_NOTIFY (1 << 3) /* not a real select operation */
+#endif
+
#endif /* !_SYS_SELECT_H_ */
#undef _BSD_CLOCKID_T_
#endif
+#ifndef __minix
#ifdef _BSD_TIMER_T_
typedef _BSD_TIMER_T_ timer_t;
#undef _BSD_TIMER_T_
#endif
+#endif /* !__minix */
+#ifdef __minix
+#define CLOCKS_PER_SEC 60
+#else
#define CLOCKS_PER_SEC 100
+#endif
struct tm {
int tm_sec; /* seconds after the minute [0-61] */
int access(const char *, int);
unsigned int alarm(unsigned int);
int chdir(const char *);
-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
+#if !defined(__minix) && (defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE))
int chown(const char *, uid_t, gid_t) __RENAME(__posix_chown);
#else
int chown(const char *, uid_t, gid_t);
int brk(void *);
int fchdir(int);
-#if defined(_XOPEN_SOURCE)
+#if !defined(__minix) && defined(_XOPEN_SOURCE)
int fchown(int, uid_t, gid_t) __RENAME(__posix_fchown);
#else
int fchown(int, uid_t, gid_t);
#ifndef _UTMP_H_
#define _UTMP_H_
+#ifdef __minix
+#define _PATH_UTMP "/etc/utmp"
+#define _PATH_WTMP "/usr/adm/wtmp"
+#define _PATH_BTMP "/usr/adm/btmp"
+#define _PATH_LASTLOG "/usr/adm/lastlog"
+#define UTMP _PATH_UTMP
+#define WTMP _PATH_WTMP
+#define BTMP _PATH_BTMP
+#else
#define _PATH_UTMP "/var/run/utmp"
#define _PATH_WTMP "/var/log/wtmp"
#define _PATH_LASTLOG "/var/log/lastlog"
+#endif
#define UT_NAMESIZE 8
+#ifdef __minix
+#define UT_LINESIZE 12
+#else
#define UT_LINESIZE 8
+#endif
#define UT_HOSTSIZE 16
struct lastlog {
char ll_host[UT_HOSTSIZE];
};
+#ifdef __minix
+struct utmp {
+ char ut_name[UT_NAMESIZE]; /* user name */
+ char ut_id[4]; /* /etc/inittab ID */
+ char ut_line[UT_LINESIZE]; /* terminal name */
+ char ut_host[UT_HOSTSIZE]; /* host name, when remote */
+ short ut_pid; /* process id */
+ short int ut_type; /* type of entry */
+ long ut_time; /* login/logout time */
+};
+
+/* Definitions for ut_type. */
+#define RUN_LVL 1 /* this is a RUN_LEVEL record */
+#define BOOT_TIME 2 /* this is a REBOOT record */
+#define INIT_PROCESS 5 /* this process was spawned by INIT */
+#define LOGIN_PROCESS 6 /* this is a 'getty' process waiting */
+#define USER_PROCESS 7 /* any other user process */
+#define DEAD_PROCESS 8 /* this process has died (wtmp only) */
+
+#else /* !__minix */
+
struct utmp {
char ut_line[UT_LINESIZE];
char ut_name[UT_NAMESIZE];
char ut_host[UT_HOSTSIZE];
time_t ut_time;
};
+#endif /* __minix */
__BEGIN_DECLS
int utmpname(const char *);