Provided by: manpages-dev_2.17-1_all bug

NAME

       getpagesize - get memory page size

SYNOPSIS

       #include <unistd.h>

       int getpagesize(void);

DESCRIPTION

       The function getpagesize() returns the number of bytes in a page, where
       a "page" is the thing used where it says in the description of  mmap(2)
       that files are mapped in page-sized units.

       The size of the kind of pages that mmap() uses, is found using

              #include <unistd.h>
              long sz = sysconf(_SC_PAGESIZE);

       (where   some   systems   also  allow  the  synonym  _SC_PAGE_SIZE  for
       _SC_PAGESIZE), or

              #include <unistd.h>
              int sz = getpagesize();

HISTORY

       This call first appeared in 4.2BSD.

CONFORMING TO

       SVr4, 4.4BSD, SUSv2.   In  SUSv2  the  getpagesize()  call  is  labeled
       "legacy",  and in POSIX 1003.1-2001 it has been dropped.  HPUX does not
       have this call.

NOTES

       Whether getpagesize() is present as a Linux system call depends on  the
       architecture.   If it is, it returns the kernel symbol PAGE_SIZE, which
       is architecture and  machine  model  dependent.   Generally,  one  uses
       binaries  that  are  architecture  but  not machine model dependent, in
       order to have a single binary distribution per architecture. This means
       that  a  user  program should not find 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 libc4,
       libc5, glibc 2.0 fail because their getpagesize() returns a  statically
       derived  value, and does not use a system call.  Things are OK in glibc
       2.1.

SEE ALSO

       mmap(2), sysconf(3)