Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Startup Init Lite
提交
d85e26ee
S
Startup Init Lite
项目概览
OpenHarmony
/
Startup Init Lite
接近 2 年 前同步成功
通知
3
Star
37
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Startup Init Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d85e26ee
编写于
3月 31, 2022
作者:
X
xlei1030
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改检视意见
Signed-off-by:
N
xlei1030
<
xionglei6@huawei.com
>
上级
dec4bb88
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
49 deletion
+48
-49
services/param/include/param_service.h
services/param/include/param_service.h
+0
-2
services/param/service/param_service.c
services/param/service/param_service.c
+48
-47
未找到文件。
services/param/include/param_service.h
浏览文件 @
d85e26ee
...
...
@@ -39,8 +39,6 @@ typedef struct cmdLineInfo {
}
cmdLineInfo
;
int
WriteParam
(
const
WorkSpace
*
workSpace
,
const
char
*
name
,
const
char
*
value
,
uint32_t
*
dataIndex
,
int
onlyAdd
);
int
CommonDealFun
(
const
char
*
name
,
const
char
*
value
,
int
);
int
SnDealFun
(
const
char
*
name
,
const
char
*
value
,
int
);
int
InitPersistParamWorkSpace
(
const
ParamWorkSpace
*
workSpace
);
void
ClosePersistParamWorkSpace
(
void
);
...
...
services/param/service/param_service.c
浏览文件 @
d85e26ee
...
...
@@ -596,51 +596,7 @@ static int GetParamValueFromBuffer(const char *name, const char *buffer, char *v
return
ret
;
}
static
int
LoadParamFromCmdLine
(
void
)
{
int
ret
;
static
const
cmdLineInfo
cmdLines
[]
=
{
{
OHOS_BOOT
"hardware"
,
CommonDealFun
},
{
OHOS_BOOT
"bootgroup"
,
CommonDealFun
},
{
OHOS_BOOT
"reboot_reason"
,
CommonDealFun
},
{
OHOS_BOOT
"sn"
,
SnDealFun
},
#ifdef STARTUP_INIT_TEST
{
OHOS_BOOT
"mem"
,
CommonDealFun
},
{
OHOS_BOOT
"console"
,
CommonDealFun
},
{
OHOS_BOOT
"mmz"
,
CommonDealFun
},
{
OHOS_BOOT
"androidboot.selinux"
,
CommonDealFun
},
{
OHOS_BOOT
"init"
,
CommonDealFun
},
{
OHOS_BOOT
"root"
,
CommonDealFun
},
{
OHOS_BOOT
"uuid"
,
CommonDealFun
},
{
OHOS_BOOT
"rootfstype"
,
CommonDealFun
},
{
OHOS_BOOT
"blkdevparts"
,
CommonDealFun
}
#endif
};
char
*
data
=
ReadFileData
(
PARAM_CMD_LINE
);
PARAM_CHECK
(
data
!=
NULL
,
return
-
1
,
"Failed to read file %s"
,
PARAM_CMD_LINE
);
char
*
value
=
calloc
(
1
,
PARAM_CONST_VALUE_LEN_MAX
+
1
);
PARAM_CHECK
(
value
!=
NULL
,
free
(
data
);
return
-
1
,
"Failed to read file %s"
,
PARAM_CMD_LINE
);
for
(
size_t
i
=
0
;
i
<
ARRAY_LENGTH
(
cmdLines
);
i
++
)
{
#ifdef BOOT_EXTENDED_CMDLINE
ret
=
GetParamValueFromBuffer
(
cmdLines
[
i
].
name
,
BOOT_EXTENDED_CMDLINE
,
value
,
PARAM_CONST_VALUE_LEN_MAX
);
if
(
ret
!=
0
)
{
ret
=
GetParamValueFromBuffer
(
cmdLines
[
i
].
name
,
data
,
value
,
PARAM_CONST_VALUE_LEN_MAX
);
}
#else
ret
=
GetParamValueFromBuffer
(
cmdLines
[
i
].
name
,
data
,
value
,
PARAM_CONST_VALUE_LEN_MAX
);
#endif
cmdLines
[
i
].
processor
(
cmdLines
[
i
].
name
,
value
,
ret
);
}
PARAM_LOGV
(
"Parse cmdline finish %s"
,
PARAM_CMD_LINE
);
free
(
data
);
free
(
value
);
return
0
;
}
int
CommonDealFun
(
const
char
*
name
,
const
char
*
value
,
int
res
)
static
int
CommonDealFun
(
const
char
*
name
,
const
char
*
value
,
int
res
)
{
PARAM_LOGI
(
"Add param from cmdline %s %s"
,
name
,
value
);
int
ret
=
0
;
...
...
@@ -656,7 +612,7 @@ int CommonDealFun(const char* name, const char* value, int res)
return
ret
;
}
int
SnDealFun
(
const
char
*
name
,
const
char
*
value
,
int
res
)
static
int
SnDealFun
(
const
char
*
name
,
const
char
*
value
,
int
res
)
{
PARAM_LOGI
(
"Add SN param from cmdline %s %s"
,
name
,
value
);
int
ret
=
CheckParamName
(
name
,
0
);
...
...
@@ -692,11 +648,56 @@ int SnDealFun(const char* name, const char* value, int res)
data
[
index
]
=
'\0'
;
PARAM_LOGV
(
"**** name %s, value %s"
,
name
,
data
);
ret
=
WriteParam
(
&
g_paramWorkSpace
.
paramSpace
,
name
,
data
,
NULL
,
0
);
PARAM_CHECK
(
ret
==
0
,
return
ret
,
"Failed to write param %s %s"
,
name
,
data
);
PARAM_CHECK
(
ret
==
0
,
free
(
data
);
return
ret
,
"Failed to write param %s %s"
,
name
,
data
);
free
(
data
);
return
ret
;
}
static
int
LoadParamFromCmdLine
(
void
)
{
int
ret
;
static
const
cmdLineInfo
cmdLines
[]
=
{
{
OHOS_BOOT
"hardware"
,
CommonDealFun
},
{
OHOS_BOOT
"bootgroup"
,
CommonDealFun
},
{
OHOS_BOOT
"reboot_reason"
,
CommonDealFun
},
{
OHOS_BOOT
"sn"
,
SnDealFun
},
#ifdef STARTUP_INIT_TEST
{
OHOS_BOOT
"mem"
,
CommonDealFun
},
{
OHOS_BOOT
"console"
,
CommonDealFun
},
{
OHOS_BOOT
"mmz"
,
CommonDealFun
},
{
OHOS_BOOT
"androidboot.selinux"
,
CommonDealFun
},
{
OHOS_BOOT
"init"
,
CommonDealFun
},
{
OHOS_BOOT
"root"
,
CommonDealFun
},
{
OHOS_BOOT
"uuid"
,
CommonDealFun
},
{
OHOS_BOOT
"rootfstype"
,
CommonDealFun
},
{
OHOS_BOOT
"blkdevparts"
,
CommonDealFun
}
#endif
};
char
*
data
=
ReadFileData
(
PARAM_CMD_LINE
);
PARAM_CHECK
(
data
!=
NULL
,
return
-
1
,
"Failed to read file %s"
,
PARAM_CMD_LINE
);
char
*
value
=
calloc
(
1
,
PARAM_CONST_VALUE_LEN_MAX
+
1
);
PARAM_CHECK
(
value
!=
NULL
,
free
(
data
);
return
-
1
,
"Failed to read file %s"
,
PARAM_CMD_LINE
);
for
(
size_t
i
=
0
;
i
<
ARRAY_LENGTH
(
cmdLines
);
i
++
)
{
#ifdef BOOT_EXTENDED_CMDLINE
ret
=
GetParamValueFromBuffer
(
cmdLines
[
i
].
name
,
BOOT_EXTENDED_CMDLINE
,
value
,
PARAM_CONST_VALUE_LEN_MAX
);
if
(
ret
!=
0
)
{
ret
=
GetParamValueFromBuffer
(
cmdLines
[
i
].
name
,
data
,
value
,
PARAM_CONST_VALUE_LEN_MAX
);
}
#else
ret
=
GetParamValueFromBuffer
(
cmdLines
[
i
].
name
,
data
,
value
,
PARAM_CONST_VALUE_LEN_MAX
);
#endif
cmdLines
[
i
].
processor
(
cmdLines
[
i
].
name
,
value
,
ret
);
}
PARAM_LOGV
(
"Parse cmdline finish %s"
,
PARAM_CMD_LINE
);
free
(
data
);
free
(
value
);
return
0
;
}
int
SystemWriteParam
(
const
char
*
name
,
const
char
*
value
)
{
PARAM_CHECK
(
name
!=
NULL
&&
value
!=
NULL
,
return
-
1
,
"The name is null"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录