xref: /freebsd/crypto/openssh/openbsd-compat/bsd-getpagesize.c (revision 47dd1d1b619cc035b82b49a91a25544309ff95ae)
14f52dfbbSDag-Erling Smørgrav /* Placed in the public domain */
24f52dfbbSDag-Erling Smørgrav 
3*47dd1d1bSDag-Erling Smørgrav #include "includes.h"
4*47dd1d1bSDag-Erling Smørgrav 
54f52dfbbSDag-Erling Smørgrav #ifndef HAVE_GETPAGESIZE
64f52dfbbSDag-Erling Smørgrav 
74f52dfbbSDag-Erling Smørgrav #include <unistd.h>
84f52dfbbSDag-Erling Smørgrav #include <limits.h>
94f52dfbbSDag-Erling Smørgrav 
104f52dfbbSDag-Erling Smørgrav int
getpagesize(void)114f52dfbbSDag-Erling Smørgrav getpagesize(void)
124f52dfbbSDag-Erling Smørgrav {
134f52dfbbSDag-Erling Smørgrav #if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
144f52dfbbSDag-Erling Smørgrav 	long r = sysconf(_SC_PAGESIZE);
154f52dfbbSDag-Erling Smørgrav 	if (r > 0 && r < INT_MAX)
164f52dfbbSDag-Erling Smørgrav 		return (int)r;
174f52dfbbSDag-Erling Smørgrav #endif
184f52dfbbSDag-Erling Smørgrav 	/*
194f52dfbbSDag-Erling Smørgrav 	 * This is at the lower end of common values and appropriate for
204f52dfbbSDag-Erling Smørgrav 	 * our current use of getpagesize() in recallocarray().
214f52dfbbSDag-Erling Smørgrav 	 */
224f52dfbbSDag-Erling Smørgrav 	return 4096;
234f52dfbbSDag-Erling Smørgrav }
244f52dfbbSDag-Erling Smørgrav 
254f52dfbbSDag-Erling Smørgrav #endif /* HAVE_GETPAGESIZE */
26