root/src/getpagesize.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


     1 /* Emulate getpagesize on systems that lack it.
     2    Copyright (C) 1986, 1992, 1995, 2001-2023 Free Software Foundation,
     3    Inc.
     4 
     5 This file is part of GNU Emacs.
     6 
     7 GNU Emacs is free software: you can redistribute it and/or modify
     8 it under the terms of the GNU General Public License as published by
     9 the Free Software Foundation, either version 3 of the License, or (at
    10 your option) any later version.
    11 
    12 GNU Emacs is distributed in the hope that it will be useful,
    13 but WITHOUT ANY WARRANTY; without even the implied warranty of
    14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15 GNU General Public License for more details.
    16 
    17 You should have received a copy of the GNU General Public License
    18 along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
    19 
    20 #ifndef HAVE_GETPAGESIZE
    21 
    22 # include <unistd.h>
    23 
    24 # ifdef _SC_PAGESIZE
    25 #  define getpagesize() sysconf (_SC_PAGESIZE)
    26 # else /* no _SC_PAGESIZE */
    27 #  ifdef HAVE_SYS_PARAM_H
    28 #   include <sys/param.h>
    29 #   ifdef EXEC_PAGESIZE
    30 #    define getpagesize() EXEC_PAGESIZE
    31 #   else /* no EXEC_PAGESIZE */
    32 #    ifdef NBPG
    33 #     define getpagesize() NBPG * CLSIZE
    34 #     ifndef CLSIZE
    35 #      define CLSIZE 1
    36 #     endif /* no CLSIZE */
    37 #    else /* no NBPG */
    38 #      ifdef PAGESIZE
    39 #       define getpagesize() PAGESIZE
    40 #      endif /* PAGESIZE */
    41 #    endif /* no NBPG */
    42 #   endif /* no EXEC_PAGESIZE */
    43 #  else /* no HAVE_SYS_PARAM_H */
    44 #   define getpagesize() 8192   /* punt totally */
    45 #  endif /* no HAVE_SYS_PARAM_H */
    46 # endif /* no _SC_PAGESIZE */
    47 
    48 #endif /* no HAVE_GETPAGESIZE */

/* [<][>][^][v][top][bottom][index][help] */