legacy junk compatibility grab-bag
- add the rest of the junk traditionally in sys/param.h
- add prototypes for some nonstandard functions
- add _GNU_SOURCE to their source files so the compiler can check proto
diff --git a/include/sys/param.h b/include/sys/param.h
index 30499cc..1650e77 100644
--- a/include/sys/param.h
+++ b/include/sys/param.h
@@ -1,20 +1,35 @@
-#undef MAXSYMLINKS
+#ifndef _SYS_PARAM_H
+#define _SYS_PARAM_H
+
#define MAXSYMLINKS 20
-
-#undef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 64
-
-#undef MAXNAMLEN
#define MAXNAMLEN 255
-
-#undef MAXPATHLEN
#define MAXPATHLEN 4096
+#define NBBY 8
+#define NGROUPS 32
+#define CANBSIZE 255
+#define NOFILE 256
+#define NCARGS 131072
+#define DEV_BSIZE 512
+#define NOGROUP (-1)
#undef MIN
#undef MAX
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))
+#define ___bitop(x,i,o) ((a)[(i)/8] o 1<<(i)%8)
+#define setbit(x,i) __bitop(x,i,|=)
+#define clrbit(x,i) __bitop(x,i,&=~)
+#define isset(x,i) __bitop(x,i,&)
+#define isclr(x,i) !isset(x,i)
+
+#define howmany(n,d) (((n)+((d)-1))/(d))
+#define roundup(n,d) (howmany(n,d)*(d))
+#define powerof2(n) !(((n)-1) & (n))
+
#include <sys/resource.h>
#include <endian.h>
#include <limits.h>
+
+#endif
diff --git a/include/termios.h b/include/termios.h
index 4c46562..3ae853d 100644
--- a/include/termios.h
+++ b/include/termios.h
@@ -32,6 +32,11 @@
pid_t tcgetsid (int);
+#ifdef _GNUS_SOURCE
+void cfmakeraw(struct termios *);
+int cfsetspeed(struct termios *, speed_t);
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/include/time.h b/include/time.h
index ddfad58..98d0111 100644
--- a/include/time.h
+++ b/include/time.h
@@ -108,6 +108,11 @@
#endif
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+int stime(time_t *);
+#endif
+
+
#ifdef __cplusplus
}
#endif
diff --git a/include/unistd.h b/include/unistd.h
index 7662e51..ee7ee6d 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -159,6 +159,8 @@
int setresuid(uid_t, uid_t, uid_t);
int setresgid(gid_t, gid_t, gid_t);
char *get_current_dir_name(void);
+int daemon(int, int);
+int getdomainname(char *, size_t);
#endif
#define _XOPEN_VERSION 700
diff --git a/src/linux/daemon.c b/src/linux/daemon.c
index afb8019..1568b1d 100644
--- a/src/linux/daemon.c
+++ b/src/linux/daemon.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
#include <fcntl.h>
#include <unistd.h>
diff --git a/src/termios/cfmakeraw.c b/src/termios/cfmakeraw.c
index a3daa09..c9dddc1 100644
--- a/src/termios/cfmakeraw.c
+++ b/src/termios/cfmakeraw.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
#include <termios.h>
void cfmakeraw(struct termios *t)