• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **|                                                                       |**
4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
5 **| All rights reserved.                                                  |**
6 **|                                                                       |**
7 **| Redistribution and use in source and binary forms, with or without    |**
8 **| modification, are permitted provided that the following conditions    |**
9 **| are met:                                                              |**
10 **|                                                                       |**
11 **|  * Redistributions of source code must retain the above copyright     |**
12 **|    notice, this list of conditions and the following disclaimer.      |**
13 **|  * Redistributions in binary form must reproduce the above copyright  |**
14 **|    notice, this list of conditions and the following disclaimer in    |**
15 **|    the documentation and/or other materials provided with the         |**
16 **|    distribution.                                                      |**
17 **|  * Neither the name Texas Instruments nor the names of its            |**
18 **|    contributors may be used to endorse or promote products derived    |**
19 **|    from this software without specific prior written permission.      |**
20 **|                                                                       |**
21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
32 **|                                                                       |**
33 **+-----------------------------------------------------------------------+**
34 ****************************************************************************/
35 
36 
37 #ifndef __OS_TYPES_H__
38 #define __OS_TYPES_H__
39 
40 #include <linux/version.h>
41 
42 #ifndef VOID
43 #define VOID        void
44 #define PVOID       void*
45 #endif
46 
47 #if !defined(FALSE)
48 #define FALSE               0
49 #endif
50 
51 #if !defined(TRUE)
52 #define TRUE                1
53 #endif
54 
55 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
56 #if !defined(false)
57 #define false               0
58 #endif
59 
60 #if !defined(true)
61 #define true                1
62 #endif
63 #endif
64 
65 #ifndef NULL
66 #if defined(__cplusplus)
67 #define NULL 0
68 #else
69 #define NULL ((void *)0)
70 #endif
71 #endif /* NULL */
72 
73 #ifndef UNUSED
74 #define UNUSED(p) ((void)p)
75 #endif
76 
77 #ifndef SIZE_ARR
78 #define SIZE_ARR(a) (sizeof(a)/sizeof(a[0]) )
79 #endif
80 /*
81 #ifdef _UNICODE
82 #define _T  unsigned short
83 #else
84 #define _T
85 #endif
86 */
87 #ifndef TI_HANDLE
88 typedef void*           TI_HANDLE;
89 #endif
90 #define TI_HANDLE_INVALID   NULL
91 #define TI_OK     0
92 #define TI_ERROR -1
93 
94 typedef signed char                    INT8, *PINT8, *PCHAR;
95 typedef unsigned char       UINT8, *PUINT8, UCHAR, *PUCHAR;
96 typedef short           INT16, *PINT16;
97 typedef unsigned short      UINT16, *PUINT16;
98 typedef unsigned int            UINT, *PUINT;
99 
100 typedef void            tiVOID, *tiPVOID;
101 typedef unsigned int        tiBOOL;
102 typedef tiBOOL    BOOLEAN, *PBOOLEAN;
103 typedef UINT16              tiUINT16;
104 typedef signed int          tiINT32;
105 typedef unsigned int        tiUINT32;
106 typedef UINT8               tiUINT8;
107 typedef char                ti_char;
108 typedef char                tiCHAR;
109 typedef unsigned long long  tiULONGLONG;
110 typedef long long           tiLONGLONG;
111 
112 #ifndef _BASETSD_H_
113 typedef signed int      INT32, *PINT32;
114 typedef unsigned long   /*LARGE_INTEGER, */ULONG, *PULONG;
115 # ifndef _WINDOWS
116 typedef union _LARGE_INTEGER_T {
117     struct {
118         tiUINT32 LowPart;
119         tiINT32  HighPart;
120     };
121     tiLONGLONG QuadPart;
122 } LARGE_INTEGER;
123 # endif /* _WINDOWS */
124 
125 # ifndef _SUPPLICANT_
126 typedef unsigned int    UINT32, *PUINT32;
127 typedef unsigned char   BOOL, *PBOOL;
128 # endif /* _SUPPLICANT_ */
129 #endif /* _BASETSD_H_ */
130 
131 /*
132 typedef struct _GUID {
133     unsigned long  Data1;
134     unsigned short Data2;
135     unsigned short Data3;
136     unsigned char  Data4[ 8 ];
137 } GUID;
138 
139 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) ;
140 */
141 typedef unsigned long long      UINT64;
142 typedef long long               INT64;
143 #define CONSTANT64(x)           (x##LL)
144 
145 #define STRUCT typedef struct
146 #define UNION typedef union
147 #define ENUM typedef enum
148 
149 #define PACKED_STRUCT(name,content) STRUCT { content } __attribute__ ((packed)) name
150 #define PACKED_STRUCT_NO_TYPEDEF(content) struct { content } __attribute__ ((packed))
151 #define PACKED_UNION(name,content) union { content } __attribute__ ((packed)) name
152 #define PACKED_UNION_NO_TYPEDEF(content) union { content } __attribute__ ((packed))
153 #define ENUM_BODY(name, value) name  value,
154 #define PACKED_ENUM(name, list) ENUM { list(ENUM_BODY) } __attribute__ ((packed)) name
155 
156 
157 #define NWIF_MAX_QOS_CONNS 7
158 
159 #define BIT_TO_BYTE_FACTOR 8
160 
161 typedef struct nwif_clsfr_entry_t
162 {
163     UINT32 ip;
164     UINT16 port;
165     UINT16 pri;
166 } NWIF_CLSFR_ENTRY;
167 /*The following define assumes that the structure above is 8 bytes.*/
168 #define OS_CLSFR_TABLE_SIZE (NWIF_MAX_QOS_CONNS * 8)
169 
170 typedef UINT64 OS_PHYSICAL_ADDRESS;
171 
172 #define IMPORT_TI_API
173 
174 #endif /* __OS_TYPES_H__*/
175 
176 
177