9de8c06f7ebed7bef1e3abe25f915abc8944e5a1
[gnulib.git] / lib / getpagesize.h
1 /* Emulate getpagesize on systems that lack it.  */
2
3 #ifndef HAVE_GETPAGESIZE
4
5 #ifdef HAVE_UNISTD_H
6 # include <unistd.h>
7 #endif
8
9 #if !defined getpagesize && defined _SC_PAGESIZE
10 # if !(defined VMS && __VMS_VER < 70000000)
11 #  define getpagesize() sysconf (_SC_PAGESIZE)
12 # endif
13 #endif
14
15 #if !defined getpagesize && defined VMS
16 # ifdef __ALPHA
17 #  define getpagesize() 8192
18 # else
19 #  define getpagesize() 512
20 # endif
21 #endif
22
23 #if !defined getpagesize && HAVE_OS_H
24 # include <OS.h>
25 # if defined B_PAGE_SIZE
26 #  define getpagesize() B_PAGE_SIZE
27 # endif
28 #endif
29
30 #ifndef getpagesize
31 # include <sys/param.h>
32 # ifdef EXEC_PAGESIZE
33 #  define getpagesize() EXEC_PAGESIZE
34 # else
35 #  ifdef NBPG
36 #   ifndef CLSIZE
37 #    define CLSIZE 1
38 #   endif
39 #   define getpagesize() (NBPG * CLSIZE)
40 #  else
41 #   ifdef NBPC
42 #    define getpagesize() NBPC
43 #   endif
44 #  endif
45 # endif
46 #endif
47
48 #endif /* not HAVE_GETPAGESIZE */