1 /* 2 * Copyright (c) 2021-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 NET_POLICY_DEFINE_H 17 #define NET_POLICY_DEFINE_H 18 19 #include "common_event_manager.h" 20 #include "common_event_support.h" 21 22 #include "net_quota_policy.h" 23 24 namespace OHOS { 25 namespace NetManagerStandard { 26 const std::string COMMON_EVENT_NET_QUOTA_LIMIT = "usual.event.NET_QUOTA_LIMIT"; 27 const std::string COMMON_EVENT_NET_QUOTA_LIMIT_REMINDED = "usual.event.NET_QUOTA_LIMIT_REMINDED"; 28 const std::string COMMON_EVENT_NET_QUOTA_WARNING = "usual.event.QUOTA_WARNING"; 29 const std::string COMMON_EVENT_POWER_SAVE_MODE_CHANGED = 30 EventFwk::CommonEventSupport::COMMON_EVENT_POWER_SAVE_MODE_CHANGED; 31 const std::string COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED = 32 EventFwk::CommonEventSupport::COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED; 33 const std::string COMMON_EVENT_PACKAGE_REMOVED = EventFwk::CommonEventSupport::COMMON_EVENT_PACKAGE_REMOVED; 34 35 const mode_t CHOWN_RWX_USR_GRP = 0770; 36 constexpr int16_t PERIODDURATION_POS_NUM_ONE = 1; 37 constexpr int16_t DAY_ONE = 1; 38 constexpr int16_t DAY_THIRTY_ONE = 31; 39 constexpr int16_t LIMIT_ACTION_ONE = 1; 40 constexpr int16_t LIMIT_ACTION_THREE = 3; 41 constexpr int16_t LIMIT_CALLBACK_NUM = 200; 42 constexpr const char *POLICY_FILE_NAME = "/data/service/el1/public/netmanager/net_policy.json"; 43 constexpr const char *POLICY_FILE_BAK_NAME = "/data/service/el1/public/netmanager/net_policy.bak"; 44 constexpr const char *CONFIG_HOS_VERSION = "hosVersion"; 45 constexpr const char *CONFIG_UID_POLICY = "uidPolicy"; 46 constexpr const char *CONFIG_UID = "uid"; 47 constexpr const char *CONFIG_POLICY = "policy"; 48 constexpr const char *HOS_VERSION = "1.0"; 49 constexpr const char *CONFIG_BACKGROUND_POLICY = "backgroundPolicy"; 50 constexpr const char *CONFIG_BACKGROUND_POLICY_STATUS = "status"; 51 constexpr const char *CONFIG_QUOTA_POLICY = "quotaPolicy"; 52 constexpr const char *CONFIG_QUOTA_POLICY_NETTYPE = "netType"; 53 constexpr const char *CONFIG_QUOTA_POLICY_SUBSCRIBERID = "simId"; 54 constexpr const char *CONFIG_QUOTA_POLICY_PERIODSTARTTIME = "periodStartTime"; 55 constexpr const char *CONFIG_QUOTA_POLICY_PERIODDURATION = "periodDuration"; 56 constexpr const char *CONFIG_QUOTA_POLICY_WARNINGBYTES = "warningBytes"; 57 constexpr const char *CONFIG_QUOTA_POLICY_LIMITBYTES = "limitBytes"; 58 constexpr const char *CONFIG_QUOTA_POLICY_LASTLIMITSNOOZE = "lastLimitSnooze"; 59 constexpr const char *CONFIG_QUOTA_POLICY_METERED = "metered"; 60 constexpr const char *CONFIG_QUOTA_POLICY_IDENT = "ident"; 61 constexpr const char *CONFIG_FIREWALL_RULE = "firewallList"; 62 constexpr const char *CONFIG_FIREWALL_RULE_DENIEDLIST = "deniedList"; 63 constexpr const char *CONFIG_FIREWALL_RULE_ALLOWEDLIST = "allowedList"; 64 constexpr const char *BACKGROUND_POLICY_ALLOW = "allow"; 65 constexpr const char *BACKGROUND_POLICY_REJECT = "reject"; 66 constexpr const char *IDENT_PREFIX_CELLULAR = "simId"; 67 constexpr const char *IDENT_PREFIX_WIFI = "ssId"; 68 constexpr const char *UNKNOW_IFACE = ""; 69 70 enum { 71 FIREWALL_CHAIN_NONE = 0, // ChainType::CHAIN_NONE 72 FIREWALL_CHAIN_DEVICE_IDLE = 16, // ChainType::CHAIN_OHFW_DOZABLE 73 FIREWALL_CHAIN_POWER_SAVE = 17, // ChainType::CHAIN_OHFW_UNDOZABLE 74 }; 75 76 enum { 77 FIREWALL_RULE_ALLOW = 1, 78 FIREWALL_RULE_DENY = 2, 79 }; 80 81 struct UidPolicy { 82 std::string uid; 83 std::string policy; 84 }; 85 86 struct NetPolicyQuota { 87 std::string netType; 88 std::string simId; 89 std::string periodStartTime; 90 std::string periodDuration; 91 std::string warningBytes; 92 std::string limitBytes; 93 std::string lastLimitSnooze; 94 std::string metered; 95 std::string ident; 96 }; 97 98 struct NetPolicyCellular { 99 std::string simId; 100 std::string periodStartTime; 101 std::string periodDuration; 102 std::string title; 103 std::string summary; 104 std::string limitBytes; 105 std::string limitAction; 106 std::string usedBytes; 107 std::string usedTimeDuration; 108 std::string possessor; 109 }; 110 111 struct NetFirewallRule { 112 std::set<uint32_t> deniedList; 113 std::set<uint32_t> allowedList; 114 }; 115 116 struct NetPolicy { 117 std::string hosVersion; 118 std::vector<UidPolicy> uidPolicies; 119 std::string backgroundPolicyStatus; 120 std::vector<NetPolicyQuota> netQuotaPolicies; 121 std::map<uint32_t, NetFirewallRule> netFirewallRules; 122 }; 123 124 // link power_mode_module.h 125 enum { 126 POWER_MODE_MIN = 600, 127 NORMAL_MODE = POWER_MODE_MIN, 128 SAVE_MODE, 129 EXTREME_MODE, 130 LOWPOWER_MODE, 131 POWER_MODE_MAX = LOWPOWER_MODE 132 }; 133 } // namespace NetManagerStandard 134 } // namespace OHOS 135 #endif // NET_POLICY_DEFINE_H