• 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 
WifiWpaSignalInfoWifiWpaSignalInfo95     WifiWpaSignalInfo() : signal(0), txrate(0), rxrate(0), noise(0), frequency(0)
96     {}
97 
~WifiWpaSignalInfoWifiWpaSignalInfo98     ~WifiWpaSignalInfo()
99     {}
100 };
101 
102 struct WifiIdlRoamCapability {
103     int maxBlocklistSize;
104     int maxTrustlistSize;
105 
WifiIdlRoamCapabilityWifiIdlRoamCapability106     WifiIdlRoamCapability() : maxBlocklistSize(0), maxTrustlistSize(0)
107     {}
108 
~WifiIdlRoamCapabilityWifiIdlRoamCapability109     ~WifiIdlRoamCapability()
110     {}
111 };
112 
113 struct WifiIdlRoamConfig {
114     std::vector<std::string> blocklistBssids;
115     std::vector<std::string> trustlistBssids;
116 };
117 
118 struct WifiWpaNetworkInfo {
119     int id;
120     std::string ssid;
121     std::string bssid;
122     std::string flag;
123 
WifiWpaNetworkInfoWifiWpaNetworkInfo124     WifiWpaNetworkInfo() : id(0)
125     {}
126 
~WifiWpaNetworkInfoWifiWpaNetworkInfo127     ~WifiWpaNetworkInfo()
128     {}
129 };
130 
131 struct IdlP2pDeviceFound {
132     std::string srcAddress;
133     std::string p2pDeviceAddress;
134     std::string primaryDeviceType;
135     std::string deviceName;
136     int configMethods;
137     int deviceCapabilities;
138     int groupCapabilities;
139     std::vector<char> wfdDeviceInfo;
140 
IdlP2pDeviceFoundIdlP2pDeviceFound141     IdlP2pDeviceFound() : configMethods(0), deviceCapabilities(0), groupCapabilities(0)
142     {}
143 
~IdlP2pDeviceFoundIdlP2pDeviceFound144     ~IdlP2pDeviceFound()
145     {}
146 };
147 
148 struct IdlP2pInvitationInfo {
149     int type; /* 0:Received, 1:Accepted */
150     int persistentNetworkId;
151     int operatingFrequency;
152     std::string srcAddress;
153     std::string goDeviceAddress;
154     std::string bssid;
155 
IdlP2pInvitationInfoIdlP2pInvitationInfo156     IdlP2pInvitationInfo() : type(0), persistentNetworkId(0), operatingFrequency(0)
157     {}
158 
~IdlP2pInvitationInfoIdlP2pInvitationInfo159     ~IdlP2pInvitationInfo()
160     {}
161 };
162 
163 struct IdlP2pGroupInfo {
164     int isGo;
165     int isPersistent;
166     int frequency;
167     std::string groupName;
168     std::string ssid;
169     std::string psk;
170     std::string passphrase;
171     std::string goDeviceAddress;
172 
IdlP2pGroupInfoIdlP2pGroupInfo173     IdlP2pGroupInfo() : isGo(0), isPersistent(0), frequency(0)
174     {}
175 
~IdlP2pGroupInfoIdlP2pGroupInfo176     ~IdlP2pGroupInfo()
177     {}
178 };
179 
180 struct IdlP2pServDiscReqInfo {
181     int freq;
182     int dialogToken;
183     int updateIndic;
184     std::string mac;
185     std::vector<unsigned char> tlvList;
186 
IdlP2pServDiscReqInfoIdlP2pServDiscReqInfo187     IdlP2pServDiscReqInfo() : freq(0), dialogToken(0), updateIndic(0)
188     {}
189 
~IdlP2pServDiscReqInfoIdlP2pServDiscReqInfo190     ~IdlP2pServDiscReqInfo()
191     {}
192 };
193 
194 struct IdlP2pGroupConfig {
195     std::string ssid;
196     std::string bssid;
197     std::string psk;
198     std::string proto;
199     std::string keyMgmt;
200     std::string pairwise;
201     std::string authAlg;
202     int mode;
203     int disabled;
204 
IdlP2pGroupConfigIdlP2pGroupConfig205     IdlP2pGroupConfig()
206         : bssid("00:00:00:00:00:00"),
207           proto("RSN"),
208           keyMgmt("WPA-PSK"),
209           pairwise("CCMP"),
210           authAlg("OPEN"),
211           mode(0),
212           disabled(0)
213     {}
214 
~IdlP2pGroupConfigIdlP2pGroupConfig215     ~IdlP2pGroupConfig()
216     {}
217 };
218 }  // namespace Wifi
219 }  // namespace OHOS
220 #endif
221