Merge from emacs--devo--0
[emacs.git] / src / getpagesize.h
blobab54062f9120edb9d94ceeb8ed40019987b92ba4
1 /* Emulate getpagesize on systems that lack it.
2 Copyright (C) 1986, 1992, 1995, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
22 #ifndef HAVE_GETPAGESIZE
24 # ifdef VMS
25 # define getpagesize() 512
26 # endif
28 # ifdef HAVE_UNISTD_H
29 # include <unistd.h>
30 # endif
32 # ifdef _SC_PAGESIZE
33 # define getpagesize() sysconf(_SC_PAGESIZE)
34 # else /* no _SC_PAGESIZE */
35 # ifdef HAVE_SYS_PARAM_H
36 # include <sys/param.h>
37 # ifdef EXEC_PAGESIZE
38 # define getpagesize() EXEC_PAGESIZE
39 # else /* no EXEC_PAGESIZE */
40 # ifdef NBPG
41 # define getpagesize() NBPG * CLSIZE
42 # ifndef CLSIZE
43 # define CLSIZE 1
44 # endif /* no CLSIZE */
45 # else /* no NBPG */
46 # ifdef PAGESIZE
47 # define getpagesize() PAGESIZE
48 # endif /* PAGESIZE */
49 # endif /* no NBPG */
50 # endif /* no EXEC_PAGESIZE */
51 # else /* no HAVE_SYS_PARAM_H */
52 # define getpagesize() 8192 /* punt totally */
53 # endif /* no HAVE_SYS_PARAM_H */
54 # endif /* no _SC_PAGESIZE */
56 #endif /* no HAVE_GETPAGESIZE */
58 /* arch-tag: ff6206e3-97e2-4763-923a-e84bf28eabbc
59 (do not change this comment) */