1a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* getpagesize emulation for systems where it cannot be done in a C macro.
2a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
3a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   Copyright (C) 2007 Free Software Foundation, Inc.
4a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
5a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   This program is free software: you can redistribute it and/or modify
6a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   it under the terms of the GNU General Public License as published by
7a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   the Free Software Foundation; either version 3 of the License, or
8a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   (at your option) any later version.
9a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
10a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   This program is distributed in the hope that it will be useful,
11a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   but WITHOUT ANY WARRANTY; without even the implied warranty of
12a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   GNU General Public License for more details.
14a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
15a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   You should have received a copy of the GNU General Public License
16a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
18a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Written by Bruno Haible and Martin Lambers.  */
19a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
20a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <config.h>
21a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
22a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Specification. */
23a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <unistd.h>
24a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
25a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* This implementation is only for native Win32 systems.  */
26a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
27a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
28a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner# define WIN32_LEAN_AND_MEAN
29a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner# include <windows.h>
30a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
31a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnerint
32a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnergetpagesize (void)
33a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner{
34a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner  SYSTEM_INFO system_info;
35a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner  GetSystemInfo (&system_info);
36a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner  return system_info.dwPageSize;
37a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner}
38a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner
39a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#endif
40