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 bssid; 51 WifiIdlDeviceConfigWifiIdlDeviceConfig52 WifiIdlDeviceConfig() : networkId(-1), priority(-1), scanSsid(-1), authAlgorithms(-1), wepKeyIdx(-1) 53 {} 54 ~WifiIdlDeviceConfigWifiIdlDeviceConfig55 ~WifiIdlDeviceConfig() 56 {} 57 }; 58 59 struct WifiIdlGetDeviceConfig { 60 int networkId; 61 std::string param; 62 std::string value; 63 WifiIdlGetDeviceConfigWifiIdlGetDeviceConfig64 WifiIdlGetDeviceConfig() : networkId(-1) 65 {} 66 ~WifiIdlGetDeviceConfigWifiIdlGetDeviceConfig67 ~WifiIdlGetDeviceConfig() 68 {} 69 }; 70 71 struct WifiIdlWpsConfig { 72 int anyFlag; 73 int multiAp; 74 std::string bssid; 75 std::string pinCode; 76 WifiIdlWpsConfigWifiIdlWpsConfig77 WifiIdlWpsConfig() : anyFlag(-1), multiAp(-1) 78 {} 79 ~WifiIdlWpsConfigWifiIdlWpsConfig80 ~WifiIdlWpsConfig() 81 {} 82 }; 83 84 struct WifiWpaSignalInfo { 85 int signal; 86 int txrate; 87 int rxrate; 88 int noise; 89 int frequency; 90 WifiWpaSignalInfoWifiWpaSignalInfo91 WifiWpaSignalInfo() : signal(0), txrate(0), rxrate(0), noise(0), frequency(0) 92 {} 93 ~WifiWpaSignalInfoWifiWpaSignalInfo94 ~WifiWpaSignalInfo() 95 {} 96 }; 97 98 struct WifiIdlRoamCapability { 99 int maxBlocklistSize; 100 int maxTrustlistSize; 101 WifiIdlRoamCapabilityWifiIdlRoamCapability102 WifiIdlRoamCapability() : maxBlocklistSize(0), maxTrustlistSize(0) 103 {} 104 ~WifiIdlRoamCapabilityWifiIdlRoamCapability105 ~WifiIdlRoamCapability() 106 {} 107 }; 108 109 struct WifiIdlRoamConfig { 110 std::vector<std::string> blocklistBssids; 111 std::vector<std::string> trustlistBssids; 112 }; 113 114 struct WifiWpaNetworkInfo { 115 int id; 116 std::string ssid; 117 std::string bssid; 118 std::string flag; 119 WifiWpaNetworkInfoWifiWpaNetworkInfo120 WifiWpaNetworkInfo() : id(0) 121 {} 122 ~WifiWpaNetworkInfoWifiWpaNetworkInfo123 ~WifiWpaNetworkInfo() 124 {} 125 }; 126 127 struct IdlP2pDeviceFound { 128 std::string srcAddress; 129 std::string p2pDeviceAddress; 130 std::string primaryDeviceType; 131 std::string deviceName; 132 int configMethods; 133 int deviceCapabilities; 134 int groupCapabilities; 135 std::vector<char> wfdDeviceInfo; 136 IdlP2pDeviceFoundIdlP2pDeviceFound137 IdlP2pDeviceFound() : configMethods(0), deviceCapabilities(0), groupCapabilities(0) 138 {} 139 ~IdlP2pDeviceFoundIdlP2pDeviceFound140 ~IdlP2pDeviceFound() 141 {} 142 }; 143 144 struct IdlP2pInvitationInfo { 145 int type; /* 0:Recived, 1:Accepted */ 146 int persistentNetworkId; 147 int operatingFrequency; 148 std::string srcAddress; 149 std::string goDeviceAddress; 150 std::string bssid; 151 IdlP2pInvitationInfoIdlP2pInvitationInfo152 IdlP2pInvitationInfo() : type(0), persistentNetworkId(0), operatingFrequency(0) 153 {} 154 ~IdlP2pInvitationInfoIdlP2pInvitationInfo155 ~IdlP2pInvitationInfo() 156 {} 157 }; 158 159 struct IdlP2pGroupInfo { 160 int isGo; 161 int isPersistent; 162 int frequency; 163 std::string groupName; 164 std::string ssid; 165 std::string psk; 166 std::string passphrase; 167 std::string goDeviceAddress; 168 IdlP2pGroupInfoIdlP2pGroupInfo169 IdlP2pGroupInfo() : isGo(0), isPersistent(0), frequency(0) 170 {} 171 ~IdlP2pGroupInfoIdlP2pGroupInfo172 ~IdlP2pGroupInfo() 173 {} 174 }; 175 176 struct IdlP2pServDiscReqInfo { 177 int freq; 178 int dialogToken; 179 int updateIndic; 180 std::string mac; 181 std::vector<unsigned char> tlvList; 182 IdlP2pServDiscReqInfoIdlP2pServDiscReqInfo183 IdlP2pServDiscReqInfo() : freq(0), dialogToken(0), updateIndic(0) 184 {} 185 ~IdlP2pServDiscReqInfoIdlP2pServDiscReqInfo186 ~IdlP2pServDiscReqInfo() 187 {} 188 }; 189 190 struct IdlP2pGroupConfig { 191 std::string ssid; 192 std::string bssid; 193 std::string psk; 194 std::string proto; 195 std::string keyMgmt; 196 std::string pairwise; 197 std::string authAlg; 198 int mode; 199 int disabled; 200 IdlP2pGroupConfigIdlP2pGroupConfig201 IdlP2pGroupConfig() 202 : bssid("00:00:00:00:00:00"), 203 proto("RSN"), 204 keyMgmt("WPA-PSK"), 205 pairwise("CCMP"), 206 authAlg("OPEN"), 207 mode(0), 208 disabled(0) 209 {} 210 ~IdlP2pGroupConfigIdlP2pGroupConfig211 ~IdlP2pGroupConfig() 212 {} 213 }; 214 } // namespace Wifi 215 } // namespace OHOS 216 #endif