minix/nbsd_include/minix-port.patch
Ben Gras 6c9aa8a9ca don't declare closefrom()
Please enter the commit message for your changes. Lines starting
2011-07-13 14:38:52 +02:00

608 lines
17 KiB
Diff

diff -ru nbsdsrc/src/include/Makefile nbsd_include/Makefile
--- nbsdsrc/src/include/Makefile
+++ nbsd_include/Makefile
@@ -7,10 +7,28 @@
# Missing: mp.h
+.if defined(__MINIX)
+# Avoid installing: kvm.h lwp.h sa.h (latter not installed anyway)
INCS= a.out.h aio.h ar.h assert.h atomic.h \
bitstring.h bm.h cdbr.h cdbw.h complex.h cpio.h ctype.h \
db.h dirent.h disktab.h dlfcn.h err.h errno.h fenv.h fmtmsg.h fnmatch.h \
fstab.h fts.h ftw.h getopt.h glob.h grp.h ifaddrs.h iconv.h \
+ inttypes.h iso646.h langinfo.h libgen.h \
+ limits.h link.h link_aout.h link_elf.h locale.h \
+ login_cap.h malloc.h math.h md2.h \
+ memory.h mntopts.h monetary.h mpool.h mqueue.h \
+ ndbm.h netconfig.h netdb.h netgroup.h nlist.h nl_types.h nsswitch.h \
+ paths.h pwd.h randomid.h ranlib.h re_comp.h regex.h regexp.h \
+ resolv.h res_update.h rmt.h sched.h search.h semaphore.h setjmp.h \
+ sgtty.h signal.h stab.h stdbool.h stddef.h stdio.h stdlib.h string.h \
+ strings.h stringlist.h struct.h sysexits.h tar.h time.h \
+ ttyent.h tzfile.h ucontext.h ulimit.h unistd.h util.h utime.h utmp.h \
+ utmpx.h uuid.h varargs.h vis.h wchar.h wctype.h wordexp.h
+.else
+INCS= a.out.h aio.h ar.h assert.h atomic.h \
+ bitstring.h bm.h cdbr.h cdbw.h complex.h cpio.h ctype.h \
+ db.h dirent.h disktab.h dlfcn.h err.h errno.h fenv.h fmtmsg.h fnmatch.h \
+ fstab.h fts.h ftw.h getopt.h glob.h grp.h ifaddrs.h iconv.h \
inttypes.h iso646.h kvm.h langinfo.h libgen.h \
limits.h link.h link_aout.h link_elf.h locale.h \
login_cap.h lwp.h malloc.h math.h md2.h \
@@ -22,6 +40,7 @@
strings.h stringlist.h struct.h sysexits.h tar.h time.h \
ttyent.h tzfile.h ucontext.h ulimit.h unistd.h util.h utime.h utmp.h \
utmpx.h uuid.h varargs.h vis.h wchar.h wctype.h wordexp.h
+.endif
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 \
@@ -42,8 +61,22 @@
INCSDIR= /usr/include
+.if defined(__MINIX)
+# RPC is not compiled in the libc. This include also needs
+# rpcgen, which can be compiled if needed.
+.else
SUBDIR= rpc
+.endif
+.if !defined(__MINIX)
SUBDIR+= ../common/include/prop
+.endif
+
+.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 nbsdsrc/src/include/a.out.h nbsd_include/a.out.h
--- nbsdsrc/src/include/a.out.h
+++ nbsd_include/a.out.h
@@ -60,9 +60,14 @@
#ifndef _AOUT_H_
#define _AOUT_H_
+#ifdef __minix
+#include <compat/a.out.h>
+#else /* !__minix */
+
#include <sys/exec_aout.h>
#define _AOUT_INCLUDE_
#include <nlist.h>
+#endif /* !__minix */
#endif /* !_AOUT_H_ */
diff -ru nbsdsrc/src/include/arpa/nameser_compat.h nbsd_include/arpa/nameser_compat.h
--- nbsdsrc/src/include/arpa/nameser_compat.h
+++ nbsd_include/arpa/nameser_compat.h
@@ -133,6 +133,14 @@
unsigned arcount :16; /*%< number of resource entries */
} HEADER;
+#ifdef _MINIX
+#define dh_id id
+#define dh_qdcount qdcount
+#define dh_ancount ancount
+#define dh_nscount nscount
+#define dh_arcount arcount
+#endif
+
#define PACKETSZ NS_PACKETSZ
#define MAXDNAME NS_MAXDNAME
#define MAXCDNAME NS_MAXCDNAME
diff -ru nbsdsrc/src/include/dirent.h nbsd_include/dirent.h
--- nbsdsrc/src/include/dirent.h
+++ nbsd_include/dirent.h
@@ -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 nbsdsrc/src/include/fts.h nbsd_include/fts.h
--- nbsdsrc/src/include/fts.h
+++ nbsd_include/fts.h
@@ -75,7 +75,9 @@
#define FTS_PHYSICAL 0x010 /* physical walk */
#define FTS_SEEDOT 0x020 /* return dot and dot-dot */
#define FTS_XDEV 0x040 /* don't cross devices */
+#ifndef __minix
#define FTS_WHITEOUT 0x080 /* return whiteout information */
+#endif
#define FTS_OPTIONMASK 0x0ff /* valid user option mask */
#define FTS_NAMEONLY 0x100 /* (private) child names only */
diff -ru nbsdsrc/src/include/limits.h nbsd_include/limits.h
--- nbsdsrc/src/include/limits.h
+++ nbsd_include/limits.h
@@ -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 nbsdsrc/src/include/netdb.h nbsd_include/netdb.h
--- nbsdsrc/src/include/netdb.h
+++ nbsd_include/netdb.h
@@ -131,6 +131,9 @@
#ifndef _PATH_SERVICES_DB
#define _PATH_SERVICES_DB "/var/db/services.db"
#endif
+#ifdef __minix
+#define _PATH_SERVACCES "/etc/serv.access"
+#endif
#endif
__BEGIN_DECLS
diff -ru nbsdsrc/src/include/paths.h nbsd_include/paths.h
--- nbsdsrc/src/include/paths.h
+++ nbsd_include/paths.h
@@ -124,5 +124,9 @@
#define _PATH_VI "/usr/bin/vi"
#endif
+#ifdef __minix
+#include <minix/paths.h>
+#endif /* !__minix */
+
#endif /* !_PATHS_H_ */
diff -ru nbsdsrc/src/include/pwd.h nbsd_include/pwd.h
--- nbsdsrc/src/include/pwd.h
+++ nbsd_include/pwd.h
@@ -61,6 +61,14 @@
* SUCH DAMAGE.
*/
+#if defined(__minix) && defined(_MINIX_COMPAT)
+#include <compat/pwd.h>
+/* Avoid inclusion of the rest of the header. */
+#ifndef _PWD_H_
+#define _PWD_H_
+#endif
+#endif /* __minix && _MINIX_COMPAT */
+
#ifndef _PWD_H_
#define _PWD_H_
diff -ru nbsdsrc/src/include/sched.h nbsd_include/sched.h
--- nbsdsrc/src/include/sched.h
+++ nbsd_include/sched.h
@@ -29,6 +29,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef __minix
+#define _SCHED_H_
+#endif /* !__minix */
#ifndef _SCHED_H_
#define _SCHED_H_
diff -ru nbsdsrc/src/include/signal.h nbsd_include/signal.h
--- nbsdsrc/src/include/signal.h
+++ nbsd_include/signal.h
@@ -62,6 +62,7 @@
int __libc_sigaction14(int, const struct sigaction * __restrict,
struct sigaction * __restrict);
+#ifndef __minix
#if (_POSIX_C_SOURCE - 0L) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
defined(_NETBSD_SOURCE)
int pthread_sigmask(int, const sigset_t * __restrict,
@@ -73,6 +74,7 @@
#define pthread_sigmask __libc_thr_sigsetmask
#endif /* __LIBPTHREAD_SOURCE__ */
#endif
+#endif /* __minix */
#ifndef __LIBC12_SOURCE__
int sigaction(int, const struct sigaction * __restrict,
@@ -160,11 +162,13 @@
(_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
int killpg(pid_t, int);
int siginterrupt(int, int);
+#ifndef __minix
int sigstack(const struct sigstack *, struct sigstack *);
#ifndef __LIBC12_SOURCE__
int sigaltstack(const stack_t * __restrict, stack_t * __restrict)
__RENAME(__sigaltstack14);
#endif
+#endif /* !__minix */
int sighold(int);
int sigignore(int);
int sigpause(int);
@@ -178,10 +182,13 @@
*/
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
defined(_NETBSD_SOURCE)
+#ifndef __minix
int sigwait (const sigset_t * __restrict, int * __restrict);
int sigwaitinfo(const sigset_t * __restrict, siginfo_t * __restrict);
+#endif /* !__minix */
void psiginfo(const siginfo_t *, const char *);
+#ifndef __minix
#ifndef __LIBC12_SOURCE__
struct timespec;
int sigtimedwait(const sigset_t * __restrict,
@@ -191,15 +198,18 @@
siginfo_t * __restrict, struct timespec * __restrict)
__RENAME(____sigtimedwait50);
#endif
+#endif /* !__minix */
#endif /* _POSIX_C_SOURCE >= 200112 || _XOPEN_SOURCE_EXTENDED || ... */
#if defined(_NETBSD_SOURCE)
+#ifndef __minix
#ifndef __PSIGNAL_DECLARED
#define __PSIGNAL_DECLARED
/* also in unistd.h */
void psignal(int, const char *);
#endif /* __PSIGNAL_DECLARED */
+#endif /* !__minix */
int sigblock(int);
int sigsetmask(int);
#endif /* _NETBSD_SOURCE */
diff -ru nbsdsrc/src/include/stdio.h nbsd_include/stdio.h
--- nbsdsrc/src/include/stdio.h
+++ nbsd_include/stdio.h
@@ -274,7 +274,7 @@
__printflike(2, 0);
#endif
-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
+#if !defined(__minix) && (defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE))
int rename (const char *, const char *) __RENAME(__posix_rename);
#else
int rename (const char *, const char *);
diff -ru nbsdsrc/src/include/stdlib.h nbsd_include/stdlib.h
--- nbsdsrc/src/include/stdlib.h
+++ nbsd_include/stdlib.h
@@ -244,6 +244,8 @@
void *alloca(int); /* built-in for gcc */
#elif defined(__PCC__) && !defined(__GNUC__)
#define alloca(size) __builtin_alloca(size)
+#elif (__GNUC__ >= 2)
+#define alloca(size) __builtin_alloca(size)
#else
void *alloca(size_t);
#endif /* __GNUC__ */
@@ -265,9 +267,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 +284,9 @@
int humanize_number(char *, size_t, int64_t, const char *, int, int);
int dehumanize_number(const char *, int64_t *);
+#ifndef __minix
devmajor_t getdevmajor(const char *, mode_t);
+#endif /* !__minix */
int getloadavg(double [], int);
int getenv_r(const char *, char *, size_t);
diff -ru nbsdsrc/src/include/time.h nbsd_include/time.h
--- nbsdsrc/src/include/time.h
+++ nbsd_include/time.h
@@ -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);
+#ifdef __minix
+#define CLK_TCK (__sysconf(3))
+#else
#define CLK_TCK (__sysconf(39))
+#endif /* !__minix */
#endif
#endif
@@ -143,22 +153,28 @@
struct sigevent;
struct itimerspec;
#ifndef __LIBC12_SOURCE__
+#ifndef __minix
int clock_getres(clockid_t, struct timespec *)
__RENAME(__clock_getres50);
int clock_gettime(clockid_t, struct timespec *)
__RENAME(__clock_gettime50);
int clock_settime(clockid_t, const struct timespec *)
__RENAME(__clock_settime50);
+#endif /* !__minix */
int nanosleep(const struct timespec *, struct timespec *)
__RENAME(__nanosleep50);
+#ifndef __minix
int timer_gettime(timer_t, struct itimerspec *) __RENAME(__timer_gettime50);
int timer_settime(timer_t, int, const struct itimerspec * __restrict,
struct itimerspec * __restrict) __RENAME(__timer_settime50);
+#endif /* !__minix */
#endif
+#ifndef __minix
int timer_create(clockid_t, struct sigevent * __restrict,
timer_t * __restrict);
int timer_delete(timer_t);
int timer_getoverrun(timer_t);
+#endif /* __minix */
#endif /* _POSIX_C_SOURCE >= 199309 || _XOPEN_SOURCE >= 500 || ... */
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
@@ -204,6 +220,10 @@
__attribute__((__format__(__strftime__, 4, 0)));
#endif /* _NETBSD_SOURCE */
+
+#ifdef _MINIX
+int stime(time_t *_top);
+#endif /* _MINIX */
__END_DECLS
diff -ru nbsdsrc/src/include/unistd.h nbsd_include/unistd.h
--- nbsdsrc/src/include/unistd.h
+++ nbsd_include/unistd.h
@@ -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 *);
int setgid(gid_t);
+#ifndef __minix
int setpgid(pid_t, pid_t);
+#endif /* !__minix */
pid_t setsid(void);
int setuid(uid_t);
unsigned int sleep(unsigned int);
@@ -192,7 +194,9 @@
*/
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
defined(_NETBSD_SOURCE)
+#ifndef __minix
int fdatasync(int);
+#endif /* !__minix */
int fsync(int);
#endif
@@ -222,7 +226,9 @@
__aconst char *crypt(const char *, const char *);
int encrypt(char *, int);
char *getpass(const char *);
+#ifndef __minix
pid_t getsid(pid_t);
+#endif /* !__minix */
#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
getpagesize(void); /* legacy */
+#ifndef __minix
pid_t getpgid(pid_t);
+#endif /* !__minix */
+#ifndef __minix
#if defined(_XOPEN_SOURCE)
int lchown(const char *, uid_t, gid_t) __RENAME(__posix_lchown);
#else
int lchown(const char *, uid_t, gid_t);
#endif
+#endif /* !__minix */
int lockf(int, int, off_t);
#if __SSP_FORTIFY_LEVEL == 0
ssize_t readlink(const char * __restrict, char * __restrict, size_t);
#endif
void *sbrk(intptr_t);
+#ifndef __minix
/* XXX prototype wrong! */
int setpgrp(pid_t, pid_t); /* obsoleted by setpgid() */
int setregid(gid_t, gid_t);
int setreuid(uid_t, uid_t);
+#endif /* !__minix */
void swab(const void * __restrict, void * __restrict, ssize_t);
int symlink(const char *, const char *);
void sync(void);
useconds_t ualarm(useconds_t, useconds_t);
int usleep(useconds_t);
+#ifndef __minix
#ifndef __LIBC12_SOURCE__
pid_t vfork(void) __RENAME(__vfork14);
#endif
+#endif /* !__minix */
#ifndef __AUDIT__
char *getwd(char *); /* obsoleted by getcwd() */
@@ -295,9 +309,15 @@
/*
* Implementation-defined extensions
*/
+#if defined(__minix)
+int lseek64(int fd, u64_t _offset, int _whence, u64_t *_newpos);
+#endif /* !__minix */
+
#if defined(_NETBSD_SOURCE)
+#ifndef __minix
int acct(const char *);
int closefrom(int);
+#endif /* !__minix */
int des_cipher(const char *, char *, long, int);
int des_setkey(const char *);
void endusershell(void);
@@ -315,15 +335,23 @@
int iruserok(uint32_t, int, const char *, const char *);
int issetugid(void);
int nfssvc(int, void *);
+#ifndef __minix
int profil(char *, size_t, u_long, u_int);
#ifndef __PSIGNAL_DECLARED
#define __PSIGNAL_DECLARED
/* also in signal.h */
void psignal(int, const char *);
#endif /* __PSIGNAL_DECLARED */
+#endif /* !__minix */
int rcmd(char **, int, const char *, const char *, const char *, int *);
+#ifdef __minix
+int reboot(int, ...);
+#else
int reboot(int, char *);
+#endif
+#ifndef __minix
int revoke(const char *);
+#endif
int rresvport(int *);
int ruserok(const char *, int, const char *, const char *);
int setdomainname(const char *, size_t);
@@ -341,8 +369,10 @@
/* backwards-compatibility; also in string.h */
__aconst char *strsignal(int);
#endif /* __STRSIGNAL_DECLARED */
+#ifndef __minix
int swapctl(int, void *, int);
int swapon(const char *); /* obsoleted by swapctl() */
+#endif /* !__minix */
int syscall(int, ...);
quad_t __syscall(quad_t, ...);
int undelete(const char *);
@@ -364,4 +394,10 @@
#endif
__END_DECLS
+
+#ifdef __minix
+/* Minix expects RBT_* flags to be included with <unistd.h> */
+#include <sys/reboot.h>
+#endif
+
#endif /* !_UNISTD_H_ */
diff -ru nbsdsrc/src/include/utmp.h nbsd_include/utmp.h
--- nbsdsrc/src/include/utmp.h
+++ nbsd_include/utmp.h
@@ -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 *);