1GETPAGESIZE(2)             Linux Programmer's Manual            GETPAGESIZE(2)
2
3
4

NAME

6       getpagesize - get memory page size
7

SYNOPSIS

9       #include <unistd.h>
10
11       int getpagesize(void);
12
13   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
14
15       getpagesize():
16           Since glibc 2.12:
17               _BSD_SOURCE ||
18                   !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
19           Before glibc 2.12:
20               _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
21               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
22

DESCRIPTION

24       The function getpagesize() returns the number  of  bytes  in  a  memory
25       page, where "page" is a fixed-length block, the unit for memory alloca‐
26       tion and file mapping performed by mmap(2).
27

CONFORMING TO

29       SVr4, 4.4BSD, SUSv2.   In  SUSv2  the  getpagesize()  call  is  labeled
30       LEGACY,  and  in  POSIX.1-2001 it has been dropped; HP-UX does not have
31       this call.
32

NOTES

34       Portable applications should employ  sysconf(_SC_PAGESIZE)  instead  of
35       getpagesize():
36
37           #include <unistd.h>
38           long sz = sysconf(_SC_PAGESIZE);
39
40       (Most systems allow the synonym _SC_PAGE_SIZE for _SC_PAGESIZE.)
41
42       Whether  getpagesize() is present as a Linux system call depends on the
43       architecture.  If it is, it returns the kernel symbol PAGE_SIZE,  whose
44       value  depends  on  the architecture and machine model.  Generally, one
45       uses binaries that are dependent on the architecture  but  not  on  the
46       machine model, in order to have a single binary distribution per archi‐
47       tecture.  This means that a user program should not find  PAGE_SIZE  at
48       compile  time  from  a  header  file, but use an actual system call, at
49       least for those architectures (like sun4) where this dependency exists.
50       Here libc4, libc5, glibc 2.0 fail because their getpagesize() returns a
51       statically derived value, and does not use a system call.   Things  are
52       OK in glibc 2.1.
53

SEE ALSO

55       mmap(2), sysconf(3)
56

COLOPHON

58       This  page  is  part of release 3.53 of the Linux man-pages project.  A
59       description of the project, and information about reporting  bugs,  can
60       be found at http://www.kernel.org/doc/man-pages/.
61
62
63
64Linux                             2010-11-16                    GETPAGESIZE(2)
Impressum