summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/PLATFORM/NDIS6/N6C_PlatformDef.h
blob: fe1b8177a29913fd75e7004d8daf7b2c46fa6aa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*++

Copyright (c) Realtek Corporation. All rights reserved.

Module Name:
	N6C_PlatformDef.h

Abstract:
	Mediate Data structures referenced by PlatformDef.h for NDIS6.

Major Change History:
      When        Who	What
    ----------	------	----------------------------------------------
    2006-09-29	S.Chang	Created

Notes:

--*/
#ifndef __INC_N6C_PLATFORMDEF_H
#define __INC_N6C_PLATFORMDEF_H

/*--------------------------Define -------------------------------------------*/
#define VOID void
#define PVOID void * //for Source insight keyword highlight.

// Add this type define if your platform doesn't have BOOLEAN type
typedef UCHAR		BOOLEAN,*PBOOLEAN, boolean;
typedef UCHAR		u1Byte,*pu1Byte;
typedef USHORT		u2Byte,*pu2Byte;
typedef ULONG		u4Byte,*pu4Byte;
typedef ULONGLONG	u8Byte,*pu8Byte;

typedef CHAR				s1Byte,*ps1Byte, s8;
typedef SHORT			s2Byte,*ps2Byte, s16;
typedef LONG				s4Byte,*ps4Byte, s32;
typedef LONGLONG	s8Byte,*ps8Byte;

typedef const unsigned char cu8;
typedef unsigned __int64  u64;
typedef __int64  	s64;

typedef unsigned char	u8;	 
typedef unsigned short	u16;	
typedef unsigned long	u32;

typedef struct _RT_TIMER_HANDLE{
	RT_LIST_ENTRY			List;

	NDIS_HANDLE					NdisTimerHandle;
	NDIS_TIMER_CHARACTERISTICS	TimerCharacteristics;
}RT_TIMER_HANDLE, *PRT_TIMER_HANDLE;


typedef NDIS_HANDLE	RT_WORKITEM_HANDLE, *PRT_WORKITEM_HANDLE;

#define	DEBUG_MAX_NAME_LEN		20


typedef KMUTEX			PlatformMutex, *PPlatformMutex;


typedef KSEMAPHORE		PlatformSemaphore, *PPlatformSemaphore;
typedef NDIS_EVENT		PlatformEvent, *PPlatformEvent;

#define	rsprintf		RtlStringCbPrintfA
#define	rstrncat		RtlStringCbCatNA



/*--------------------------Define MACRO--------------------------------------*/

#define GET_TCB_IDLE_QUEUE(_Adapter) (PRT_LIST_ENTRY)&(GetDefaultAdapter(_Adapter)->TcbIdleQueue)
#define GET_RFD_IDLE_QUEUE(_Adapter) (PRT_LIST_ENTRY)&(GetDefaultAdapter(_Adapter)->RfdIdleQueue)
#define Get_WAIT_QUEUE(_Adapter,_QueueID) (PRT_LIST_ENTRY)&(GetDefaultAdapter(_Adapter)->TcbWaitQueue[_QueueID])
#define GET_WAIT_QUEUE_CNT(_Adapter,_QueueID) &(GetDefaultAdapter(_Adapter)->TcbWaitQueueCnt[_QueueID])
#define Get_NUM_IDLE_TCB(_Adapter) &(GetDefaultAdapter(_Adapter)->NumIdleTcb)
#define GET_NUM_IDLE_RFD(_Adapter) &(GetDefaultAdapter(_Adapter)->NumIdleRfd)
#define GET_NUM_BUSY_RFD(_Adapter, _QueueNum) &(GetDefaultAdapter(_Adapter)->NumBusyRfd[_QueueNum])
#define GET_LOW_RFD_THRESHOLD(_Adapter) &(GetDefaultAdapter(_Adapter)->LowRfdThreshold)

#define IS_TX_LOCKED(_Adapter) ((_Adapter->pNdis62Common) ? (GetDefaultAdapter(_Adapter)->bTxLocked) : (_Adapter->bTxLocked))
#define IS_RX_LOCKED(_Adapter) ((_Adapter->pNdis62Common) ? (GetDefaultAdapter(_Adapter)->bRxLocked) : (_Adapter->bRxLocked))

#define IS_ADAPTER_SENDS_BEACON(__Adapter) IsSendingBeacon(__Adapter)

#define GET_PORT_NUMBER(_Adapter)								\
		 _Adapter->pNdis62Common->PortNumber	

#define N6XC_SET_802_11_ATTRIBUTES(_Adapter) N6Set80211Attributes(_Adapter)
#define NDIS_6_2_INITIALIZE_EXTENSION_COMPONENT(_Adapter,_MiniportAdapterHandle,_MiniportInitParameters) 												\
		N62CInitialize(_Adapter,_MiniportAdapterHandle,_MiniportInitParameters)



