diff options
Diffstat (limited to 'lib/getpagesize.h')
-rw-r--r-- | lib/getpagesize.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/lib/getpagesize.h b/lib/getpagesize.h new file mode 100644 index 0000000..8863336 --- /dev/null +++ b/lib/getpagesize.h @@ -0,0 +1,68 @@ +/* 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 + +#include <unistd.h> + +#if !defined getpagesize && defined _SC_PAGESIZE +# if ! (defined __VMS && __VMS_VER < 70000000) +# define getpagesize() sysconf (_SC_PAGESIZE) +# endif +#endif + +#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 <OS.h> +# 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 <sys/param.h> +# 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 */ |