X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgetpagesize.h;h=8863336666e9ae633102a628037e93457226e365;hb=ccd54782ae73477aa3f3987ab04db9e6fde025d6;hp=4e513c31adeb08b93ecb7e01f5496544ca62f5bb;hpb=3dba1682f1b6f9a19fc9df51cae3ea9c3c273951;p=gnulib.git diff --git a/lib/getpagesize.h b/lib/getpagesize.h index 4e513c31a..886333666 100644 --- a/lib/getpagesize.h +++ b/lib/getpagesize.h @@ -1,35 +1,68 @@ -/* Emulate getpagesize on systems that lack it. */ +/* Emulate getpagesize on systems that lack it. + Copyright (C) 1999, 2000, 2004, 2005 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 +#include + +#if !defined getpagesize && defined _SC_PAGESIZE +# if ! (defined __VMS && __VMS_VER < 70000000) +# define getpagesize() sysconf (_SC_PAGESIZE) +# endif #endif -#ifdef HAVE_UNISTD_H -#include +#if !defined getpagesize && defined __VMS +# ifdef __ALPHA +# define getpagesize() 8192 +# else +# define getpagesize() 512 +# 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 */ +/* This is for BeOS. */ +#if !defined getpagesize && HAVE_OS_H +# include +# if defined B_PAGE_SIZE +# define getpagesize() B_PAGE_SIZE +# endif +#endif + +/* This is for AmigaOS4.0. */ +#if !defined getpagesize && defined __amigaos4__ +# define getpagesize() 2048 +#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 */