summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-07-15 09:31:44 +0000
committerJim Meyering <jim@meyering.net>1999-07-15 09:31:44 +0000
commit3dba1682f1b6f9a19fc9df51cae3ea9c3c273951 (patch)
tree3b56600aa84b5d4a79a26ed9e7b5d51cacfdaeec
parentd1d0f73fde7649d1bb2250cc27cc1359cda196f1 (diff)
downloadgnulib-3dba1682f1b6f9a19fc9df51cae3ea9c3c273951.tar.gz
.
-rw-r--r--lib/getpagesize.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/getpagesize.h b/lib/getpagesize.h
new file mode 100644
index 0000000000..4e513c31ad
--- /dev/null
+++ b/lib/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 */