summaryrefslogtreecommitdiff
path: root/lib
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
commit1950561a91675a2502b866e36bc4a25c8fae2d01 (patch)
tree4ef6dbe3b44448ba590ce1305275bf456465047a /lib
parent13b5f7bc462c87864786890b82f027720f2ac866 (diff)
downloadcoreutils-1950561a91675a2502b866e36bc4a25c8fae2d01.tar.xz
.
Diffstat (limited to 'lib')
-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 000000000..4e513c31a
--- /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 */