xref: /freebsd-src/crypto/openssh/openbsd-compat/bsd-getpagesize.c (revision 4f52dfbb8d6c4d446500c5b097e3806ec219fbd4)
1*4f52dfbbSDag-Erling Smørgrav /* Placed in the public domain */
2*4f52dfbbSDag-Erling Smørgrav 
3*4f52dfbbSDag-Erling Smørgrav #ifndef HAVE_GETPAGESIZE
4*4f52dfbbSDag-Erling Smørgrav 
5*4f52dfbbSDag-Erling Smørgrav #include <unistd.h>
6*4f52dfbbSDag-Erling Smørgrav #include <limits.h>
7*4f52dfbbSDag-Erling Smørgrav 
8*4f52dfbbSDag-Erling Smørgrav int
9*4f52dfbbSDag-Erling Smørgrav getpagesize(void)
10*4f52dfbbSDag-Erling Smørgrav {
11*4f52dfbbSDag-Erling Smørgrav #if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
12*4f52dfbbSDag-Erling Smørgrav 	long r = sysconf(_SC_PAGESIZE);
13*4f52dfbbSDag-Erling Smørgrav 	if (r > 0 && r < INT_MAX)
14*4f52dfbbSDag-Erling Smørgrav 		return (int)r;
15*4f52dfbbSDag-Erling Smørgrav #endif
16*4f52dfbbSDag-Erling Smørgrav 	/*
17*4f52dfbbSDag-Erling Smørgrav 	 * This is at the lower end of common values and appropriate for
18*4f52dfbbSDag-Erling Smørgrav 	 * our current use of getpagesize() in recallocarray().
19*4f52dfbbSDag-Erling Smørgrav 	 */
20*4f52dfbbSDag-Erling Smørgrav 	return 4096;
21*4f52dfbbSDag-Erling Smørgrav }
22*4f52dfbbSDag-Erling Smørgrav 
23*4f52dfbbSDag-Erling Smørgrav #endif /* HAVE_GETPAGESIZE */
24