• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_WIFI_IDL_STRUCT_H
17 #define OHOS_WIFI_IDL_STRUCT_H
18 
19 #include <string>
20 #include <vector>
21 
22 namespace OHOS {
23 namespace Wifi {
24 struct WifiApConnectionNofify {
25     int type;
26     std::string mac;
27 
WifiApConnectionNofifyWifiApConnectionNofify28     WifiApConnectionNofify() : type(0)
29     {}
30 
~WifiApConnectionNofifyWifiApConnectionNofify31     ~WifiApConnectionNofify()
32     {}
33 };
34 
35 constexpr int MAX_WEPKEYS_SIZE = 4;
36 constexpr int AUTH_ALGORITHM_MAX = 8;
37 struct WifiIdlDeviceConfig {
38     int networkId;
39     int priority;
40     int scanSsid;
41     int authAlgorithms; /* WifiDeviceConfig.allowedAuthAlgorithms */
42     int wepKeyIdx;
43     std::string wepKeys[MAX_WEPKEYS_SIZE]; /* max set 4 wepkeys */
44     std::string ssid;
45     std::string psk;
46     std::string keyMgmt;
47     std::string eap;
48     std::string identity;
49     std::string password;
50     std::string clientCert;
51     std::string privateKey;
52     std::string bssid;
53     int phase2Method;
54 
WifiIdlDeviceConfigWifiIdlDeviceConfig55     WifiIdlDeviceConfig() : networkId(-1), priority(-1), scanSsid(-1), authAlgorithms(-1), wepKeyIdx(-1),
56         phase2Method(0)
57     {}
58 
~WifiIdlDeviceConfigWifiIdlDeviceConfig59     ~WifiIdlDeviceConfig()
60     {}
61 };
62 
63 struct WifiIdlGetDeviceConfig {
64     int networkId;
65     std::string param;
66     std::string value;
67 
WifiIdlGetDeviceConfigWifiIdlGetDeviceConfig68     WifiIdlGetDeviceConfig() : networkId(-1)
69     {}
70 
~WifiIdlGetDeviceConfigWifiIdlGetDeviceConfig71     ~WifiIdlGetDeviceConfig()
72     {}
73 };
74 
75 struct WifiIdlWpsConfig {
76     int anyFlag;
77     int multiAp;
78     std::string bssid;
79     std::string pinCode;
80 
WifiIdlWpsConfigWifiIdlWpsConfig81     WifiIdlWpsConfig() : anyFlag(-1), multiAp(-1)
82     {}
83 
~WifiIdlWpsConfigWifiIdlWpsConfig84     ~WifiIdlWpsConfig()
85     {}
86 };
87 
88 struct WifiWpaSignalInfo {
89     int signal;
90     int txrate;
91     int rxrate;
92     int noise;
93     int frequency;
94     int txPackets;
95     int rxPackets;
96 
WifiWpaSignalInfoWifiWpaSignalInfo97     WifiWpaSignalInfo() : signal(0), txrate(0), rxrate(0), noise(0), frequency(0),
98         txPackets(0), rxPackets(0)
99     {}
100 
~WifiWpaSignalInfoWifiWpaSignalInfo101     ~WifiWpaSignalInfo()
102     {}
103 };
104 
105 struct WifiIdlRoamCapability {
106     int maxBlocklistSize;
107     int maxTrustlistSize;
108 
WifiIdlRoamCapabilityWifiIdlRoamCapability109     WifiIdlRoamCapability() : maxBlocklistSize(0), maxTrustlistSize(0)
110     {}
111 
~WifiIdlRoamCapabilityWifiIdlRoamCapability112     ~WifiIdlRoamCapability()
113     {}
114 };
115 
116 struct WifiIdlRoamConfig {
117     std::vector<std::string> blocklistBssids;
118     std::vector<std::string> trustlistBssids;
119 };
120 
121 struct WifiWpaNetworkInfo {
122     int id;
123     std::string ssid;
124     std::string bssid;
125     std::string flag;
126 
WifiWpaNetworkInfoWifiWpaNetworkInfo127     WifiWpaNetworkInfo() : id(0)
128     {}
129 
~WifiWpaNetworkInfoWifiWpaNetworkInfo130     ~WifiWpaNetworkInfo()
131     {}
132 };
133 
134 struct IdlP2pDeviceFound {
135     std::string srcAddress;
136     std::string p2pDeviceAddress;
137     std::string primaryDeviceType;
138     std::string deviceName;
139     int configMethods;
140     int deviceCapabilities;
141     int groupCapabilities;
142     std::vector<char> wfdDeviceInfo;
143 
IdlP2pDeviceFoundIdlP2pDeviceFound144     IdlP2pDeviceFound() : configMethods(0), deviceCapabilities(0), groupCapabilities(0)
145     {}
146 
~IdlP2pDeviceFoundIdlP2pDeviceFound147     ~IdlP2pDeviceFound()
148     {}
149 };
150 
151 struct IdlP2pInvitationInfo {
152     int type; /* 0:Received, 1:Accepted */
153     int persistentNetworkId;
154     int operatingFrequency;
155     std::string srcAddress;
156     std::string goDeviceAddress;
157     std::string bssid;
158 
IdlP2pInvitationInfoIdlP2pInvitationInfo159     IdlP2pInvitationInfo() : type(0), persistentNetworkId(0), operatingFrequency(0)
160     {}
161 
~IdlP2pInvitationInfoIdlP2pInvitationInfo162     ~IdlP2pInvitationInfo()
163     {}
164 };
165 
166 struct IdlP2pGroupInfo {
167     int isGo;
168     int isPersistent;
169     int frequency;
170     std::string groupName;
171     std::string ssid;
172     std::string psk;
173     std::string passphrase;
174     std::string goDeviceAddress;
175 
IdlP2pGroupInfoIdlP2pGroupInfo176     IdlP2pGroupInfo() : isGo(0), isPersistent(0), frequency(0)
177     {}
178 
~IdlP2pGroupInfoIdlP2pGroupInfo179     ~IdlP2pGroupInfo()
180     {}
181 };
182 
183 struct IdlP2pServDiscReqInfo {
184     int freq;
185     int dialogToken;
186     int updateIndic;
187     std::string mac;
188     std::vector<unsigned char> tlvList;
189 
IdlP2pServDiscReqInfoIdlP2pServDiscReqInfo190     IdlP2pServDiscReqInfo() : freq(0), dialogToken(0), updateIndic(0)
191     {}
192 
~IdlP2pServDiscReqInfoIdlP2pServDiscReqInfo193     ~IdlP2pServDiscReqInfo()
194     {}
195 };
196 
197 struct IdlP2pGroupConfig {
198     std::string ssid;
199     std::string bssid;
200     std::string psk;
201     std::string proto;
202     std::string keyMgmt;
203     std::string pairwise;
204     std::string authAlg;
205     int mode;
206     int disabled;
207 
IdlP2pGroupConfigIdlP2pGroupConfig208     IdlP2pGroupConfig()
209         : bssid("00:00:00:00:00:00"),
210           proto("RSN"),
211           keyMgmt("WPA-PSK"),
212           pairwise("CCMP"),
213           authAlg("OPEN"),
214           mode(0),
215           disabled(0)
216     {}
217 
~IdlP2pGroupConfigIdlP2pGroupConfig218     ~IdlP2pGroupConfig()
219     {}
220 };
221 }  // namespace Wifi
222 }  // namespace OHOS
223 #endif
224