ABCDEFGHIJKLMNOPQRSTUVWXYZ

getpagesize

GETPAGESIZE(2)             Linux Programmer's Manual            GETPAGESIZE(2)



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_PAGE-
       SIZE), 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 bina-
       ries 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)



Linux 2.5.0                       2001-12-21                    GETPAGESIZE(2)