X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgetpagesize.h;h=17f070f634386da1beb124e3be1a9664f84a35f8;hb=5131be5b019b1110cd597012b63e48886aaaafc7;hp=4e513c31adeb08b93ecb7e01f5496544ca62f5bb;hpb=3dba1682f1b6f9a19fc9df51cae3ea9c3c273951;p=gnulib.git diff --git a/lib/getpagesize.h b/lib/getpagesize.h index 4e513c31a..17f070f63 100644 --- a/lib/getpagesize.h +++ b/lib/getpagesize.h @@ -1,35 +1,65 @@ -/* Emulate getpagesize on systems that lack it. */ +/* Emulate getpagesize on systems that lack it. + Copyright (C) 1999, 2000, 2004 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. */ #ifndef HAVE_GETPAGESIZE -#ifdef VMS -#define getpagesize() 512 +#ifdef HAVE_UNISTD_H +# include #endif -#ifdef HAVE_UNISTD_H -#include +#if !defined getpagesize && defined _SC_PAGESIZE +# if !(defined VMS && __VMS_VER < 70000000) +# define getpagesize() sysconf (_SC_PAGESIZE) +# endif #endif -#ifdef _SC_PAGESIZE -#define getpagesize() sysconf(_SC_PAGESIZE) -#else - -#include - -#ifdef EXEC_PAGESIZE -#define getpagesize() EXEC_PAGESIZE -#else -#ifdef NBPG -#define getpagesize() NBPG * CLSIZE -#ifndef CLSIZE -#define CLSIZE 1 -#endif /* no CLSIZE */ -#else /* no NBPG */ -#ifdef NBPC -#define getpagesize() NBPC -#endif /* NBPC */ -#endif /* no NBPG */ -#endif /* no EXEC_PAGESIZE */ -#endif /* no _SC_PAGESIZE */ +#if !defined getpagesize && defined VMS +# ifdef __ALPHA +# define getpagesize() 8192 +# else +# define getpagesize() 512 +# endif +#endif + +/* This is for BeOS. */ +#if !defined getpagesize && HAVE_OS_H +# include +# if defined B_PAGE_SIZE +# define getpagesize() B_PAGE_SIZE +# endif +#endif + +#if !defined getpagesize && HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else +# ifdef NBPG +# ifndef CLSIZE +# define CLSIZE 1 +# endif +# define getpagesize() (NBPG * CLSIZE) +# else +# ifdef NBPC +# define getpagesize() NBPC +# endif +# endif +# endif +#endif #endif /* not HAVE_GETPAGESIZE */