* bitmaps/README:
[bpt/emacs.git] / src / getpagesize.h
CommitLineData
b3ae7a0a 1/* Emulate getpagesize on systems that lack it.
0b5538bd 2 Copyright (C) 1986, 1992, 1995, 2001, 2002, 2003, 2004,
8cabe764 3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
b3ae7a0a
GM
4
5This file is part of GNU Emacs.
6
b9b1cc14 7GNU Emacs is free software: you can redistribute it and/or modify
b3ae7a0a 8it under the terms of the GNU General Public License as published by
b9b1cc14
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
b3ae7a0a
GM
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
b9b1cc14 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
bac7913a
RM
19
20#ifndef HAVE_GETPAGESIZE
21
eb93fe6a
DM
22# ifdef HAVE_UNISTD_H
23# include <unistd.h>
24# endif
bac7913a 25
eb93fe6a
DM
26# ifdef _SC_PAGESIZE
27# define getpagesize() sysconf(_SC_PAGESIZE)
4b45d671
DM
28# else /* no _SC_PAGESIZE */
29# ifdef HAVE_SYS_PARAM_H
30# include <sys/param.h>
31# ifdef EXEC_PAGESIZE
32# define getpagesize() EXEC_PAGESIZE
33# else /* no EXEC_PAGESIZE */
34# ifdef NBPG
35# define getpagesize() NBPG * CLSIZE
36# ifndef CLSIZE
37# define CLSIZE 1
38# endif /* no CLSIZE */
39# else /* no NBPG */
4b45d671
DM
40# ifdef PAGESIZE
41# define getpagesize() PAGESIZE
42# endif /* PAGESIZE */
4b45d671
DM
43# endif /* no NBPG */
44# endif /* no EXEC_PAGESIZE */
45# else /* no HAVE_SYS_PARAM_H */
46# define getpagesize() 8192 /* punt totally */
47# endif /* no HAVE_SYS_PARAM_H */
eb93fe6a 48# endif /* no _SC_PAGESIZE */
bac7913a 49
eb93fe6a 50#endif /* no HAVE_GETPAGESIZE */
ab5796a9
MB
51
52/* arch-tag: ff6206e3-97e2-4763-923a-e84bf28eabbc
53 (do not change this comment) */