summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/COMMON/P2P_Public.h
blob: eeea5cf531d2c469b99ff51df47d89308ea4e19d (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
//---------------------------------------------------------------------------
//
// Copyright (c) 2014 Realtek Semiconductor, Inc. All rights reserved.
// 
//---------------------------------------------------------------------------
// Description:
//		
//

#ifndef __INC_P2P_PUBLIC_H
#define __INC_P2P_PUBLIC_H

#if (P2P_SUPPORT == 1)

//-----------------------------------------------------------------------------
// P2P_Build_Mgnt
//-----------------------------------------------------------------------------

VOID
P2P_Append_GoProbeRspIe(
	IN  OCTET_STRING			*posFrame,
	IN  ADAPTER					*pAdapter,
	IN  u1Byte					reason,
	IN  RT_RFD					*rfdProbeReq,
	IN  OCTET_STRING			*posProbeReq
	);

VOID
P2P_Append_BeaconIe(
	IN  ADAPTER					*pAdapter
	);

VOID
P2P_Append_AssociationReqIe(
	IN  OCTET_STRING			*posFrame,
	IN  ADAPTER					*pAdapter
	);

VOID
P2P_Append_AssociationRspIe(
	IN  OCTET_STRING			*posFrame,
	IN  ADAPTER					*pAdapter
	);

VOID
P2P_Append_ProbeReqIe(
	IN  OCTET_STRING			*posFrame,
	IN  P2P_INFO 				*pP2PInfo
	);

//-----------------------------------------------------------------------------
// P2P_Receive
//-----------------------------------------------------------------------------
BOOLEAN
p2p_validate_Beacon(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_ProbeReq(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_ProbeRsp(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_AssocReq(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_AssocRsp(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_Deauth(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_GoNegReq(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_GoNegRsp(
	IN  const P2P_INFO			*info,
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_GoNegConfirm(
	IN  BOOLEAN					go,
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_InvitationReq(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_InvitationRsp(
	IN  P2P_ROLE				invitorRole,
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_DevDiscReq(
	IN  P2P_MESSAGE				*msg
	);
	
BOOLEAN
p2p_validate_DevDiscRsp(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_PDReq(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_PDRsp(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_PresenceReq(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_PresenceRsp(
	IN  P2P_MESSAGE				*msg
	);

BOOLEAN
p2p_validate_GoDiscoverabilityReq(
	IN  P2P_MESSAGE				*msg
	);

#else

#define	P2P_Append_GoProbeRspIe(_posFrame, _pAdapter, _reason, _rfdProbeReq, _posProbeReq)
#define	P2P_Append_BeaconIe(_pAdapter)
#define	P2P_Append_AssociationReqIe(_posFrame, _pAdapter)
#define	P2P_Append_AssociationRspIe(_posFrame, _pAdapter)
#define	P2P_Append_ProbeReqIe(_posFrame, _pP2PInfo)

#endif
#endif	// #ifndef __INC_P2P_PUBLIC_H