Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 
387 
  This page was automatically generated by the LXR engine.