#define NDIS_6_2_FREE_EXTENSION_COMPONENT(_Adapter)					\
	N62CFreePortCommonComponent(_Adapter);							\
	N62CFreePortSpecificComponent(_Adapter);							\
	while(MultiPortIsPreallocatedExtAdapterExist(_Adapter))						\
	{																	\
		N62CFreeExtAdapter(MultiPortRemoveExtAdapter(_Adapter));		\
	}																	\


#define NDIS_6_2_EXT_ADAPTER_HANDLE_NBL_IN_WAIT_QUEUE(_Adapter) 									\
		N62CExtAdapterHandleNBLInWaitQueue(_Adapter)

#define NDIS_6_2_AP_CLEAR_BEFORE_SLEEP(_Adapter)													\
		N62CAPClearStateBeforeSleep(_Adapter);


#define EXT_AP_START_AP_MODE(_Adapter)
#define EXT_AP_NOTIFY_STA_LINK_CHANGE(_pMgntInfo)	\
		{_pMgntInfo->bSwitchingSTAStateInProgress = TRUE;}	
#define EXT_AP_DISASSOCATE_AFTER_STA_LINK_TO_DIFFERENT_CHNNEL_AP(_Adapter)			\
		AP_DisconnectAfterSTANewConnected(_Adapter)
#define REMOVE_WCN_IE_FROM_BSS_DESC(_Adapter,_bssDesc,_pSimpleConfig,_mmpdu)					\
		RemoveWCNIE(_Adapter,_bssDesc,_pSimpleConfig,_mmpdu)	

#define PLATFORM_GET_PHY_ID_READY(_Adapter)	N6CQueryPhyIdReady(_Adapter)
#define PLATFORM_GET_FRAGOFFSET(_pRfd) _pRfd->FragOffset
#define PLATFORM_WRITE_EVENT_LOG(_Adapter, _EVENT, _NUM)	N6WriteEventLog(_Adapter, _EVENT, _NUM)
#define PLATFORM_WLAN_IN_MPDU_TOKEN_NUM 6
#define PLATFORM_WLAN_IN_INTERRUPT_TOKEN_NUM 2
#define PLATFORM_RESTORE_LAST_INIT_SETTING(_Adapter) N6RestoreLastInitSettingAterWakeUP(_Adapter)



#define PLATFORM_GET_RT_NUM_PIPES(_pDevice) GET_WDF_USB_DEVICE_CONTEXT(_pDevice)->RtNumPipes
#define PLATFORM_GET_RT_NUM_IN_PIPES(_pDevice) GET_WDF_USB_DEVICE_CONTEXT(_pDevice)->RtNumInPipes
#define PLATFORM_GET_RT_NUM_OUT_PIPES(_pDevice) GET_WDF_USB_DEVICE_CONTEXT(_pDevice)->RtNumOutPipes
#define PLATFORM_GET_PRT_IN_PIPES(_pDevice) GET_WDF_USB_DEVICE_CONTEXT(_pDevice)->RtInPipes
#define PLATFORM_GET_PRT_OUT_PIPES(_pDevice) GET_WDF_USB_DEVICE_CONTEXT(_pDevice)->RtOutPipes

// For SDIO related interface. Added by Roger. 2011.10.10.
#define PLATFORM_GET_RT_NUM_SDIO_RX_QUEUE(_pDevice) _pDevice->RtNumRxQueue
#define PLATFORM_GET_RT_NUM_SDIO_TX_QUEUE(_pDevice) _pDevice->RtNumTxQueue
#define PLATFORM_GET_PRT_SDIO_TX_QUEUE(_pDevice) _pDevice->RtTxQueue

/*------------------------------Define Struct---------------------------------*/

/*------------------------------Define Enum-----------------------------------*/

/*------------------------Export global variable------------------------------*/

/*------------------------------Funciton declaration--------------------------*/
VOID
N6InitTimerSync(
	IN	PVOID	Adapter
);

VOID
N6WaitTimerSync(
	IN	PVOID	Adapter
);

VOID
N6DeInitTimerSync(
	IN	PVOID	Adapter
);


VOID
N6CInitThread(
	IN	PVOID		pContext
	);

VOID
N6CDeInitThread(
	IN	PVOID	Adapter
	);


extern u8Byte	RTL_AllocateMemory_count ;
extern u8Byte	RTL_FreeMemory_count ;
extern u8Byte	RTL_AllocateMemory_Len;
extern u8Byte	RTL_FreeMemory_Len;


#endif //end of #ifndef __INC_N6C_PLATFORMDEF_H