164064216a8433360745f69edddce19a606659163The Android Open Source Project/****************************************************************************
264064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
364064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
464064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
564064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved.                                                  |**
664064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
764064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without    |**
864064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions    |**
964064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met:                                                              |**
1064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
1164064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions of source code must retain the above copyright     |**
1264064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer.      |**
1364064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions in binary form must reproduce the above copyright  |**
1464064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer in    |**
1564064216a8433360745f69edddce19a606659163The Android Open Source Project**|    the documentation and/or other materials provided with the         |**
1664064216a8433360745f69edddce19a606659163The Android Open Source Project**|    distribution.                                                      |**
1764064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Neither the name Texas Instruments nor the names of its            |**
1864064216a8433360745f69edddce19a606659163The Android Open Source Project**|    contributors may be used to endorse or promote products derived    |**
1964064216a8433360745f69edddce19a606659163The Android Open Source Project**|    from this software without specific prior written permission.      |**
2064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
2164064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
2264064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
2364064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
2464064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
2564064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
3264064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
3364064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
3464064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/
3564064216a8433360745f69edddce19a606659163The Android Open Source Project
3664064216a8433360745f69edddce19a606659163The Android Open Source Project
3764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef __OS_TYPES_H__
3864064216a8433360745f69edddce19a606659163The Android Open Source Project#define __OS_TYPES_H__
3964064216a8433360745f69edddce19a606659163The Android Open Source Project
4064064216a8433360745f69edddce19a606659163The Android Open Source Project#include <linux/version.h>
4164064216a8433360745f69edddce19a606659163The Android Open Source Project
4264064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef VOID
4364064216a8433360745f69edddce19a606659163The Android Open Source Project#define VOID        void
4464064216a8433360745f69edddce19a606659163The Android Open Source Project#define PVOID       void*
4564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
4664064216a8433360745f69edddce19a606659163The Android Open Source Project
4764064216a8433360745f69edddce19a606659163The Android Open Source Project#if !defined(FALSE)
4864064216a8433360745f69edddce19a606659163The Android Open Source Project#define FALSE               0
4964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
5064064216a8433360745f69edddce19a606659163The Android Open Source Project
5164064216a8433360745f69edddce19a606659163The Android Open Source Project#if !defined(TRUE)
5264064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRUE                1
5364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
5464064216a8433360745f69edddce19a606659163The Android Open Source Project
5564064216a8433360745f69edddce19a606659163The Android Open Source Project#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
5664064216a8433360745f69edddce19a606659163The Android Open Source Project#if !defined(false)
5764064216a8433360745f69edddce19a606659163The Android Open Source Project#define false               0
5864064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
5964064216a8433360745f69edddce19a606659163The Android Open Source Project
6064064216a8433360745f69edddce19a606659163The Android Open Source Project#if !defined(true)
6164064216a8433360745f69edddce19a606659163The Android Open Source Project#define true                1
6264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
6364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
6464064216a8433360745f69edddce19a606659163The Android Open Source Project
6564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef NULL
6664064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined(__cplusplus)
6764064216a8433360745f69edddce19a606659163The Android Open Source Project#define NULL 0
6864064216a8433360745f69edddce19a606659163The Android Open Source Project#else
6964064216a8433360745f69edddce19a606659163The Android Open Source Project#define NULL ((void *)0)
7064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
7164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* NULL */
7264064216a8433360745f69edddce19a606659163The Android Open Source Project
7364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef UNUSED
7464064216a8433360745f69edddce19a606659163The Android Open Source Project#define UNUSED(p) ((void)p)
7564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
7664064216a8433360745f69edddce19a606659163The Android Open Source Project
7764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef SIZE_ARR
7864064216a8433360745f69edddce19a606659163The Android Open Source Project#define SIZE_ARR(a) (sizeof(a)/sizeof(a[0]) )
7964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
8064064216a8433360745f69edddce19a606659163The Android Open Source Project/*
8164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _UNICODE
8264064216a8433360745f69edddce19a606659163The Android Open Source Project#define _T  unsigned short
8364064216a8433360745f69edddce19a606659163The Android Open Source Project#else
8464064216a8433360745f69edddce19a606659163The Android Open Source Project#define _T
8564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
8664064216a8433360745f69edddce19a606659163The Android Open Source Project*/
8764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef TI_HANDLE
8864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef void*           TI_HANDLE;
8964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
9064064216a8433360745f69edddce19a606659163The Android Open Source Project#define TI_HANDLE_INVALID   NULL
9164064216a8433360745f69edddce19a606659163The Android Open Source Project#define TI_OK     0
9264064216a8433360745f69edddce19a606659163The Android Open Source Project#define TI_ERROR -1
9364064216a8433360745f69edddce19a606659163The Android Open Source Project
9464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef signed char                    INT8, *PINT8, *PCHAR;
9564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned char       UINT8, *PUINT8, UCHAR, *PUCHAR;
9664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef short           INT16, *PINT16;
9764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned short      UINT16, *PUINT16;
9864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned int            UINT, *PUINT;
9964064216a8433360745f69edddce19a606659163The Android Open Source Project
10064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef void            tiVOID, *tiPVOID;
10164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned int        tiBOOL;
10264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiBOOL    BOOLEAN, *PBOOLEAN;
10364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef UINT16              tiUINT16;
10464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef signed int          tiINT32;
10564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned int        tiUINT32;
10664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef UINT8               tiUINT8;
10764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef char                ti_char;
10864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef char                tiCHAR;
10964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned long long  tiULONGLONG;
11064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef long long           tiLONGLONG;
11164064216a8433360745f69edddce19a606659163The Android Open Source Project
11264064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _BASETSD_H_
11364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef signed int      INT32, *PINT32;
11464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned long   /*LARGE_INTEGER, */ULONG, *PULONG;
11564064216a8433360745f69edddce19a606659163The Android Open Source Project# ifndef _WINDOWS
11664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef union _LARGE_INTEGER_T {
11764064216a8433360745f69edddce19a606659163The Android Open Source Project    struct {
11864064216a8433360745f69edddce19a606659163The Android Open Source Project        tiUINT32 LowPart;
11964064216a8433360745f69edddce19a606659163The Android Open Source Project        tiINT32  HighPart;
12064064216a8433360745f69edddce19a606659163The Android Open Source Project    };
12164064216a8433360745f69edddce19a606659163The Android Open Source Project    tiLONGLONG QuadPart;
12264064216a8433360745f69edddce19a606659163The Android Open Source Project} LARGE_INTEGER;
12364064216a8433360745f69edddce19a606659163The Android Open Source Project# endif /* _WINDOWS */
12464064216a8433360745f69edddce19a606659163The Android Open Source Project
12564064216a8433360745f69edddce19a606659163The Android Open Source Project# ifndef _SUPPLICANT_
12664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned int    UINT32, *PUINT32;
12764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned char   BOOL, *PBOOL;
12864064216a8433360745f69edddce19a606659163The Android Open Source Project# endif /* _SUPPLICANT_ */
12964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* _BASETSD_H_ */
13064064216a8433360745f69edddce19a606659163The Android Open Source Project
13164064216a8433360745f69edddce19a606659163The Android Open Source Project/*
13264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct _GUID {
13364064216a8433360745f69edddce19a606659163The Android Open Source Project    unsigned long  Data1;
13464064216a8433360745f69edddce19a606659163The Android Open Source Project    unsigned short Data2;
13564064216a8433360745f69edddce19a606659163The Android Open Source Project    unsigned short Data3;
13664064216a8433360745f69edddce19a606659163The Android Open Source Project    unsigned char  Data4[ 8 ];
13764064216a8433360745f69edddce19a606659163The Android Open Source Project} GUID;
13864064216a8433360745f69edddce19a606659163The Android Open Source Project
13964064216a8433360745f69edddce19a606659163The Android Open Source Project#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) ;
14064064216a8433360745f69edddce19a606659163The Android Open Source Project*/
14164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned long long      UINT64;
14264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef long long               INT64;
14364064216a8433360745f69edddce19a606659163The Android Open Source Project#define CONSTANT64(x)           (x##LL)
14464064216a8433360745f69edddce19a606659163The Android Open Source Project
14564064216a8433360745f69edddce19a606659163The Android Open Source Project#define STRUCT typedef struct
14664064216a8433360745f69edddce19a606659163The Android Open Source Project#define UNION typedef union
14764064216a8433360745f69edddce19a606659163The Android Open Source Project#define ENUM typedef enum
14864064216a8433360745f69edddce19a606659163The Android Open Source Project
14964064216a8433360745f69edddce19a606659163The Android Open Source Project#define PACKED_STRUCT(name,content) STRUCT { content } __attribute__ ((packed)) name
15064064216a8433360745f69edddce19a606659163The Android Open Source Project#define PACKED_STRUCT_NO_TYPEDEF(content) struct { content } __attribute__ ((packed))
15164064216a8433360745f69edddce19a606659163The Android Open Source Project#define PACKED_UNION(name,content) union { content } __attribute__ ((packed)) name
15264064216a8433360745f69edddce19a606659163The Android Open Source Project#define PACKED_UNION_NO_TYPEDEF(content) union { content } __attribute__ ((packed))
15364064216a8433360745f69edddce19a606659163The Android Open Source Project#define ENUM_BODY(name, value) name  value,
15464064216a8433360745f69edddce19a606659163The Android Open Source Project#define PACKED_ENUM(name, list) ENUM { list(ENUM_BODY) } __attribute__ ((packed)) name
15564064216a8433360745f69edddce19a606659163The Android Open Source Project
15664064216a8433360745f69edddce19a606659163The Android Open Source Project
15764064216a8433360745f69edddce19a606659163The Android Open Source Project#define NWIF_MAX_QOS_CONNS 7
15864064216a8433360745f69edddce19a606659163The Android Open Source Project
15964064216a8433360745f69edddce19a606659163The Android Open Source Project#define BIT_TO_BYTE_FACTOR 8
16064064216a8433360745f69edddce19a606659163The Android Open Source Project
16164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct nwif_clsfr_entry_t
16264064216a8433360745f69edddce19a606659163The Android Open Source Project{
16364064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32 ip;
16464064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16 port;
16564064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16 pri;
16664064216a8433360745f69edddce19a606659163The Android Open Source Project} NWIF_CLSFR_ENTRY;
16764064216a8433360745f69edddce19a606659163The Android Open Source Project/*The following define assumes that the structure above is 8 bytes.*/
16864064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_CLSFR_TABLE_SIZE (NWIF_MAX_QOS_CONNS * 8)
16964064216a8433360745f69edddce19a606659163The Android Open Source Project
17064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef UINT64 OS_PHYSICAL_ADDRESS;
17164064216a8433360745f69edddce19a606659163The Android Open Source Project
17264064216a8433360745f69edddce19a606659163The Android Open Source Project#define IMPORT_TI_API
17364064216a8433360745f69edddce19a606659163The Android Open Source Project
17464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* __OS_TYPES_H__*/
17564064216a8433360745f69edddce19a606659163The Android Open Source Project
17664064216a8433360745f69edddce19a606659163The Android Open Source Project
177