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