4 Include this file if you wish to use the Windows32 API Library
6 Copyright (C) 1996 Free Software Foundation
8 Author: Scott Christley <scottc@net-community.com>
11 This file is part of the Windows32 API Library.
13 This library is free software; you can redistribute it and/or
14 modify it under the terms of the GNU Library General Public
15 License as published by the Free Software Foundation; either
16 version 2 of the License, or (at your option) any later version.
18 This library is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 Library General Public License for more details.
23 If you are interested in a warranty or support for this source code,
24 contact Scott Christley <scottc@net-community.com> for more information.
26 You should have received a copy of the GNU Library General Public
27 License along with this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation,
29 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32 #ifndef _GNU_H_WINDOWS_H
33 #define _GNU_H_WINDOWS_H
36 #define max(a,b) (((a) > (b)) ? (a) : (b))
39 #define min(a,b) (((a) < (b)) ? (a) : (b))
54 /* Base definitions */
58 #ifndef WIN32_LEAN_AND_MEAN
62 /* WIN32 definitions */
67 /* WIN32 structures */
71 #ifndef WIN32_LEAN_AND_MEAN
75 /* WIN32 PE file format */
78 #endif /* ! defined (RC_INVOKED) */
80 /* WIN32 error codes */
81 #ifndef WIN32_LEAN_AND_MEAN
87 /* Windows sockets specification version 1.1 */
89 #ifndef WIN32_LEAN_AND_MEAN
94 /* There is a conflict with BOOL between Objective-C and Win32,
95 so the Windows32 API Library defines and uses WINBOOL.
96 However, if we are not using Objective-C then define the normal
97 windows BOOL so Win32 programs compile normally. If you are
98 using Objective-C then you must use WINBOOL for Win32 operations.
101 //typedef WINBOOL BOOL;
102 #endif /* !__OBJC__ */
104 /* How do we get the VM page size on NT? */
106 #define vm_page_size 4096
109 #endif /* ! defined (RC_INVOKED) */
112 #ifndef NONAMELESSUNION
113 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
114 #define _ANONYMOUS_UNION __extension__
115 #define _ANONYMOUS_STRUCT __extension__
117 #if defined(__cplusplus)
118 #define _ANONYMOUS_UNION __extension__
120 #endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
121 #endif /* NONAMELESSUNION */
123 #define _ANONYMOUS_UNION
124 #define _ANONYMOUS_STRUCT
125 #endif /* __GNUC__ */
127 #ifndef _ANONYMOUS_UNION
128 #define _ANONYMOUS_UNION
129 #define _UNION_NAME(x) x
130 #define DUMMYUNIONNAME u
131 #define DUMMYUNIONNAME2 u2
132 #define DUMMYUNIONNAME3 u3
133 #define DUMMYUNIONNAME4 u4
134 #define DUMMYUNIONNAME5 u5
135 #define DUMMYUNIONNAME6 u6
136 #define DUMMYUNIONNAME7 u7
137 #define DUMMYUNIONNAME8 u8
139 #define _UNION_NAME(x)
140 #define DUMMYUNIONNAME
141 #define DUMMYUNIONNAME2
142 #define DUMMYUNIONNAME3
143 #define DUMMYUNIONNAME4
144 #define DUMMYUNIONNAME5
145 #define DUMMYUNIONNAME6
146 #define DUMMYUNIONNAME7
147 #define DUMMYUNIONNAME8
149 #ifndef _ANONYMOUS_STRUCT
150 #define _ANONYMOUS_STRUCT
151 #define _STRUCT_NAME(x) x
152 #define DUMMYSTRUCTNAME s
153 #define DUMMYSTRUCTNAME2 s2
154 #define DUMMYSTRUCTNAME3 s3
156 #define _STRUCT_NAME(x)
157 #define DUMMYSTRUCTNAME
158 #define DUMMYSTRUCTNAME2
159 #define DUMMYSTRUCTNAME3
168 #endif /* _GNU_H_WINDOWS_H */