1 /* 2 * Copyright (C) 2023-2023 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_SELF_CURE_MSG_H 17 #define OHOS_SELF_CURE_MSG_H 18 19 #include "string" 20 21 namespace OHOS { 22 namespace Wifi { 23 /* self cure history info */ 24 struct WifiSelfCureHistoryInfo { 25 /* record dns failed count */ 26 int dnsSelfCureFailedCnt; 27 28 /* record last dns failed milliseconds */ 29 int64_t lastDnsSelfCureFailedTs; 30 31 /* record renew dhcp failed count */ 32 int renewDhcpSelfCureFailedCnt; 33 34 /* record last renew dhcp failed milliseconds */ 35 int64_t lastRenewDhcpSelfCureFailedTs; 36 37 /* record static ip failed count */ 38 int staticIpSelfCureFailedCnt; 39 40 /* record last static ip failed milliseconds */ 41 int64_t lastStaticIpSelfCureFailedTs; 42 43 /* record reassoc failed count */ 44 int reassocSelfCureFailedCnt; 45 46 /* record last reassoc failed milliseconds */ 47 int64_t lastReassocSelfCureFailedTs; 48 49 /* record rand mac selfcure fail cnt */ 50 int randMacSelfCureFailedCnt; 51 52 /* record rand mac selfcure fail time */ 53 int64_t lastRandMacSelfCureFailedCntTs; 54 55 /* record reset failed count */ 56 int resetSelfCureFailedCnt; 57 58 /* record last reset failed milliseconds */ 59 int64_t lastResetSelfCureFailedTs; 60 61 /* record reassoc connect failed count */ 62 int reassocSelfCureConnectFailedCnt; 63 64 /* record last reassoc connect failed milliseconds */ 65 int64_t lastReassocSelfCureConnectFailedTs; 66 67 /* record rand mac selfcure connect fail cnt */ 68 int randMacSelfCureConnectFailedCnt; 69 70 /* record rand mac selfcure connect fail time */ 71 int64_t lastRandMacSelfCureConnectFailedCntTs; 72 73 /* record reset connect failed count */ 74 int resetSelfCureConnectFailedCnt; 75 76 /* record last reset connect failed milliseconds */ 77 int64_t lastResetSelfCureConnectFailedTs; WifiSelfCureHistoryInfoWifiSelfCureHistoryInfo78 WifiSelfCureHistoryInfo() 79 { 80 dnsSelfCureFailedCnt = 0; 81 lastDnsSelfCureFailedTs = 0; 82 renewDhcpSelfCureFailedCnt = 0; 83 lastRenewDhcpSelfCureFailedTs = 0; 84 staticIpSelfCureFailedCnt = 0; 85 lastStaticIpSelfCureFailedTs = 0; 86 reassocSelfCureFailedCnt = 0; 87 lastReassocSelfCureFailedTs = 0; 88 randMacSelfCureFailedCnt = 0; 89 lastRandMacSelfCureFailedCntTs = 0; 90 resetSelfCureFailedCnt = 0; 91 lastResetSelfCureFailedTs = 0; 92 reassocSelfCureConnectFailedCnt = 0; 93 lastReassocSelfCureConnectFailedTs = 0; 94 randMacSelfCureConnectFailedCnt = 0; 95 lastRandMacSelfCureConnectFailedCntTs = 0; 96 resetSelfCureConnectFailedCnt = 0; 97 lastResetSelfCureConnectFailedTs = 0; 98 } GetSelfCureHistoryWifiSelfCureHistoryInfo99 std::string GetSelfCureHistory() 100 { 101 std::string internetSelfCureHistory; 102 internetSelfCureHistory.append(std::to_string(dnsSelfCureFailedCnt) + "|"); 103 internetSelfCureHistory.append(std::to_string(lastDnsSelfCureFailedTs) + "|"); 104 internetSelfCureHistory.append(std::to_string(renewDhcpSelfCureFailedCnt) + "|"); 105 internetSelfCureHistory.append(std::to_string(lastRenewDhcpSelfCureFailedTs) + "|"); 106 internetSelfCureHistory.append(std::to_string(staticIpSelfCureFailedCnt) + "|"); 107 internetSelfCureHistory.append(std::to_string(lastStaticIpSelfCureFailedTs) + "|"); 108 internetSelfCureHistory.append(std::to_string(reassocSelfCureFailedCnt) + "|"); 109 internetSelfCureHistory.append(std::to_string(lastReassocSelfCureFailedTs) + "|"); 110 internetSelfCureHistory.append(std::to_string(randMacSelfCureFailedCnt) + "|"); 111 internetSelfCureHistory.append(std::to_string(lastRandMacSelfCureFailedCntTs) + "|"); 112 internetSelfCureHistory.append(std::to_string(resetSelfCureFailedCnt) + "|"); 113 internetSelfCureHistory.append(std::to_string(lastResetSelfCureFailedTs) + "|"); 114 internetSelfCureHistory.append(std::to_string(reassocSelfCureConnectFailedCnt) + "|"); 115 internetSelfCureHistory.append(std::to_string(lastReassocSelfCureConnectFailedTs) + "|"); 116 internetSelfCureHistory.append(std::to_string(randMacSelfCureConnectFailedCnt) + "|"); 117 internetSelfCureHistory.append(std::to_string(lastRandMacSelfCureConnectFailedCntTs) + "|"); 118 internetSelfCureHistory.append(std::to_string(resetSelfCureConnectFailedCnt) + "|"); 119 internetSelfCureHistory.append(std::to_string(lastResetSelfCureConnectFailedTs)); 120 return internetSelfCureHistory; 121 } 122 }; 123 124 enum class SelfCureType { 125 SCE_TYPE_INVALID = 0, 126 SCE_TYPE_DNS = 1, 127 SCE_TYPE_REASSOC = 2, 128 SCE_TYPE_WIFI6 = 3, 129 SCE_TYPE_STATIC_IP = 4, 130 SCE_TYPE_MULTI_GW = 5, 131 SCE_TYPE_RANDMAC = 6, 132 SCE_TYPE_RESET = 7, 133 }; 134 } 135 } 136 #endif