1*ba9bdd8bSchristos /* Placed in the public domain */ 2*ba9bdd8bSchristos 3*ba9bdd8bSchristos #include "openbsd-compat.h" 4*ba9bdd8bSchristos 5*ba9bdd8bSchristos #if !defined(HAVE_GETPAGESIZE) 6*ba9bdd8bSchristos 7*ba9bdd8bSchristos #ifdef HAVE_UNISTD_H 8*ba9bdd8bSchristos #include <unistd.h> 9*ba9bdd8bSchristos #endif 10*ba9bdd8bSchristos #include <limits.h> 11*ba9bdd8bSchristos 12*ba9bdd8bSchristos int getpagesize(void)13*ba9bdd8bSchristosgetpagesize(void) 14*ba9bdd8bSchristos { 15*ba9bdd8bSchristos #if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) 16*ba9bdd8bSchristos long r = sysconf(_SC_PAGESIZE); 17*ba9bdd8bSchristos if (r > 0 && r < INT_MAX) 18*ba9bdd8bSchristos return (int)r; 19*ba9bdd8bSchristos #endif 20*ba9bdd8bSchristos /* 21*ba9bdd8bSchristos * This is at the lower end of common values and appropriate for 22*ba9bdd8bSchristos * our current use of getpagesize() in recallocarray(). 23*ba9bdd8bSchristos */ 24*ba9bdd8bSchristos return 4096; 25*ba9bdd8bSchristos } 26*ba9bdd8bSchristos 27*ba9bdd8bSchristos #endif /* !defined(HAVE_GETPAGESIZE) */ 28