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(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
16

DESCRIPTION

18       The function getpagesize() returns the number of bytes in a page, where
19       a "page" is the thing used where it says in the description of  mmap(2)
20       that files are mapped in page-sized units.
21
22       The size of the kind of pages that mmap(2) uses, is found using
23
24           #include <unistd.h>
25           long sz = sysconf(_SC_PAGESIZE);
26
27       (most systems allow the synonym _SC_PAGE_SIZE for _SC_PAGESIZE), or
28
29           #include <unistd.h>
30           int sz = getpagesize();
31

CONFORMING TO

33       SVr4,  4.4BSD,  SUSv2.   In  SUSv2  the  getpagesize()  call is labeled
34       LEGACY, and in POSIX.1-2001 it has been dropped; HP-UX  does  not  have
35       this  call.   Portable applications should employ sysconf(_SC_PAGESIZE)
36       instead of this call.
37

NOTES

39       Whether getpagesize() is present as a Linux system call depends on  the
40       architecture.   If it is, it returns the kernel symbol PAGE_SIZE, whose
41       value depends on the architecture and machine  model.   Generally,  one
42       uses  binaries  that  are  dependent on the architecture but not on the
43       machine model, in order to have a single binary distribution per archiā€
44       tecture.   This  means that a user program should not find PAGE_SIZE at
45       compile time from a header file, but use  an  actual  system  call,  at
46       least for those architectures (like sun4) where this dependency exists.
47       Here libc4, libc5, glibc 2.0 fail because their getpagesize() returns a
48       statically  derived  value, and does not use a system call.  Things are
49       OK in glibc 2.1.
50

SEE ALSO

52       mmap(2), sysconf(3)
53

COLOPHON

55       This page is part of release 3.22 of the Linux  man-pages  project.   A
56       description  of  the project, and information about reporting bugs, can
57       be found at http://www.kernel.org/doc/man-pages/.
58
59
60
61Linux                             2007-07-26                    GETPAGESIZE(2)
Impressum