153475Sobrien/* Emulate getpagesize on systems that lack it. */ 253451Speter 3126435Sache/* $FreeBSD$ */ 4126435Sache 553451Speter#ifndef HAVE_GETPAGESIZE 653451Speter 7131557Stjr#if !defined getpagesize && defined __BEOS__ 8131557Stjr# include <OS.h> 9131557Stjr# define getpagesize() B_PAGE_SIZE 10131557Stjr#endif 11131557Stjr 12126435Sache#ifdef HAVE_UNISTD_H 13126435Sache# include <unistd.h> 1456918Sru#endif 1553451Speter 16126435Sache#if !defined getpagesize && defined _SC_PAGESIZE 17126435Sache# if !(defined VMS && __VMS_VER < 70000000) 18126435Sache# define getpagesize() sysconf (_SC_PAGESIZE) 19126435Sache# endif 2056918Sru#endif 2153451Speter 22126435Sache#if !defined getpagesize && defined VMS 23126435Sache# ifdef __ALPHA 24126435Sache# define getpagesize() 8192 25126435Sache# else 26126435Sache# define getpagesize() 512 27126435Sache# endif 28126435Sache#endif 2953451Speter 30126435Sache#ifndef getpagesize 31126435Sache# include <sys/param.h> 32126435Sache# ifdef EXEC_PAGESIZE 33126435Sache# define getpagesize() EXEC_PAGESIZE 34126435Sache# else 35126435Sache# ifdef NBPG 36126435Sache# ifndef CLSIZE 37126435Sache# define CLSIZE 1 38126435Sache# endif 39126435Sache# define getpagesize() (NBPG * CLSIZE) 40126435Sache# else 41126435Sache# ifdef NBPC 42126435Sache# define getpagesize() NBPC 43126435Sache# endif 44126435Sache# endif 45126435Sache# endif 46126435Sache#endif 4756918Sru 4856918Sru#endif /* not HAVE_GETPAGESIZE */ 49