summaryrefslogtreecommitdiffstats
path: root/upstream/debian-bookworm/man2/getpagesize.2
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/debian-bookworm/man2/getpagesize.2
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-bookworm/man2/getpagesize.2')
-rw-r--r--upstream/debian-bookworm/man2/getpagesize.288
1 files changed, 88 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man2/getpagesize.2 b/upstream/debian-bookworm/man2/getpagesize.2
new file mode 100644
index 00000000..cc1bfed2
--- /dev/null
+++ b/upstream/debian-bookworm/man2/getpagesize.2
@@ -0,0 +1,88 @@
+.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH getpagesize 2 2023-02-05 "Linux man-pages 6.03"
+.SH NAME
+getpagesize \- get memory page size
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <unistd.h>
+.PP
+.B int getpagesize(void);
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR getpagesize ():
+.nf
+ Since glibc 2.20:
+ _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
+ glibc 2.12 to glibc 2.19:
+ _BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
+ Before glibc 2.12:
+ _BSD_SOURCE || _XOPEN_SOURCE >= 500
+.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
+.fi
+.SH DESCRIPTION
+The function
+.BR getpagesize ()
+returns the number of bytes in a memory page,
+where "page" is a fixed-length block,
+the unit for memory allocation and file mapping performed by
+.BR mmap (2).
+.\" .SH HISTORY
+.\" This call first appeared in 4.2BSD.
+.SH STANDARDS
+SVr4, 4.4BSD, SUSv2.
+In SUSv2 the
+.BR getpagesize ()
+call is labeled LEGACY, and in POSIX.1-2001
+it has been dropped;
+HP-UX does not have this call.
+.SH NOTES
+Portable applications should employ
+.I sysconf(_SC_PAGESIZE)
+instead of
+.BR getpagesize ():
+.PP
+.in +4n
+.EX
+#include <unistd.h>
+long sz = sysconf(_SC_PAGESIZE);
+.EE
+.in
+.PP
+(Most systems allow the synonym
+.B _SC_PAGE_SIZE
+for
+.BR _SC_PAGESIZE .)
+.PP
+Whether
+.BR getpagesize ()
+is present as a Linux system call depends on the architecture.
+If it is, it returns the kernel symbol
+.BR PAGE_SIZE ,
+whose value depends on the architecture and machine model.
+Generally, one uses binaries that are dependent on the architecture but not
+on the machine model, in order to have a single binary
+distribution per architecture.
+This means that a user program
+should not find
+.B PAGE_SIZE
+at compile time from a header file,
+but use an actual system call, at least for those architectures
+(like sun4) where this dependency exists.
+Here glibc 2.0 fails because its
+.BR getpagesize ()
+returns a statically derived value, and does not use a system call.
+Things are OK in glibc 2.1.
+.SH SEE ALSO
+.BR mmap (2),
+.BR sysconf (3)