diff --git a/device_info/device_info.cpp b/device_info/device_info.cpp index 518e0af8c3e7714ded3770c82ca2c3e68cc05a42..3c13411fe718e7a24a39e8dc5f4b12dc81e08c89 100644 --- a/device_info/device_info.cpp +++ b/device_info/device_info.cpp @@ -30,6 +30,7 @@ int AclGetDevUdid(char *udid, int size) if (udid == nullptr || size < UDID_LEN) { return -1; } + (void)memset_s(udid, size, 0, size); #ifdef PARAM_FEATURE_DEVICEINFO std::string result = {}; OHOS::device_info::DeviceInfoKits &instance = OHOS::device_info::DeviceInfoKits::GetInstance(); diff --git a/services/begetctl/bootchart_cmd.c b/services/begetctl/bootchart_cmd.c index 4597ac6d2800204f97596fc584c7503614a94360..3cb2eddf0a0c4226e10350ca07b42494aefcec13 100644 --- a/services/begetctl/bootchart_cmd.c +++ b/services/begetctl/bootchart_cmd.c @@ -74,6 +74,6 @@ MODULE_CONSTRUCTOR(void) {"bootchart", bootchartCmdStop, "bootchart stop", "bootchart stop", "bootchart stop"}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } diff --git a/services/begetctl/dump_service.c b/services/begetctl/dump_service.c index 6eb3906f1147370d6f09bafc849366ac24a6a424..8ba1190449f4f7c959145acd4ad14be8caebd851 100644 --- a/services/begetctl/dump_service.c +++ b/services/begetctl/dump_service.c @@ -30,14 +30,17 @@ static int main_cmd(BShellHandle shell, int argc, char **argv) printf("dump service info \n"); CmdClientInit(INIT_CONTROL_FD_SOCKET_PATH, ACTION_DUMP, argv[1]); } else if (argc == DUMP_SERVICE_BOOTEVENT_CMD_ARGS) { - printf("dump service bootevent info \n"); + if (strcmp(argv[1], "bootevent") == 0) { + printf("dump service bootevent info \n"); + } else if (strcmp(argv[1], "parameter_service") == 0) { + printf("dump parameter service info \n"); + } size_t serviceNameLen = strlen(argv[1]) + strlen(argv[2]) + 2; // 2 is \0 and # - char *serviceBootevent = (char *)calloc(1, serviceNameLen); - BEGET_ERROR_CHECK(serviceBootevent != NULL, return 0, "failed to allocate bootevent memory"); - BEGET_ERROR_CHECK(sprintf_s(serviceBootevent, serviceNameLen, "%s#%s", argv[1], argv[2]) >= 0, - free(serviceBootevent); return 0, "dumpservice arg create failed"); - CmdClientInit(INIT_CONTROL_FD_SOCKET_PATH, ACTION_DUMP, serviceBootevent); - free(serviceBootevent); + char *cmd = (char *)calloc(1, serviceNameLen); + BEGET_ERROR_CHECK(sprintf_s(cmd, serviceNameLen, "%s#%s", argv[1], argv[2]) >= 0, free(cmd); + return 0, "dump service arg create failed"); + CmdClientInit(INIT_CONTROL_FD_SOCKET_PATH, ACTION_DUMP, cmd); + free(cmd); } else { BShellCmdHelp(shell, argc, argv); } @@ -49,17 +52,26 @@ static int ClearBootEvent(BShellHandle shell, int argc, char **argv) return SystemSetParameter("ohos.servicectrl.clear", "bootevent"); } +static int SaveBootEvent(BShellHandle shell, int argc, char **argv) +{ + return SystemSetParameter("ohos.servicectrl.save", "bootevent"); +} + MODULE_CONSTRUCTOR(void) { const CmdInfo infos[] = { {"dump_service", main_cmd, "dump one service info by serviceName", "dump_service serviceName", NULL}, {"dump_service", main_cmd, "dump one service bootevent", "dump_service serviceName bootevent", NULL}, {"dump_service", main_cmd, "dump all services info", "dump_service all", NULL}, + {"dump_service", main_cmd, "dump parameter-service trigger", + "dump_service parameter_service trigger", "dump_service parameter_service trigger"}, {"dump_service", main_cmd, "dump all services bootevent", "dump_service all bootevent", NULL}, {"service", ClearBootEvent, "Clear all services bootevent", "service clear bootevent", "service clear bootevent"}, + {"service", SaveBootEvent, "Save all services bootevent", "service save bootevent", + "service save bootevent"}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } diff --git a/services/begetctl/init_cmd_reboot.c b/services/begetctl/init_cmd_reboot.c index 2ddd980cca7f50c3e2a856446aaebaaa123bfca9..cadf0b217ed488ef0d24f38bd056d70d87e52761 100644 --- a/services/begetctl/init_cmd_reboot.c +++ b/services/begetctl/init_cmd_reboot.c @@ -77,6 +77,6 @@ MODULE_CONSTRUCTOR(void) #endif }; for (size_t i = sizeof(infos) / sizeof(infos[0]); i > 0; i--) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i - 1]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i - 1]); } } diff --git a/services/begetctl/misc_daemon.cpp b/services/begetctl/misc_daemon.cpp index 0a49cd8ecd6377058169e5360c0f5ac22779d6df..2369888b951a56c8bb9289aa69d659b1ec105949 100644 --- a/services/begetctl/misc_daemon.cpp +++ b/services/begetctl/misc_daemon.cpp @@ -224,6 +224,6 @@ MODULE_CONSTRUCTOR(void) } }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } diff --git a/services/begetctl/modulectl.c b/services/begetctl/modulectl.c index 779b4e3dde0d641591bb556d7d0c71409e4d2a55..fc369c9a2c0d872d62d43882334d69ce2f06da8e 100644 --- a/services/begetctl/modulectl.c +++ b/services/begetctl/modulectl.c @@ -59,6 +59,6 @@ MODULE_CONSTRUCTOR(void) "modulectl uninstall moduleName", "modulectl uninstall"}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } diff --git a/services/begetctl/param_cmd.c b/services/begetctl/param_cmd.c index a6bc4027e13ce7a1f2887c56e64961fbed8f7923..b4506359e8c0dd0731bb6fe98376923194d16d92 100644 --- a/services/begetctl/param_cmd.c +++ b/services/begetctl/param_cmd.c @@ -435,7 +435,7 @@ static int32_t BShellParamCmdRegForShell(BShellHandle shell) {"pwd", BShellParamCmdPwd, "display current parameter", "pwd", NULL}, }; for (size_t i = sizeof(infos) / sizeof(infos[0]); i > 0; i--) { - BShellEnvRegitsterCmd(shell, &infos[i - 1]); + BShellEnvRegisterCmd(shell, &infos[i - 1]); } return 0; } @@ -451,7 +451,7 @@ static int32_t BShellParamCmdRegForIndepent(BShellHandle shell) {"param", BShellParamCmdShell, "shell system parameter", "param shell [name]", "param shell"}, }; for (size_t i = sizeof(infos) / sizeof(infos[0]); i > 0; i--) { - BShellEnvRegitsterCmd(shell, &infos[i - 1]); + BShellEnvRegisterCmd(shell, &infos[i - 1]); } return 0; } diff --git a/services/begetctl/partitionslot.cpp b/services/begetctl/partitionslot.cpp index 65bf2b35c1cdc2221ecd5bd7e284c7478b2e8bdd..3d834e1d0674edf4fcbc9085abbbd255f9e4aed5 100644 --- a/services/begetctl/partitionslot.cpp +++ b/services/begetctl/partitionslot.cpp @@ -108,6 +108,6 @@ MODULE_CONSTRUCTOR(void) } }; for (size_t i = sizeof(infos) / sizeof(infos[0]); i > 0; i--) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i - 1]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i - 1]); } } diff --git a/services/begetctl/sandbox.cpp b/services/begetctl/sandbox.cpp index 9b2ccc47b40dc8874f2cac903538b867efbab043..92ee3dd820df065916aa0991642bdb1f2b488449 100644 --- a/services/begetctl/sandbox.cpp +++ b/services/begetctl/sandbox.cpp @@ -201,6 +201,6 @@ MODULE_CONSTRUCTOR(void) } }; for (size_t i = 0; i < ARRAY_LENGTH(infos); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } diff --git a/services/begetctl/service_control.c b/services/begetctl/service_control.c index 5c2c254c72c34dd1e9511a6f88982fea80a9e922..7dbfb61c7aeb27ad6a57638b25a95866ede29da5 100644 --- a/services/begetctl/service_control.c +++ b/services/begetctl/service_control.c @@ -76,6 +76,6 @@ MODULE_CONSTRUCTOR(void) {"timer_stop", main_cmd, "stop service timer", "timer_stop servicename", ""}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } diff --git a/services/begetctl/shell/shell.h b/services/begetctl/shell/shell.h index 46ca072d6c835384c5653c85430626095ab03c9b..243e655f6719f54c3186ca61e2018412fb343b36 100644 --- a/services/begetctl/shell/shell.h +++ b/services/begetctl/shell/shell.h @@ -93,7 +93,7 @@ int BShellEnvInit(BShellHandle *handle, const BShellInfo *info); int BShellEnvStart(BShellHandle handle); void BShellEnvDestory(BShellHandle handle); -int BShellEnvRegitsterCmd(BShellHandle handle, const CmdInfo *cmdInfo); +int BShellEnvRegisterCmd(BShellHandle handle, const CmdInfo *cmdInfo); int BShellEnvSetParam(BShellHandle handle, const char *name, const char *desc, BShellParamType type, void *value); const BShellParam *BShellEnvGetParam(BShellHandle handle, const char *name); int BShellEnvRegisterKeyHandle(BShellHandle handle, uint8_t code, BShellkeyHandle keyHandle); diff --git a/services/begetctl/shell/shell_bas.c b/services/begetctl/shell/shell_bas.c index 0836e2e400bc3b5f876154c8e0f70dbfbd491aa2..c02a7960b1abb0164ba587731427efe3cdbdb07f 100644 --- a/services/begetctl/shell/shell_bas.c +++ b/services/begetctl/shell/shell_bas.c @@ -436,7 +436,7 @@ int BShellEnvStart(BShellHandle handle) {"help", BShellCmdHelp, "help command", "help"} }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(handle, &infos[i]); + BShellEnvRegisterCmd(handle, &infos[i]); } return 0; } @@ -500,7 +500,7 @@ void BShellEnvDestory(BShellHandle handle) free(shell); } -int32_t BShellEnvRegitsterCmd(BShellHandle handle, const CmdInfo *cmdInfo) +int32_t BShellEnvRegisterCmd(BShellHandle handle, const CmdInfo *cmdInfo) { BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env"); BSH_CHECK(cmdInfo != NULL && cmdInfo->name != NULL, return BSH_INVALID_PARAM, "Invalid cmd name"); diff --git a/services/init/standard/init_control_fd_service.c b/services/init/standard/init_control_fd_service.c index cf95aeb85d9d13995fac3f5d9e721bcc3205ca3b..c06077568e8040666da4a2a18a966a6093861114 100755 --- a/services/init/standard/init_control_fd_service.c +++ b/services/init/standard/init_control_fd_service.c @@ -25,6 +25,7 @@ #include "init_utils.h" #include "init_log.h" #include "init_group_manager.h" +#include "init_param.h" #include "hookmgr.h" #include "bootstage.h" @@ -187,6 +188,12 @@ static void ProcessDumpServiceControlFd(uint16_t type, const char *serviceCmd) } return; } + if (strcmp(serviceCmd, "parameter_service") == 0) { + if (cmd != NULL && strcmp(cmd, "trigger") == 0) { + SystemDumpTriggers(0); + } + return; + } Service *service = GetServiceByName(serviceCmd); if (service != NULL) { if (cmd != NULL) { diff --git a/services/param/include/param_utils.h b/services/param/include/param_utils.h index d5fce6ee00ce41fcc65c9c0c9c16d3da72555c4f..b9fd4603d1b33695c3f75e213f32eaa497baf65d 100644 --- a/services/param/include/param_utils.h +++ b/services/param/include/param_utils.h @@ -127,12 +127,7 @@ INIT_LOCAL_API void ParamWorBaseLog(InitLogLevel logLevel, uint32_t domain, cons exper; \ } -#ifdef INIT_AGENT #define PARAM_DUMP printf -#else -#define PARAM_DUMP PARAM_LOGI -#endif - #define MAX_LABEL_LEN 256 #define PARAM_BUFFER_SIZE 256 diff --git a/services/param/trigger/trigger_manager.c b/services/param/trigger/trigger_manager.c index 55c0e5fd7767e27d33adb00ba31adbf1d3a2bdd9..f61b39b4ca5433b96de10f61a3fd6f00e2e40ba5 100644 --- a/services/param/trigger/trigger_manager.c +++ b/services/param/trigger/trigger_manager.c @@ -474,15 +474,15 @@ int CheckTrigger(TriggerWorkSpace *workSpace, int type, static void DumpJobTrigger_(const TriggerWorkSpace *workSpace, const TriggerNode *trigger) { const JobNode *node = (const JobNode *)trigger; - PARAM_DUMP("trigger 0x%08x \n", trigger->flags); - PARAM_DUMP("trigger name %s \n", node->name); - PARAM_DUMP("trigger condition %s \n", node->condition); + PARAM_DUMP("trigger flags: 0x%08x \n", trigger->flags); + PARAM_DUMP("trigger name: %s \n", node->name); + PARAM_DUMP("trigger condition: %s \n", node->condition); const int maxCmd = 1024; int count = 0; CommandNode *cmd = GetNextCmdNode(node, NULL); while (cmd != NULL && count < maxCmd) { - PARAM_DUMP("\t command name %s \n", GetCmdKey(cmd->cmdKeyIndex)); - PARAM_DUMP("\t command args %s \n", cmd->content); + PARAM_DUMP(" command name: %s \n", GetCmdKey(cmd->cmdKeyIndex)); + PARAM_DUMP(" command args: %s \n", cmd->content); cmd = GetNextCmdNode(node, cmd); count++; } @@ -491,19 +491,19 @@ static void DumpJobTrigger_(const TriggerWorkSpace *workSpace, const TriggerNode static void DumpWatchTrigger_(const TriggerWorkSpace *workSpace, const TriggerNode *trigger) { const WatchNode *node = (const WatchNode *)trigger; - PARAM_DUMP("trigger 0x%08x \n", trigger->flags); - PARAM_DUMP("trigger condition %s \n", trigger->condition); - PARAM_DUMP("trigger watchId %d \n", node->watchId); + PARAM_DUMP("trigger flags: 0x%08x \n", trigger->flags); + PARAM_DUMP("trigger condition: %s \n", trigger->condition); + PARAM_DUMP("trigger watchId: %d \n", node->watchId); } static void DumpWaitTrigger_(const TriggerWorkSpace *workSpace, const TriggerNode *trigger) { const WaitNode *node = (const WaitNode *)trigger; - PARAM_DUMP("trigger 0x%08x \n", trigger->flags); - PARAM_DUMP("trigger name %s \n", GetTriggerName(trigger)); - PARAM_DUMP("trigger condition %s \n", trigger->condition); - PARAM_DUMP("trigger waitId %d \n", node->waitId); - PARAM_DUMP("trigger timeout %d \n", node->timeout); + PARAM_DUMP("trigger flags: 0x%08x \n", trigger->flags); + PARAM_DUMP("trigger name: %s \n", GetTriggerName(trigger)); + PARAM_DUMP("trigger condition: %s \n", trigger->condition); + PARAM_DUMP("trigger waitId: %d \n", node->waitId); + PARAM_DUMP("trigger timeout: %d \n", node->timeout); } static void DumpTrigger_(const TriggerWorkSpace *workSpace, int type) @@ -522,7 +522,6 @@ void SystemDumpTriggers(int verbose) { TriggerWorkSpace *workSpace = GetTriggerWorkSpace(); PARAM_CHECK(workSpace != NULL, return, "Invalid workSpace "); - PARAM_DUMP("Ready to dump all trigger memory \n"); PARAM_DUMP("workspace queue BOOT info:\n"); DumpTrigger_(workSpace, TRIGGER_BOOT); PARAM_DUMP("workspace queue parameter info:\n"); @@ -540,7 +539,7 @@ void SystemDumpTriggers(int verbose) for (uint32_t index = workSpace->executeQueue.startIndex; index < workSpace->executeQueue.endIndex; index++) { TriggerNode *trigger = workSpace->executeQueue.executeQueue[index % workSpace->executeQueue.queueCount]; if (trigger != 0) { - PARAM_DUMP("queue node trigger name: %s \n", GetTriggerName(trigger)); + PARAM_DUMP(" queue node trigger name: %s \n", GetTriggerName(trigger)); } } } diff --git a/test/moduletest/param_test_cmds.c b/test/moduletest/param_test_cmds.c index b089137cbc6647159a678d4d78df62186a604faa..f41090bba131c1e6de87d65eec7e81bb3bcfa21c 100644 --- a/test/moduletest/param_test_cmds.c +++ b/test/moduletest/param_test_cmds.c @@ -164,7 +164,7 @@ int32_t BShellCmdRegister(BShellHandle shell, int execMode) {"init", BShellParamCmdGroupTest, "init group test", "init group test [stage]", "init group test"}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(shell, &infos[i]); + BShellEnvRegisterCmd(shell, &infos[i]); } } else { const CmdInfo infos[] = { @@ -177,7 +177,7 @@ int32_t BShellCmdRegister(BShellHandle shell, int execMode) {"display", BShellParamCmdUdidGet, "display udid", "display udid", "display udid"}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } } return 0; diff --git a/test/moduletest/syspara.cpp b/test/moduletest/syspara.cpp index bc040457bb37b6a4f9b7e183039f29fc1511052f..e904994fb1cb0c4d4d308a6f556d38f41404a8fa 100644 --- a/test/moduletest/syspara.cpp +++ b/test/moduletest/syspara.cpp @@ -93,6 +93,6 @@ MODULE_CONSTRUCTOR(void) {(char *)"dump", SysParaApiDumpCmd, (char *)"dump api", (char *)"dump api", (char *)"dump api"}, }; for (size_t i = 0; i < sizeof(infos) / sizeof(infos[0]); i++) { - BShellEnvRegitsterCmd(GetShellHandle(), &infos[i]); + BShellEnvRegisterCmd(GetShellHandle(), &infos[i]); } }