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
This commit is contained in:
Rich Felker 2012-04-18 12:22:24 -04:00
parent ed0e3a357e
commit ba6a9e7734
6 changed files with 36 additions and 7 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,4 @@
#define _GNU_SOURCE
#include <fcntl.h>
#include <unistd.h>

View File

@ -1,3 +1,4 @@
#define _GNU_SOURCE
#include <termios.h>
void cfmakeraw(struct termios *t)