1 /* Emulate getpagesize on systems that lack it.
2 Copyright (C) 1986, 1992, 1995, 2001-2019 Free Software Foundation,
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 of the License, or (at
10 your option) 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. If not, see <https://www.gnu.org/licenses/>. */
20 #ifndef HAVE_GETPAGESIZE
25 # define getpagesize() sysconf (_SC_PAGESIZE)
26 # else /* no _SC_PAGESIZE */
27 # ifdef HAVE_SYS_PARAM_H
28 # include <sys/param.h>
30 # define getpagesize() EXEC_PAGESIZE
31 # else /* no EXEC_PAGESIZE */
33 # define getpagesize() NBPG * CLSIZE
36 # endif /* no CLSIZE */
39 # define getpagesize() PAGESIZE
40 # endif /* PAGESIZE */
42 # endif /* no EXEC_PAGESIZE */
43 # else /* no HAVE_SYS_PARAM_H */
44 # define getpagesize() 8192 /* punt totally */
45 # endif /* no HAVE_SYS_PARAM_H */
46 # endif /* no _SC_PAGESIZE */
48 #endif /* no HAVE_GETPAGESIZE */