Add 2007 to copyright years.
[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,
4e6835db 3 2005, 2006, 2007 Free Software Foundation, Inc.
b3ae7a0a
GM
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
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
18along with GNU Emacs; see the file COPYING. If not, write to
4fc5845f
LK
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
bac7913a
RM
21
22#ifndef HAVE_GETPAGESIZE
23
eb93fe6a
DM
24# ifdef VMS
25# define getpagesize() 512
26# endif
bac7913a 27
eb93fe6a
DM
28# ifdef HAVE_UNISTD_H
29# include <unistd.h>
30# endif
bac7913a 31
eb93fe6a
DM
32# ifdef _SC_PAGESIZE
33# define getpagesize() sysconf(_SC_PAGESIZE)
4b45d671
DM
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 NBPC
47# define getpagesize() NBPC
48# else /* no NBPC */
49# ifdef PAGESIZE
50# define getpagesize() PAGESIZE
51# endif /* PAGESIZE */
52# endif /* no NBPC */
53# endif /* no NBPG */
54# endif /* no EXEC_PAGESIZE */
55# else /* no HAVE_SYS_PARAM_H */
56# define getpagesize() 8192 /* punt totally */
57# endif /* no HAVE_SYS_PARAM_H */
eb93fe6a 58# endif /* no _SC_PAGESIZE */
bac7913a 59
eb93fe6a 60#endif /* no HAVE_GETPAGESIZE */
ab5796a9
MB
61
62/* arch-tag: ff6206e3-97e2-4763-923a-e84bf28eabbc
63 (do not change this comment) */