summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/PLATFORM/NDIS6/N6C_Init.h
blob: 4ee90a2981f15708cf52f7b6f654fc5d48db11bb (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
////////////////////////////////////////////////////////////////////////////////
//
//	File name:		N6C_Init.h
//	Description:	NDIS6.x common function for initialization.
//
//	Author:			shien chang
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __INC_N6C_REGISTRY_H
#define __INC_N6C_REGISTRY_H

#define  NUM_SUPPORTED_VWIFI_COMBINATIONS   1
#define ADDR2DATA ULONG_PTR

#define	NDIS_REG_NET_CFG_INSTANCE_ID_NAME	"NetCfgInstanceId"

typedef struct _MP_REG_ENTRY
{
	NDIS_STRING		RegName;	// variable name text
	BOOLEAN			bRequired;	// 1 -> required, 0 -> optional
	UCHAR			Type;		// NdisParameterInteger/NdisParameterHexInteger/NdisParameterStringle/NdisParameterMultiString
	UINT			FieldOffset;	// offset to MP_ADAPTER field
	UINT			FieldSize;	// size (in bytes) of the field
	ULONG_PTR			Default;
	UINT			Min;			// minimum value allowed
	UINT			Max;		// maximum value allowed
} MP_REG_ENTRY, *PMP_REG_ENTRY;

// For 818x UI, 2004.11.30, by rcnjko.
typedef enum	_REG_WEP_STATUS
{
	REG_WEP_STATUS_MIN,		// 0
	REG_WEP_STATUS_NO_WEP,	// 1
	REG_WEP_STATUS_WEP64,	// 2
	REG_WEP_STATUS_WEP128	// 3
}REG_WEP_STATUS;

// For 818x UI, 2004.11.30, by rcnjko.
typedef enum REG_EncryptionAlgorithm
{
	REG_WEP_Encryption,		// 0	
	REG_TKIP_Encryption,	// 1
	REG_TKIPv2_Encryption,	// 2
	REG_AESWRAP_Encryption,	// 3
	REG_AESCCMP_Encryption,	// 4
	REG_CKIP_Encryption,	// 5
	REG_NONE_Encryption,	// 6
	REG_WAPI_PSK,
	REG_WAPI_CERT

}REG_EncryptionAlgorithm;

// For 818x UI, 2004.11.30, by rcnjko.
typedef	enum	_REG_NETWORK_INFRA
{
	NI_ADHOC,
	NI_Infrastructure,
	NI_AUTO
}REG_NETWORK_INFRA;

// Forward declaration.
typedef	struct _ADAPTER	ADAPTER, *PADAPTER;

NDIS_STATUS
CopyFromUnicodeToOS( 
	UCHAR			*pointer,
	UNICODE_STRING	*uniStr,
	USHORT			copyLen);

NDIS_STATUS
CopyFromUnicodeToString( 
	UCHAR			*pointer,
	UNICODE_STRING	*uniStr,
	USHORT			copyLen);

int 
TranslateNdisPsToRtPs(
	IN	NDIS_802_11_POWER_MODE	ndisPsMode);

NDIS_STATUS
N6OpenConfigurationHandle(
	IN	PADAPTER		pAdapter,
	IN	PNDIS_HANDLE	pConfigurationHandle
	);

VOID
N6CloseConfigurationHandle(
	IN	NDIS_HANDLE		ConfigurationHandle
	);

NDIS_STATUS
N6ReadCommonRegistry(
	IN	PADAPTER		pAdapter
	);

VOID
N6UpdateDefaultSetting(
	IN	PADAPTER		pAdapter);


VOID 
N6RestoreLastInitSetting(
	IN	PADAPTER		pAdapter);

//
//Name : N6RestoreLastInitSettingAterWakeUP
//Function : Reconnent to AH when wake up
//
VOID
N6RestoreLastInitSettingAterWakeUP(
	IN	PADAPTER		pAdapter	);

VOID
InitNdis6CommonResources(
	IN	PADAPTER		pAdapter);

VOID
ReleaseNdis6CommonResources(
	IN	PADAPTER		pAdapter);

VOID
N6IndicateStatus(
	IN	PADAPTER		pAdapter,
	IN	NDIS_STATUS		GeneralStatus,
	IN	PVOID			StatusBuffer,
	IN	UINT			StatusBufferSize);

VOID
N6CInitializeSpinLocks(
	IN	PADAPTER		pAdapter);

VOID
N6CFreeSpinLocks(
	IN	PADAPTER		pAdapter);

#endif