blob: e94602f72e24bdcbbe83db4151c5e48843c5b644 [file] [log] [blame]
/*
* windows_types.h
*
* Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name Texas Instruments nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* inc/windows_types.h
*
*/
#ifndef _WINDOWS_TYPES_H
#define _WINDOWS_TYPES_H
#include "tidef.h"
#include "ioctl_init.h"
/*typedef TI_BOOL TI_BOOL, *PBOOLEAN;*/
typedef TI_UINT16 USHORT, *PUSHORT;
typedef char CHAR;
typedef const char * LPCSTR;
#define IN
#define OUT
#define NDIS_MAX_STRING_LEN 361
typedef struct _STRING {
USHORT Length;
USHORT MaximumLength;
TI_INT8* Buffer;
} ANSI_STRING, *PANSI_STRING, UNICODE_STRING, *PUNICODE_STRING;
typedef ANSI_STRING NDIS_STRING, *PNDIS_STRING;
typedef void * NDIS_HANDLE;
typedef int NDIS_STATUS, *PNDIS_STATUS;
typedef TI_UINT32 NDIS_OID, *PNDIS_OID;
#define PCI_TYPE0_ADDRESSES 6
#define PCI_TYPE1_ADDRESSES 2
/*typedef LARGE_INTEGER NDIS_PHYSICAL_ADDRESS; */
typedef void* *PDEVICE_OBJECT, *PDRIVER_OBJECT;
typedef TI_UINT32 NDIS_MINIPORT_INTERRUPT, NDIS_MINIPORT_TIMER, NDIS_SPIN_LOCK;
typedef TI_UINT32 PNDIS_PACKET, *PPNDIS_PACKET;
typedef enum _NDIS_PARAMETER_TYPE {
NdisParameterInteger,
NdisParameterHexInteger,
NdisParameterString,
NdisParameterMultiString,
NdisParameterBinary
} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
typedef struct {
USHORT Length;
void* Buffer;
} BINARY_DATA;
typedef struct _NDIS_CONFIGURATION_PARAMETER {
NDIS_PARAMETER_TYPE ParameterType;
union {
TI_UINT32 IntegerData;
NDIS_STRING StringData;
BINARY_DATA BinaryData;
} ParameterData;
char StringBuffer[NDIS_MAX_STRING_LEN];
} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
typedef TI_UINT32 NTSTATUS;
#ifndef NDIS_STATUS_SUCCESS
# define NDIS_STATUS_SUCCESS ((NDIS_STATUS)0x00000000L)
# define NDIS_STATUS_PENDING ((NDIS_STATUS)0x00000103L)
# define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
# define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
# define NDIS_STATUS_FAILURE ((NDIS_STATUS)0xC0000001L)
# define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
# define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
# define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
# define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
#endif /* NDIS_STATUS_SUCCESS */
#define STATUS_SUCCESS 0
#define STATUS_INVALID_PARAMETER -1
#define NdisZeroMemory(p, size) os_memoryZero( NULL, p, size )
#define NdisMoveMemory(d, s, size) os_memoryCopy( NULL, d, s, size )
NDIS_STATUS NdisUnicodeStringToAnsiString( IN OUT PANSI_STRING DestinationString,
IN PUNICODE_STRING SourceString );
void NdisReadConfiguration( OUT PNDIS_STATUS Status, OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
IN NDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING Keyword, IN NDIS_PARAMETER_TYPE ParameterType );
void NdisWriteConfiguration( OUT PNDIS_STATUS Status, IN NDIS_HANDLE ConfigurationHandle,
IN PNDIS_STRING Keyword, IN PNDIS_CONFIGURATION_PARAMETER ParameterValue );
typedef struct _NDIS_PACKET_POOL {
NDIS_SPIN_LOCK SpinLock;
struct _NDIS_PACKET *FreeList;
TI_UINT32 PacketLength;
TI_UINT8 Buffer[1];
} NDIS_PACKET_POOL, * PNDIS_PACKET_POOL;
typedef enum _NDIS_802_11_STATUS_TYPE
{
Ndis802_11StatusType_Authentication,
Ndis802_11StatusTypeMax /* not a real type, defined as an upper bound*/
} NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;
typedef TI_UINT8 NDIS_802_11_MAC_ADDRESS[6];
typedef struct _NDIS_802_11_STATUS_INDICATION
{
NDIS_802_11_STATUS_TYPE StatusType;
} NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;
typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST
{
TI_UINT32 Length; /* Length of structure*/
NDIS_802_11_MAC_ADDRESS Bssid;
TI_UINT32 Flags;
} NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;
typedef TI_INT32 NDIS_802_11_RSSI; /* in dBm*/
typedef struct _NDIS_802_11_TEST
{
TI_UINT32 Length;
TI_UINT32 Type;
union {
struct _AuthenticationEvent {
NDIS_802_11_STATUS_INDICATION Status;
NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
} AuthenticationEvent;
NDIS_802_11_RSSI RssiTrigger;
} UNION_NDIS_TEST;
} NDIS_802_11_TEST, *PNDIS_802_11_TEST;
/* Added new encryption types*/
/* Also aliased typedef to new name*/
typedef enum _NDIS_802_11_WEP_STATUS
{
Ndis802_11WEPEnabled,
Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
Ndis802_11WEPDisabled,
Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
Ndis802_11WEPKeyAbsent,
Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,
Ndis802_11WEPNotSupported,
Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
Ndis802_11Encryption2Enabled,
Ndis802_11Encryption2KeyAbsent,
Ndis802_11Encryption3Enabled,
Ndis802_11Encryption3KeyAbsent
} NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS,
NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;
#ifdef TI_DBG
#ifdef __KERNEL__
#define DbgPrint printk
#else
#define DbgPrint printf
#endif
#else
#define DbgPrint
#endif
#endif /* _WINDOWS_TYPES_H */