1/* Emulation of getpagesize() for systems that need it. 2 Copyright (C) 1991-2003 Free Software Foundation, Inc. 3 4This program is free software; you can redistribute it and/or modify 5it under the terms of the GNU General Public License as published by 6the Free Software Foundation; either version 2 of the License, or 7(at your option) any later version. 8 9This program is distributed in the hope that it will be useful, 10but WITHOUT ANY WARRANTY; without even the implied warranty of 11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12GNU General Public License for more details. 13 14You should have received a copy of the GNU General Public License 15along with this program; if not, write to the Free Software 16Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ 17 18#if defined (HAVE_UNISTD_H) 19# ifdef _MINIX 20# include <sys/types.h> 21# endif 22# include <unistd.h> 23# if defined (_SC_PAGESIZE) 24# define getpagesize() sysconf(_SC_PAGESIZE) 25# else 26# if defined (_SC_PAGE_SIZE) 27# define getpagesize() sysconf(_SC_PAGE_SIZE) 28# endif /* _SC_PAGE_SIZE */ 29# endif /* _SC_PAGESIZE */ 30#endif 31 32#if !defined (getpagesize) 33# ifndef _MINIX 34# include <sys/param.h> 35# endif 36# if defined (PAGESIZE) 37# define getpagesize() PAGESIZE 38# else /* !PAGESIZE */ 39# if defined (EXEC_PAGESIZE) 40# define getpagesize() EXEC_PAGESIZE 41# else /* !EXEC_PAGESIZE */ 42# if defined (NBPG) 43# if !defined (CLSIZE) 44# define CLSIZE 1 45# endif /* !CLSIZE */ 46# define getpagesize() (NBPG * CLSIZE) 47# else /* !NBPG */ 48# if defined (NBPC) 49# define getpagesize() NBPC 50# endif /* NBPC */ 51# endif /* !NBPG */ 52# endif /* !EXEC_PAGESIZE */ 53# endif /* !PAGESIZE */ 54#endif /* !getpagesize */ 55 56#if !defined (getpagesize) 57# define getpagesize() 4096 /* Just punt and use reasonable value */ 58#endif 59