diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/getpagesize.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/getpagesize.h b/lib/getpagesize.h new file mode 100644 index 000000000..4e513c31a --- /dev/null +++ b/lib/getpagesize.h @@ -0,0 +1,35 @@ +/* Emulate getpagesize on systems that lack it. */ + +#ifndef HAVE_GETPAGESIZE + +#ifdef VMS +#define getpagesize() 512 +#endif + +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + +#ifdef _SC_PAGESIZE +#define getpagesize() sysconf(_SC_PAGESIZE) +#else + +#include <sys/param.h> + +#ifdef EXEC_PAGESIZE +#define getpagesize() EXEC_PAGESIZE +#else +#ifdef NBPG +#define getpagesize() NBPG * CLSIZE +#ifndef CLSIZE +#define CLSIZE 1 +#endif /* no CLSIZE */ +#else /* no NBPG */ +#ifdef NBPC +#define getpagesize() NBPC +#endif /* NBPC */ +#endif /* no NBPG */ +#endif /* no EXEC_PAGESIZE */ +#endif /* no _SC_PAGESIZE */ + +#endif /* not HAVE_GETPAGESIZE */ |