From ba6a9e7734aaff8f4e7d49b888f9dd1954bc92b1 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 18 Apr 2012 12:22:24 -0400 Subject: 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 --- include/sys/param.h | 29 ++++++++++++++++++++++------- include/termios.h | 5 +++++ include/time.h | 5 +++++ include/unistd.h | 2 ++ src/linux/daemon.c | 1 + src/termios/cfmakeraw.c | 1 + 6 files changed, 36 insertions(+), 7 deletions(-) diff --git a/include/sys/param.h b/include/sys/param.h index 30499cc7..1650e772 100644 --- a/include/sys/param.h +++ b/include/sys/param.h @@ -1,20 +1,35 @@ -#undef MAXSYMLINKS -#define MAXSYMLINKS 20 +#ifndef _SYS_PARAM_H +#define _SYS_PARAM_H -#undef MAXHOSTNAMELEN +#define MAXSYMLINKS 20 #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 #include #include + +#endif diff --git a/include/termios.h b/include/termios.h index 4c465627..3ae853d8 100644 --- a/include/termios.h +++ b/include/termios.h @@ -32,6 +32,11 @@ int tcflow (int, int); 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 ddfad58f..98d0111f 100644 --- a/include/time.h +++ b/include/time.h @@ -108,6 +108,11 @@ struct tm *getdate (const char *); #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 7662e518..ee7ee6d8 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -159,6 +159,8 @@ int setgroups(size_t, const gid_t []); 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 afb8019f..1568b1dc 100644 --- a/src/linux/daemon.c +++ b/src/linux/daemon.c @@ -1,3 +1,4 @@ +#define _GNU_SOURCE #include #include diff --git a/src/termios/cfmakeraw.c b/src/termios/cfmakeraw.c index a3daa09a..c9dddc12 100644 --- a/src/termios/cfmakeraw.c +++ b/src/termios/cfmakeraw.c @@ -1,3 +1,4 @@ +#define _GNU_SOURCE #include void cfmakeraw(struct termios *t) -- cgit v1.2.1