update.
[chise/xemacs-chise.git.1] / src / getpagesize.h
1 /* This file is part of XEmacs.
2
3 XEmacs is free software; you can redistribute it and/or modify it
4 under the terms of the GNU General Public License as published by the
5 Free Software Foundation; either version 2, or (at your option) any
6 later version.
7
8 XEmacs is distributed in the hope that it will be useful, but WITHOUT
9 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
11 for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with XEmacs; see the file COPYING.  If not, write to
15 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 Boston, MA 02111-1307, USA.  */
17
18 /* Synched up with: FSF 19.30. */
19
20 #ifndef INCLUDED_getpagesize_h_
21 #define INCLUDED_getpagesize_h_
22
23 /* Emulate getpagesize on systems that lack it.  */
24
25 #if 0
26 #ifdef __hpux
27 #include <sys/types.h>
28 static size_t getpagesize() { return( 4096 ); }
29 #define HAVE_GETPAGESIZE
30 #endif
31 #endif
32
33 #ifndef HAVE_GETPAGESIZE
34
35 #ifdef HAVE_UNISTD_H
36 #include <unistd.h>
37 #endif
38
39 #ifdef _SC_PAGESIZE
40 #define getpagesize() sysconf(_SC_PAGESIZE)
41 #else
42
43 #include <sys/param.h>
44
45 #ifdef EXEC_PAGESIZE
46 #define getpagesize() EXEC_PAGESIZE
47 #else
48 #ifdef NBPG
49 #define getpagesize() NBPG * CLSIZE
50 #ifndef CLSIZE
51 #define CLSIZE 1
52 #endif /* no CLSIZE */
53 #else /* no NBPG */
54 #if (defined (sparc) && defined (USG)) || defined (SOLARIS2)
55 #define getpagesize() PAGESIZE
56 #else /* not Solaris 2 */
57 #ifdef NBPC
58 #define getpagesize() NBPC
59 #else /* no NBPC */
60 #ifdef PAGESIZE
61 #define getpagesize() PAGESIZE
62 #endif
63 #endif /* NBPC */
64 #endif /* not Solaris 2 */
65 #endif /* no NBPG */
66 #endif /* no EXEC_PAGESIZE */
67 #endif /* _SC_PAGESIZE */
68 #endif /* not HAVE_GETPAGESIZE */
69
70 #endif /* INCLUDED_getpagesize_h_ */