summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/PLATFORM/NDIS6/WDI_Extension.h
blob: 3af17e0537c13d9db1d776a95c18a9b07f895670 (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
////////////////////////////////////////////////////////////////////////////////
//
//	File name:		WDI_Extension.h
//	Description:	Define data structure and export some common helper functions.
//
//	Author:			hpfan
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __INC_WDI_EXTENSION_H
#define __INC_WDI_EXTENSION_H

#define	MAX_OID_INPUT_BUFFER_LEN				1024

#define	RT_OID_HANDLER_STATUS_INITIALIZED		BIT0
#define	RT_OID_HANDLER_STATUS_SET				BIT1
#define	RT_OID_HANDLER_STATUS_FIRED				BIT2
#define	RT_OID_HANDLER_STATUS_CANCELED			BIT3
#define	RT_OID_HANDLER_STATUS_FINISHED			BIT4
#define	RT_OID_HANDLER_STATUS_RELEASED			BIT5
#define	RT_OID_HANDLER_STATUS_RETURNED			BIT6
#define	RT_OID_HANDLER_STATUS_EXECUTE_FAILURE	BIT7


typedef enum _OIDHANDLE_TYPE
{
	OIDHANDLE_TYPE_NONE			= 0,
	OIDHANDLE_TYPE_TASK			= 1,
	OIDHANDLE_TYPE_PROPERTY		= 2,
	OIDHANDLE_TYPE_MAX			= 3,
} OIDHANDLE_TYPE;


typedef enum _OIDHANDLE_EVENT
{
	OIDHANDLE_EVENT_NONE			= 0,
	OIDHANDLE_EVENT_PENDING		= 1,
	OIDHANDLE_EVENT_COMPLETE	= 2,
	OIDHANDLE_EVENT_MAX			= 3,
} OIDHANDLE_EVENT;


BOOLEAN
OidHandle_VerifyTask(
	IN  PADAPTER				pAdapter,
	IN  u4Byte				WdiTaskOid
	);

RT_STATUS
OidHandle_Complete(
	IN  PADAPTER				pAdapter,
	IN  OIDHANDLE_TYPE		Type
	);

RT_STATUS
OidHandle_IndicateM3(
	IN	PADAPTER			pAdapter,
	IN	PRT_OID_HANDLER	pOidHandle
	);

RT_STATUS
OidHandle_IndicateM4(
	IN  PADAPTER				pAdapter,
	IN  PRT_OID_HANDLER		pOidHandle,
	IN  RT_TASK_ENTRY			*pTaskEntry
	);

RT_STATUS
OidHandle_Cancel(
	IN  PADAPTER				pAdapter,
	IN  u4Byte				NdisOid,
	IN  u4Byte				TransactionId,
	IN  u2Byte				PortId
	);

RT_STATUS
OidHandle_AbortAction(
	IN  PADAPTER				pAdapter,
	IN  PRT_OID_HANDLER		pOidHandle
	);

NDIS_STATUS
N6WdiHandleOidRequest(
	IN  NDIS_HANDLE			MiniportAdapterContext,
	IN  PNDIS_OID_REQUEST	pNdisRequest
    );

NDIS_STATUS
N6WdiAbortOidRequest(
	IN  NDIS_HANDLE			MiniportAdapterContext,
	IN  PNDIS_OID_REQUEST	pNdisRequest
    );


NDIS_STATUS
WDICommandHandleInit(
	IN  PADAPTER		pAdapter
	);

NDIS_STATUS
WDICommandHandleDeinit(
	IN  PADAPTER		pAdapter
	);

VOID
WDITaskCommandWorkItemCallback(
	IN PVOID			pContext
	);

VOID
WDIPropertyCommandWorkItemCallback(
	IN PVOID			pContext
	);

NDIS_STATUS
WDICommandHangCleanup(
	IN  PADAPTER		pAdapter
	);

#endif