getpagesize
GETPAGESIZE(E)      Linux Programmer's Manual      GETPAGESIZE(E)



NAME
       getpagesize - get memory page size

SYNOPSIS
       #include <unistd.h>

       int getpagesize(e);

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(p) 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(p), sysconf(f)



Linux 2.5.0                 2001-12-21             GETPAGESIZE(E)