getpagesize

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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
       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)



Linux 2.5.0			  2001-12-21		       GETPAGESIZE(2)