1/* 2 * Copyright (c) 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#include <string.h> 17#include "init_module_engine.h" 18#include "plugin_adapter.h" 19#include "init_utils.h" 20 21static int InitEngEarlyHook(const HOOK_INFO *info, void *cookie) 22{ 23 char value[MAX_BUFFER_LEN] = {0}; 24 int ret = GetParameterFromCmdLine("ohos.boot.root_package", value, MAX_BUFFER_LEN); 25 if (ret == 0 && strcmp(value, "on") == 0) { 26#ifndef STARTUP_INIT_TEST 27 InitModuleMgrInstall("init_eng"); 28 InitModuleMgrUnInstall("init_eng"); 29#endif 30 PLUGIN_LOGI("eng_mode enable."); 31 } 32 return 0; 33} 34 35MODULE_CONSTRUCTOR(void) 36{ 37 InitAddGlobalInitHook(0, InitEngEarlyHook); 38} 39