12498b56bSopenharmony_ci/* 22498b56bSopenharmony_ci * Copyright (c) 2020-2022 Huawei Device Co., Ltd. 32498b56bSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 42498b56bSopenharmony_ci * you may not use this file except in compliance with the License. 52498b56bSopenharmony_ci * You may obtain a copy of the License at 62498b56bSopenharmony_ci * 72498b56bSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 82498b56bSopenharmony_ci * 92498b56bSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 102498b56bSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 112498b56bSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 122498b56bSopenharmony_ci * See the License for the specific language governing permissions and 132498b56bSopenharmony_ci * limitations under the License. 142498b56bSopenharmony_ci */ 152498b56bSopenharmony_ci 162498b56bSopenharmony_ci#include <hilog_common.h> 172498b56bSopenharmony_ci#include <log_utils.h> 182498b56bSopenharmony_ci 192498b56bSopenharmony_ci#include "log_domains.h" 202498b56bSopenharmony_ci 212498b56bSopenharmony_cinamespace OHOS { 222498b56bSopenharmony_cinamespace HiviewDFX { 232498b56bSopenharmony_ciusing namespace std; 242498b56bSopenharmony_ci 252498b56bSopenharmony_cistatic const KVMap<uint32_t, string> g_DomainList({ 262498b56bSopenharmony_ci {0xD000100, "Bluetooth"}, 272498b56bSopenharmony_ci {0xD000300, "NFC"}, 282498b56bSopenharmony_ci {0xD000F00, "For test using"}, 292498b56bSopenharmony_ci {0xD001100, "AppExecFwk"}, 302498b56bSopenharmony_ci {0xD001200, "Notification"}, 312498b56bSopenharmony_ci {0xD001300, "AAFwk"}, 322498b56bSopenharmony_ci {0xD001400, "Graphics"}, 332498b56bSopenharmony_ci {0xD001500, "Communication"}, 342498b56bSopenharmony_ci {0xD001600, "DistributedData"}, 352498b56bSopenharmony_ci {0xD001700, "Resource"}, 362498b56bSopenharmony_ci {0xD001800, "SAMgr"}, 372498b56bSopenharmony_ci {0xD001B00, "Account"}, 382498b56bSopenharmony_ci {0xD001C00, "MiscService"}, 392498b56bSopenharmony_ci {0xD001D00, "Barrierfree"}, 402498b56bSopenharmony_ci {0xD001E00, "Global"}, 412498b56bSopenharmony_ci {0xD001F00, "Telephony"}, 422498b56bSopenharmony_ci {0xD002100, "AI"}, 432498b56bSopenharmony_ci {0xD002200, "MSDP"}, 442498b56bSopenharmony_ci {0xD002300, "Location"}, 452498b56bSopenharmony_ci {0xD002400, "UserIAM"}, 462498b56bSopenharmony_ci {0xD002500, "Drivers"}, 472498b56bSopenharmony_ci {0xD002600, "Kernel"}, 482498b56bSopenharmony_ci {0xD002700, "Sensors"}, 492498b56bSopenharmony_ci {0xD002800, "MultiModelInput"}, 502498b56bSopenharmony_ci {0xD002900, "Power"}, 512498b56bSopenharmony_ci {0xD002A00, "USB"}, 522498b56bSopenharmony_ci {0xD002B00, "MultiMedia"}, 532498b56bSopenharmony_ci {0xD002C00, "StartUp"}, 542498b56bSopenharmony_ci {0xD002D00, "DFX"}, 552498b56bSopenharmony_ci {0xD002E00, "Update"}, 562498b56bSopenharmony_ci {0xD002F00, "Security"}, 572498b56bSopenharmony_ci {0xD003100, "TestSystem"}, 582498b56bSopenharmony_ci {0xD003200, "TestSystem"}, 592498b56bSopenharmony_ci {0xD003300, "DevelopmentToolchain"}, 602498b56bSopenharmony_ci {0xD003900, "Ace"}, 612498b56bSopenharmony_ci {0xD003B00, "JSConsole"}, 622498b56bSopenharmony_ci {0xD003D00, "Utils"}, 632498b56bSopenharmony_ci {0xD003F00, "CompilerRuntime"}, 642498b56bSopenharmony_ci {0xD004100, "DistributedHardware"}, 652498b56bSopenharmony_ci {0xD004200, "Windows"}, 662498b56bSopenharmony_ci {0xD004300, "Storage"}, 672498b56bSopenharmony_ci {0xD004400, "DeviceProfile"}, 682498b56bSopenharmony_ci {0xD004500, "WebView"}, 692498b56bSopenharmony_ci {0xD004600, "Interconnection"}, 702498b56bSopenharmony_ci {0xD004700, "Cloud"}, 712498b56bSopenharmony_ci {0xD004800, "Manufacture"}, 722498b56bSopenharmony_ci {0xD004900, "HealthSport"}, 732498b56bSopenharmony_ci {0xD005100, "PcService"}, 742498b56bSopenharmony_ci {0xD005200, "WpaSupplicant"}, 752498b56bSopenharmony_ci {0xD005300, "Push"}, 762498b56bSopenharmony_ci {0xD005400, "CarService"}, 772498b56bSopenharmony_ci {0xD005500, "DeviceCloudGateway"}, 782498b56bSopenharmony_ci {0xD005600, "AppSecurityPrivacy"}, 792498b56bSopenharmony_ci {0xD005700, "DSoftBus"}, 802498b56bSopenharmony_ci {0xD005800, "FindNetwork"}, 812498b56bSopenharmony_ci {0xD005900, "VirtService"}, 822498b56bSopenharmony_ci {0xD005A00, "AccessControl"}, 832498b56bSopenharmony_ci {0xD005B00, "Tee"}, 842498b56bSopenharmony_ci {0xD005C00, "Connectivity"}, 852498b56bSopenharmony_ci {0xD005D00, "XTS"}, 862498b56bSopenharmony_ci {0xD00AD00, "ASystem"}, 872498b56bSopenharmony_ci}, __UINT32_MAX__, "Invalid"); 882498b56bSopenharmony_ci 892498b56bSopenharmony_cistatic const uint32_t APP_DOMAIN_MASK = 0xFFFF0000; 902498b56bSopenharmony_cistatic const uint32_t OS_SUB_DOMAIN_MASK = 0xFFFFFF00; 912498b56bSopenharmony_cibool IsValidDomain(LogType type, uint32_t domain) 922498b56bSopenharmony_ci{ 932498b56bSopenharmony_ci if (type == LOG_APP) { 942498b56bSopenharmony_ci if ((domain & APP_DOMAIN_MASK) == 0) { 952498b56bSopenharmony_ci return true; 962498b56bSopenharmony_ci } 972498b56bSopenharmony_ci return false; 982498b56bSopenharmony_ci } else { 992498b56bSopenharmony_ci if (domain >= DOMAIN_OS_MIN && domain <= DOMAIN_OS_MAX) { 1002498b56bSopenharmony_ci return g_DomainList.IsValidKey((domain & OS_SUB_DOMAIN_MASK)); 1012498b56bSopenharmony_ci } 1022498b56bSopenharmony_ci return false; 1032498b56bSopenharmony_ci } 1042498b56bSopenharmony_ci} 1052498b56bSopenharmony_ci} // namespace HiviewDFX 1062498b56bSopenharmony_ci} // namespace OHOS