getpagesize.h revision 131557
1129198Scognet/* Emulate getpagesize on systems that lack it.  */
2129198Scognet
3139735Simp/* $FreeBSD: head/gnu/usr.bin/grep/getpagesize.h 131557 2004-07-04 10:02:03Z tjr $ */
4129198Scognet
5129198Scognet#ifndef HAVE_GETPAGESIZE
6129198Scognet
7129198Scognet#if !defined getpagesize && defined __BEOS__
8129198Scognet# include <OS.h>
9129198Scognet# define getpagesize() B_PAGE_SIZE
10129198Scognet#endif
11129198Scognet
12129198Scognet#ifdef HAVE_UNISTD_H
13129198Scognet# include <unistd.h>
14129198Scognet#endif
15129198Scognet
16129198Scognet#if !defined getpagesize && defined _SC_PAGESIZE
17129198Scognet# if !(defined VMS && __VMS_VER < 70000000)
18129198Scognet#  define getpagesize() sysconf (_SC_PAGESIZE)
19129198Scognet# endif
20129198Scognet#endif
21129198Scognet
22129198Scognet#if !defined getpagesize && defined VMS
23129198Scognet# ifdef __ALPHA
24129198Scognet#  define getpagesize() 8192
25129198Scognet# else
26129198Scognet#  define getpagesize() 512
27129198Scognet# endif
28129198Scognet#endif
29129198Scognet
30129198Scognet#ifndef getpagesize
31129198Scognet# include <sys/param.h>
32129198Scognet# ifdef EXEC_PAGESIZE
33129198Scognet#  define getpagesize() EXEC_PAGESIZE
34129198Scognet# else
35129198Scognet#  ifdef NBPG
36129198Scognet#   ifndef CLSIZE
37129198Scognet#    define CLSIZE 1
38129198Scognet#   endif
39129198Scognet#   define getpagesize() (NBPG * CLSIZE)
40129198Scognet#  else
41294681Sian#   ifdef NBPC
42129198Scognet#    define getpagesize() NBPC
43239033Sandrew#   endif
44129198Scognet#  endif
45150864Scognet# endif
46150864Scognet#endif
47150864Scognet
48150864Scognet#endif /* not HAVE_GETPAGESIZE */
49150864Scognet