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