summaryrefslogtreecommitdiff
path: root/src/getpagesize.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1993-07-30 22:30:50 +0000
committerRoland McGrath <roland@gnu.org>1993-07-30 22:30:50 +0000
commitd964495c3aeb21cbafaff05db0c079f8b41ea766 (patch)
treee6fd41f0ac4ad77c88b6ed70bf907d0cb392850c /src/getpagesize.h
parent108b2b07100e1948b85fcaf6466957a2683eb8b5 (diff)
downloademacs-d964495c3aeb21cbafaff05db0c079f8b41ea766.tar.gz
Initial revision
Diffstat (limited to 'src/getpagesize.h')
-rw-r--r--src/getpagesize.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/getpagesize.h b/src/getpagesize.h
new file mode 100644
index 00000000000..4e513c31ade
--- /dev/null
+++ b/src/getpagesize.h
@@ -0,0 +1,35 @@
+/* Emulate getpagesize on systems that lack it. */
+
+#ifndef HAVE_GETPAGESIZE
+
+#ifdef VMS
+#define getpagesize() 512
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef _SC_PAGESIZE
+#define getpagesize() sysconf(_SC_PAGESIZE)
+#else
+
+#include <sys/param.h>
+
+#ifdef EXEC_PAGESIZE
+#define getpagesize() EXEC_PAGESIZE
+#else
+#ifdef NBPG
+#define getpagesize() NBPG * CLSIZE
+#ifndef CLSIZE
+#define CLSIZE 1
+#endif /* no CLSIZE */
+#else /* no NBPG */
+#ifdef NBPC
+#define getpagesize() NBPC
+#endif /* NBPC */
+#endif /* no NBPG */
+#endif /* no EXEC_PAGESIZE */
+#endif /* no _SC_PAGESIZE */
+
+#endif /* not HAVE_GETPAGESIZE */