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