Commit | Line | Data |
---|---|---|
1cb648b3 FB |
1 | /* |
2 | * File: ttype.h | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation; either version 2 of the License, or | |
7 | * (at your option) any later version. | |
8 | * | |
9 | * This program is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License along | |
15 | * with this program; if not, write to the Free Software Foundation, Inc., | |
16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 | * | |
18 | * Purpose: define basic common types and macros | |
19 | * | |
20 | * Author: Tevin Chen | |
21 | * | |
22 | * Date: May 21, 1996 | |
23 | * | |
24 | */ | |
25 | ||
26 | ||
27 | #ifndef __TTYPE_H__ | |
28 | #define __TTYPE_H__ | |
29 | ||
30 | ||
31 | /******* Common definitions and typedefs ***********************************/ | |
32 | ||
33 | #ifndef VOID | |
34 | #define VOID void | |
35 | #endif | |
36 | ||
37 | #ifndef CONST | |
38 | #define CONST const | |
39 | #endif | |
40 | ||
41 | #ifndef STATIC | |
42 | #define STATIC static | |
43 | #endif | |
44 | ||
45 | #ifndef IN | |
46 | #define IN | |
47 | #endif | |
48 | ||
49 | #ifndef OUT | |
50 | #define OUT | |
51 | #endif | |
52 | ||
53 | #ifndef TxInSleep | |
54 | #define TxInSleep | |
55 | #endif | |
56 | #if! defined(__CPU8051) | |
57 | typedef int BOOL; | |
58 | #else // __CPU8051 | |
59 | #define BOOL int | |
60 | #endif // __CPU8051 | |
61 | ||
62 | #if !defined(TRUE) | |
63 | #define TRUE 1 | |
64 | #endif | |
65 | #if !defined(FALSE) | |
66 | #define FALSE 0 | |
67 | #endif | |
68 | ||
69 | ||
70 | #if !defined(SUCCESS) | |
71 | #define SUCCESS 0 | |
72 | #endif | |
73 | #if !defined(FAILED) | |
74 | #define FAILED -1 | |
75 | #endif | |
76 | ||
77 | //2007-0809-01<Add>by MikeLiu | |
78 | #ifndef update_BssList | |
79 | #define update_BssList | |
80 | #endif | |
81 | ||
82 | ||
83 | ||
84 | #ifndef WPA_SM_Transtatus | |
85 | #define WPA_SM_Transtatus | |
86 | #endif | |
87 | ||
88 | #ifndef Calcu_LinkQual | |
89 | #define Calcu_LinkQual | |
90 | #endif | |
91 | ||
92 | #ifndef Calcu_LinkQual | |
93 | #define Calcu_LinkQual | |
94 | #endif | |
95 | ||
96 | /****** Simple typedefs ***************************************************/ | |
97 | ||
98 | #if! defined(__CPU8051) | |
99 | ||
100 | /* These lines assume that your compiler's longs are 32 bits and | |
101 | * shorts are 16 bits. It is already assumed that chars are 8 bits, | |
102 | * but it doesn't matter if they're signed or unsigned. | |
103 | */ | |
104 | ||
105 | typedef signed char I8; /* 8-bit signed integer */ | |
106 | typedef signed short I16; /* 16-bit signed integer */ | |
107 | typedef signed long I32; /* 32-bit signed integer */ | |
108 | ||
109 | typedef unsigned char U8; /* 8-bit unsigned integer */ | |
110 | typedef unsigned short U16; /* 16-bit unsigned integer */ | |
111 | typedef unsigned long U32; /* 32-bit unsigned integer */ | |
112 | ||
113 | ||
114 | #if defined(__WIN32) | |
115 | typedef signed __int64 I64; /* 64-bit signed integer */ | |
116 | typedef unsigned __int64 U64; /* 64-bit unsigned integer */ | |
117 | #endif // __WIN32 | |
118 | ||
119 | ||
120 | typedef char CHAR; | |
121 | typedef signed short SHORT; | |
122 | typedef signed int INT; | |
123 | typedef signed long LONG; | |
124 | ||
125 | typedef unsigned char UCHAR; | |
126 | typedef unsigned short USHORT; | |
127 | typedef unsigned int UINT; | |
128 | typedef unsigned long ULONG; | |
129 | typedef unsigned long long ULONGLONG; //64 bit | |
130 | typedef unsigned long long ULONGULONG; | |
131 | ||
132 | ||
133 | ||
134 | typedef unsigned char BYTE; // 8-bit | |
135 | typedef unsigned short WORD; // 16-bit | |
136 | typedef unsigned long DWORD; // 32-bit | |
137 | ||
138 | // QWORD is for those situation that we want | |
139 | // an 8-byte-aligned 8 byte long structure | |
140 | // which is NOT really a floating point number. | |
141 | typedef union tagUQuadWord { | |
142 | struct { | |
143 | DWORD dwLowDword; | |
144 | DWORD dwHighDword; | |
145 | } u; | |
146 | double DoNotUseThisField; | |
147 | } UQuadWord; | |
148 | typedef UQuadWord QWORD; // 64-bit | |
149 | ||
150 | ||
151 | ||
152 | #ifndef _TCHAR_DEFINED | |
153 | typedef char TCHAR; | |
154 | typedef char* PTCHAR; | |
155 | typedef unsigned char TBYTE; | |
156 | typedef unsigned char* PTBYTE; | |
157 | #define _TCHAR_DEFINED | |
158 | #endif | |
159 | ||
160 | #else // __CPU8051 | |
161 | ||
162 | #define U8 unsigned char | |
163 | #define U16 unsigned short | |
164 | #define U32 unsigned long | |
165 | ||
166 | #define USHORT unsigned short | |
167 | #define UINT unsigned int | |
168 | ||
169 | #define BYTE unsigned char | |
170 | #define WORD unsigned short | |
171 | #define DWORD unsigned long | |
172 | ||
173 | ||
174 | #endif // __CPU8051 | |
175 | ||
176 | ||
177 | // maybe this should be defined in <limits.h> | |
178 | #define U8_MAX 0xFFU | |
179 | #define U16_MAX 0xFFFFU | |
180 | #define U32_MAX 0xFFFFFFFFUL | |
181 | ||
182 | #define BYTE_MAX 0xFFU | |
183 | #define WORD_MAX 0xFFFFU | |
184 | #define DWORD_MAX 0xFFFFFFFFUL | |
185 | ||
186 | ||
187 | ||
188 | ||
189 | /******* 32-bit vs. 16-bit definitions and typedefs ************************/ | |
190 | ||
191 | #if !defined(NULL) | |
192 | #ifdef __cplusplus | |
193 | #define NULL 0 | |
194 | #else | |
195 | #define NULL ((void *)0) | |
196 | #endif // __cplusplus | |
197 | #endif // !NULL | |
198 | ||
199 | ||
200 | ||
201 | ||
202 | #if defined(__WIN32) || defined(__CPU8051) | |
203 | ||
204 | #if !defined(FAR) | |
205 | #define FAR | |
206 | #endif | |
207 | #if !defined(NEAR) | |
208 | #define NEAR | |
209 | #endif | |
210 | #if !defined(DEF) | |
211 | #define DEF | |
212 | #endif | |
213 | #if !defined(CALLBACK) | |
214 | #define CALLBACK | |
215 | #endif | |
216 | ||
217 | #else // !__WIN32__ | |
218 | ||
219 | #if !defined(FAR) | |
220 | #define FAR | |
221 | #endif | |
222 | #if !defined(NEAR) | |
223 | #define NEAR | |
224 | #endif | |
225 | #if !defined(DEF) | |
226 | // default pointer type is FAR, if you want near pointer just redefine it to NEAR | |
227 | #define DEF | |
228 | #endif | |
229 | #if !defined(CALLBACK) | |
230 | #define CALLBACK | |
231 | #endif | |
232 | ||
233 | #endif // !__WIN32__ | |
234 | ||
235 | ||
236 | ||
237 | ||
238 | /****** Common pointer types ***********************************************/ | |
239 | ||
240 | #if! defined(__CPU8051) | |
241 | ||
242 | typedef signed char DEF* PI8; | |
243 | typedef signed short DEF* PI16; | |
244 | typedef signed long DEF* PI32; | |
245 | ||
246 | typedef unsigned char DEF* PU8; | |
247 | typedef unsigned short DEF* PU16; | |
248 | typedef unsigned long DEF* PU32; | |
249 | ||
250 | #if defined(__WIN32) | |
251 | typedef signed __int64 DEF* PI64; | |
252 | typedef unsigned __int64 DEF* PU64; | |
253 | #endif // __WIN32 | |
254 | ||
255 | #if !defined(_WIN64) | |
256 | typedef unsigned long ULONG_PTR; // 32-bit | |
257 | typedef unsigned long DWORD_PTR; // 32-bit | |
258 | #endif // _WIN64 | |
259 | ||
260 | ||
261 | // boolean pointer | |
262 | typedef int DEF* PBOOL; | |
263 | typedef int NEAR* NPBOOL; | |
264 | typedef int FAR* LPBOOL; | |
265 | ||
266 | typedef int DEF* PINT; | |
267 | typedef int NEAR* NPINT; | |
268 | typedef int FAR* LPINT; | |
269 | typedef const int DEF* PCINT; | |
270 | typedef const int NEAR* NPCINT; | |
271 | typedef const int FAR* LPCINT; | |
272 | ||
273 | typedef unsigned int DEF* PUINT; | |
274 | typedef const unsigned int DEF* PCUINT; | |
275 | ||
276 | typedef long DEF* PLONG; | |
277 | typedef long NEAR* NPLONG; | |
278 | typedef long FAR* LPLONG; | |
279 | //typedef const long DEF* PCLONG; | |
280 | typedef const long NEAR* NPCLONG; | |
281 | typedef const long FAR* LPCLONG; | |
282 | ||
283 | typedef BYTE DEF* PBYTE; | |
284 | typedef BYTE NEAR* NPBYTE; | |
285 | typedef BYTE FAR* LPBYTE; | |
286 | typedef const BYTE DEF* PCBYTE; | |
287 | typedef const BYTE NEAR* NPCBYTE; | |
288 | typedef const BYTE FAR* LPCBYTE; | |
289 | ||
290 | typedef WORD DEF* PWORD; | |
291 | typedef WORD NEAR* NPWORD; | |
292 | typedef WORD FAR* LPWORD; | |
293 | typedef const WORD DEF* PCWORD; | |
294 | typedef const WORD NEAR* NPCWORD; | |
295 | typedef const WORD FAR* LPCWORD; | |
296 | ||
297 | typedef DWORD DEF* PDWORD; | |
298 | typedef DWORD NEAR* NPDWORD; | |
299 | typedef DWORD FAR* LPDWORD; | |
300 | typedef const DWORD DEF* PCDWORD; | |
301 | typedef const DWORD NEAR* NPCDWORD; | |
302 | typedef const DWORD FAR* LPCDWORD; | |
303 | ||
304 | typedef QWORD DEF* PQWORD; | |
305 | typedef QWORD NEAR* NPQWORD; | |
306 | typedef QWORD FAR* LPQWORD; | |
307 | typedef const QWORD DEF* PCQWORD; | |
308 | typedef const QWORD NEAR* NPCQWORD; | |
309 | typedef const QWORD FAR* LPCQWORD; | |
310 | ||
311 | typedef void DEF* PVOID; | |
312 | typedef void NEAR* NPVOID; | |
313 | typedef void FAR* LPVOID; | |
314 | ||
315 | // handle declaration | |
316 | #ifdef STRICT | |
317 | typedef void *HANDLE; | |
318 | #else | |
319 | typedef PVOID HANDLE; | |
320 | #endif | |
321 | ||
322 | // | |
323 | // ANSI (Single-byte Character) types | |
324 | // | |
325 | typedef char DEF* PCH; | |
326 | typedef char NEAR* NPCH; | |
327 | typedef char FAR* LPCH; | |
328 | typedef const char DEF* PCCH; | |
329 | typedef const char NEAR* NPCCH; | |
330 | typedef const char FAR* LPCCH; | |
331 | ||
332 | typedef char DEF* PSTR; | |
333 | typedef char NEAR* NPSTR; | |
334 | typedef char FAR* LPSTR; | |
335 | typedef const char DEF* PCSTR; | |
336 | typedef const char NEAR* NPCSTR; | |
337 | typedef const char FAR* LPCSTR; | |
338 | ||
339 | #endif // !__CPU8051 | |
340 | ||
341 | ||
342 | ||
343 | ||
344 | /****** Misc definitions, types ********************************************/ | |
345 | ||
346 | // parameter prefix | |
347 | #ifndef IN | |
348 | #define IN | |
349 | #endif | |
350 | ||
351 | #ifndef OUT | |
352 | #define OUT | |
353 | #endif | |
354 | ||
355 | ||
356 | // unreferenced parameter macro to avoid warning message in MS C | |
357 | #if defined(__TURBOC__) | |
358 | ||
359 | //you should use "#pragma argsused" to avoid warning message in Borland C | |
360 | #ifndef UNREFERENCED_PARAMETER | |
361 | #define UNREFERENCED_PARAMETER(x) | |
362 | #endif | |
363 | ||
364 | #else | |
365 | ||
366 | #ifndef UNREFERENCED_PARAMETER | |
367 | //#define UNREFERENCED_PARAMETER(x) x | |
368 | #define UNREFERENCED_PARAMETER(x) | |
369 | #endif | |
370 | ||
371 | #endif | |
372 | ||
373 | ||
374 | // in-line assembly prefix | |
375 | #if defined(__TURBOC__) | |
376 | #define ASM asm | |
377 | #else // !__TURBOC__ | |
378 | #define ASM _asm | |
379 | #endif // !__TURBOC__ | |
380 | ||
381 | ||
382 | ||
383 | ||
384 | #endif // __TTYPE_H__ | |
385 | ||
386 |