From 6873c2e33b81ce80cc164de239851dc6e462429a Mon Sep 17 00:00:00 2001 From: yudechen Date: Wed, 30 Nov 2022 18:00:01 +0800 Subject: [PATCH 1/7] chore: modify the declaration of variable. Signed-off-by: yudechen Change-Id: Ic0726d3f5c168f4ff52d6a4b78fdf1868825a0a8 --- src/syscap_tool.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/syscap_tool.c b/src/syscap_tool.c index 54193ff..da9cf18 100644 --- a/src/syscap_tool.c +++ b/src/syscap_tool.c @@ -13,6 +13,7 @@ * limitations under the License. */ +#include #include #include #include @@ -425,7 +426,7 @@ int32_t EncodeRpcidscToString(char *inputFile, char *outDirPath) { int32_t ret = 0; int32_t sysCapArraySize; - uint32_t bufferLen, i; + uint32_t bufferLen; uint16_t indexPri = 0; uint16_t *osSysCapIndex; char *contextBuffer = NULL; @@ -518,7 +519,7 @@ int32_t EncodeRpcidscToString(char *inputFile, char *outDirPath) PRINT_ERR("sprintf_s failed.\n"); goto FREE_OUTBUFFER; } - for (i = 1; i < RPCID_OUT_BUFFER; i++) { + for (int i = 1; i < RPCID_OUT_BUFFER; i++) { ret = sprintf_s(outBuffer, outBufferLen, "%s,%u", outBuffer, outUint[i]); if (ret == -1) { PRINT_ERR("sprintf_s failed.\n"); @@ -526,7 +527,7 @@ int32_t EncodeRpcidscToString(char *inputFile, char *outDirPath) } } - for (i = 0; i < indexPri; i++) { + for (uint16_t i = 0; i < indexPri; i++) { ret = sprintf_s(outBuffer, outBufferLen, "%s,%s", outBuffer, priSyscapArray + i * SINGLE_SYSCAP_LEN); if (ret == -1) { From 5e601b106711468ded15dedd89c0922ec207c21d Mon Sep 17 00:00:00 2001 From: liyufan123 Date: Fri, 2 Dec 2022 10:45:54 +0800 Subject: [PATCH 2/7] for net syscap change Signed-off-by: liyufan123 --- include/syscap_define.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/syscap_define.h b/include/syscap_define.h index 2792e53..288685d 100644 --- a/include/syscap_define.h +++ b/include/syscap_define.h @@ -46,7 +46,10 @@ typedef enum SystemCapabilityNum { COMMUNICATION_BLUETOOTH_CORE, COMMUNICATION_CONNECTEDTAG, COMMUNICATION_NETMANAGER_CORE, - COMMUNICATION_NETMANAGER_EXTENSION, + COMMUNICATION_NETMANAGER_ETHERNET, + COMMUNICATION_NETMANAGER_NETSHARING, + COMMUNICATION_NETMANAGER_MDNS, + COMMUNICATION_NETMANAGER_VPN, COMMUNICATION_NETSTACK, COMMUNICATION_NFC_CORE, COMMUNICATION_SOFTBUS_CORE, @@ -277,7 +280,10 @@ const static SyscapWithNum g_arraySyscap[] = { {"SystemCapability.Communication.Bluetooth.Core", COMMUNICATION_BLUETOOTH_CORE}, {"SystemCapability.Communication.ConnectedTag", COMMUNICATION_CONNECTEDTAG}, {"SystemCapability.Communication.NetManager.Core", COMMUNICATION_NETMANAGER_CORE}, - {"SystemCapability.Communication.NetManager.Extension", COMMUNICATION_NETMANAGER_EXTENSION}, + {"SystemCapability.Communication.NetManager.Ethernet", COMMUNICATION_NETMANAGER_ETHERNET}, + {"SystemCapability.Communication.NetManager.NetSharing", COMMUNICATION_NETMANAGER_NETSHARING}, + {"SystemCapability.Communication.NetManager.MDNS", COMMUNICATION_NETMANAGER_MDNS}, + {"SystemCapability.Communication.NetManager.Vpn", COMMUNICATION_NETMANAGER_VPN}, {"SystemCapability.Communication.NetStack", COMMUNICATION_NETSTACK}, {"SystemCapability.Communication.NFC.Core", COMMUNICATION_NFC_CORE}, {"SystemCapability.Communication.SoftBus.Core", COMMUNICATION_SOFTBUS_CORE}, From cd94961fd78b7b451a7feb988de8d61011fa04df Mon Sep 17 00:00:00 2001 From: yudechen Date: Mon, 5 Dec 2022 21:37:14 +0800 Subject: [PATCH 3/7] chore: modify default constant to unsigned int. Signed-off-by: yudechen Change-Id: I90cfb18a7fc50f481b3388a764758ec374a62290 --- src/syscap_tool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/syscap_tool.c b/src/syscap_tool.c index da9cf18..01f1802 100644 --- a/src/syscap_tool.c +++ b/src/syscap_tool.c @@ -708,7 +708,7 @@ int32_t ComparePcidWithRpcidString(char *pcidFile, char *rpcidFile, uint32_t typ continue; } for (uint8_t k = 0; k < INT_BIT; k++) { - if (!(temp2 & (0x1 << k))) { + if (!(temp2 & (1U << k))) { continue; } // 2, header of pcid & rpcid From d7af7574380fe9a27a23174382ab7ff0bf76d124 Mon Sep 17 00:00:00 2001 From: yudechen Date: Tue, 6 Dec 2022 19:02:22 +0800 Subject: [PATCH 4/7] fix: restore wrong modify of syscap_define.h. - restore syscap modify. - update compile-time syscap define check progarm. Signed-off-by: yudechen Change-Id: I3d1116c8095a02fc039c0a77af2bd25d50f236c8 --- README_ZH.md | 5 ++++ include/syscap_define.h | 20 +++++++------- interfaces/inner_api/syscap_interface.c | 6 ++--- test/syscap_define_check.c | 35 +++++++++++++++++++------ 4 files changed, 46 insertions(+), 20 deletions(-) diff --git a/README_ZH.md b/README_ZH.md index 9e8e72e..b39cfbc 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -170,6 +170,11 @@ python3 syscap_check.py -p path_of_openarmony -t component_sdk python3 syscap_check.py -p path_of_openarmony -t sdk_codec ``` +## syscap_define.h 文件规则 +- 每一个 SyscapNum 枚举值都唯一对应于一个 syscap 字符串。 +- 如果弃用某个 syscap,在对应的枚举值后面注释 "// abandoned" 即可,请勿删除和修改。对应的 syscap 字符串也不需要修改。 +- 添加 syscap,请在 SyscapNum 和 g_arraySyscap 末尾添加相应数据。 +- 数组 g_arraySyscap 按照 SyscapNum 枚举值从小到大排序。 ## Release Note diff --git a/include/syscap_define.h b/include/syscap_define.h index 288685d..6ea30b2 100644 --- a/include/syscap_define.h +++ b/include/syscap_define.h @@ -46,10 +46,7 @@ typedef enum SystemCapabilityNum { COMMUNICATION_BLUETOOTH_CORE, COMMUNICATION_CONNECTEDTAG, COMMUNICATION_NETMANAGER_CORE, - COMMUNICATION_NETMANAGER_ETHERNET, - COMMUNICATION_NETMANAGER_NETSHARING, - COMMUNICATION_NETMANAGER_MDNS, - COMMUNICATION_NETMANAGER_VPN, + COMMUNICATION_NETMANAGER_EXTENSION, // abandoned COMMUNICATION_NETSTACK, COMMUNICATION_NFC_CORE, COMMUNICATION_SOFTBUS_CORE, @@ -246,7 +243,6 @@ typedef enum SystemCapabilityNum { RESOURCESCHEDULE_BACKGROUNDTASKMANAGER_EFFICIENCYRESOURCESAPPLY, SECURITY_SECURITYGUARD, SECURITY_CRYPTOFRAMEWORK, - // Add here MULTIMODALINPUT_INPUT_COOPERATOR, ABILITY_ABILITYRUNTIME_QUICKFIX, SECURITY_DLPCREDENTIALSERVICE, @@ -262,6 +258,11 @@ typedef enum SystemCapabilityNum { MULTIMEDIA_AUDIO_INTERRUPT, CLOUD_AAID, MSDP_DEVICESTATUS_STATIONARY, + COMMUNICATION_NETMANAGER_ETHERNET, + COMMUNICATION_NETMANAGER_NETSHARING, + COMMUNICATION_NETMANAGER_MDNS, + COMMUNICATION_NETMANAGER_VPN, + // Add before here SYSCAP_NUM_MAX = 960 } SyscapNum; @@ -280,10 +281,7 @@ const static SyscapWithNum g_arraySyscap[] = { {"SystemCapability.Communication.Bluetooth.Core", COMMUNICATION_BLUETOOTH_CORE}, {"SystemCapability.Communication.ConnectedTag", COMMUNICATION_CONNECTEDTAG}, {"SystemCapability.Communication.NetManager.Core", COMMUNICATION_NETMANAGER_CORE}, - {"SystemCapability.Communication.NetManager.Ethernet", COMMUNICATION_NETMANAGER_ETHERNET}, - {"SystemCapability.Communication.NetManager.NetSharing", COMMUNICATION_NETMANAGER_NETSHARING}, - {"SystemCapability.Communication.NetManager.MDNS", COMMUNICATION_NETMANAGER_MDNS}, - {"SystemCapability.Communication.NetManager.Vpn", COMMUNICATION_NETMANAGER_VPN}, + {"SystemCapability.Communication.NetManager.Extension", COMMUNICATION_NETMANAGER_EXTENSION}, {"SystemCapability.Communication.NetStack", COMMUNICATION_NETSTACK}, {"SystemCapability.Communication.NFC.Core", COMMUNICATION_NFC_CORE}, {"SystemCapability.Communication.SoftBus.Core", COMMUNICATION_SOFTBUS_CORE}, @@ -502,6 +500,10 @@ const static SyscapWithNum g_arraySyscap[] = { {"SystemCapability.Multimedia.Audio.Interrupt", MULTIMEDIA_AUDIO_INTERRUPT}, {"SystemCapability.Cloud.AAID", CLOUD_AAID}, {"SystemCapability.Msdp.DeviceStatus.Stationary", MSDP_DEVICESTATUS_STATIONARY}, + {"SystemCapability.Communication.NetManager.Ethernet", COMMUNICATION_NETMANAGER_ETHERNET}, + {"SystemCapability.Communication.NetManager.NetSharing", COMMUNICATION_NETMANAGER_NETSHARING}, + {"SystemCapability.Communication.NetManager.MDNS", COMMUNICATION_NETMANAGER_MDNS}, + {"SystemCapability.Communication.NetManager.Vpn", COMMUNICATION_NETMANAGER_VPN}, }; #ifdef __cplusplus diff --git a/interfaces/inner_api/syscap_interface.c b/interfaces/inner_api/syscap_interface.c index 06c95ab..bf8372d 100644 --- a/interfaces/inner_api/syscap_interface.c +++ b/interfaces/inner_api/syscap_interface.c @@ -583,7 +583,7 @@ int32_t ComparePcidString(const char *pcidString, const char *rpcidString, Compa continue; } for (uint8_t k = 0; k < INT_BIT; k++) { - if (temp2 & (0x1 << k)) { + if (temp2 & (1U << k)) { char *temp = (char *)malloc(sizeof(char) * SINGLE_SYSCAP_LEN); if (temp == NULL) { PRINT_ERR("malloc failed.\n"); @@ -632,10 +632,10 @@ int32_t ComparePcidString(const char *pcidString, const char *rpcidString, Compa } if (versionFlag > 0) { - retFlag |= 0x1 << 0; + retFlag |= 1U << 0; } if (ossyscapFlag > 0 || prisyscapFlag > 0) { - retFlag |= 0x1 << 1; + retFlag |= 1U << 1; result->missSyscapNum = ossyscapFlag + prisyscapFlag; } return (int32_t)retFlag; diff --git a/test/syscap_define_check.c b/test/syscap_define_check.c index c063bd0..f54ed79 100644 --- a/test/syscap_define_check.c +++ b/test/syscap_define_check.c @@ -18,21 +18,40 @@ #include #include "syscap_define.h" -int main(void) +int CheckSortBySyscapNum() { - size_t size = sizeof(g_arraySyscap) / sizeof(SyscapWithNum); - size_t flag = 0; + int size = (int)sizeof(g_arraySyscap) / sizeof(SyscapWithNum); + int flag = 0; - for (size_t i = 0; i < size; i++) { + for (int i = 0; i < size; i++) { if (g_arraySyscap[i].num != i) { - printf("[Error][syscap_define.h]: %s -> num(%u) should be %zu.\n", + printf("[ERROR][syscap_define.h]: %s -> num(%u) should be %d.\n", g_arraySyscap[i].str, g_arraySyscap[i].num, i); flag++; } } - if (flag == 0) { - return 0; - } else { + return flag; +} + +int CheckSyscapNumOrder() +{ + if (COMMUNICATION_NETMANAGER_VPN != 227) { // 227, special number + printf("[ERROR][syscap_define.h]: " + "enum value 'COMMUNICATION_NETMANAGER_VPN' should be 227. " + "Please don't change original SyscapNum's enum value order, " + "and add the new enum value at the end.\n"); + return 1; + } + return 0; +} + +int main(void) +{ + if (CheckSyscapNumOrder() != 0) { return -1; } + if (CheckSortBySyscapNum() != 0) { + return -1; + } + return 0; } \ No newline at end of file From e91fc7264a129151fda86fb75c6c3233c43ac41a Mon Sep 17 00:00:00 2001 From: winnie-hu Date: Thu, 8 Dec 2022 16:28:54 +0800 Subject: [PATCH 5/7] cryptoFramework split to crypto and cert Signed-off-by: winnie-hu --- include/syscap_define.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/syscap_define.h b/include/syscap_define.h index 6ea30b2..15e31d7 100644 --- a/include/syscap_define.h +++ b/include/syscap_define.h @@ -262,6 +262,7 @@ typedef enum SystemCapabilityNum { COMMUNICATION_NETMANAGER_NETSHARING, COMMUNICATION_NETMANAGER_MDNS, COMMUNICATION_NETMANAGER_VPN, + SECURITY_CERT, // Add before here SYSCAP_NUM_MAX = 960 } SyscapNum; @@ -504,6 +505,7 @@ const static SyscapWithNum g_arraySyscap[] = { {"SystemCapability.Communication.NetManager.NetSharing", COMMUNICATION_NETMANAGER_NETSHARING}, {"SystemCapability.Communication.NetManager.MDNS", COMMUNICATION_NETMANAGER_MDNS}, {"SystemCapability.Communication.NetManager.Vpn", COMMUNICATION_NETMANAGER_VPN}, + {"SystemCapability.Security.Cert", SECURITY_CERT}, }; #ifdef __cplusplus From 17e2e85ce1b2bfc2579e2cb4065bc3ec86b9c2d7 Mon Sep 17 00:00:00 2001 From: zhangxiuping Date: Mon, 12 Dec 2022 00:07:49 +0800 Subject: [PATCH 6/7] Add new nfc syscap definition. Signed-off-by: zhangxiuping --- include/syscap_define.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/syscap_define.h b/include/syscap_define.h index 6ea30b2..1870ca9 100644 --- a/include/syscap_define.h +++ b/include/syscap_define.h @@ -262,6 +262,8 @@ typedef enum SystemCapabilityNum { COMMUNICATION_NETMANAGER_NETSHARING, COMMUNICATION_NETMANAGER_MDNS, COMMUNICATION_NETMANAGER_VPN, + COMMUNICATION_NFC_TAG, + COMMUNICATION_NFC_CARDEMULATION, // Add before here SYSCAP_NUM_MAX = 960 } SyscapNum; @@ -504,6 +506,8 @@ const static SyscapWithNum g_arraySyscap[] = { {"SystemCapability.Communication.NetManager.NetSharing", COMMUNICATION_NETMANAGER_NETSHARING}, {"SystemCapability.Communication.NetManager.MDNS", COMMUNICATION_NETMANAGER_MDNS}, {"SystemCapability.Communication.NetManager.Vpn", COMMUNICATION_NETMANAGER_VPN}, + {"SystemCapability.Communication.NFC.Tag", COMMUNICATION_NFC_TAG}, + {"SystemCapability.Communication.NFC.CardEmulation", COMMUNICATION_NFC_CARDEMULATION}, }; #ifdef __cplusplus From cd1fa299b3a568626c49ecb53b1f97e3a50978b3 Mon Sep 17 00:00:00 2001 From: yudechen Date: Tue, 20 Dec 2022 09:27:59 +0800 Subject: [PATCH 7/7] chore: modify for codecheck . Signed-off-by: yudechen Change-Id: Id5dcc09bea6a5b687b997c27dff368f81a15d047 --- test/syscap_define_check.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/syscap_define_check.c b/test/syscap_define_check.c index f54ed79..dc05e11 100644 --- a/test/syscap_define_check.c +++ b/test/syscap_define_check.c @@ -18,7 +18,7 @@ #include #include "syscap_define.h" -int CheckSortBySyscapNum() +int CheckSortBySyscapNum(void) { int size = (int)sizeof(g_arraySyscap) / sizeof(SyscapWithNum); int flag = 0; @@ -33,7 +33,7 @@ int CheckSortBySyscapNum() return flag; } -int CheckSyscapNumOrder() +int CheckSyscapNumOrder(void) { if (COMMUNICATION_NETMANAGER_VPN != 227) { // 227, special number printf("[ERROR][syscap_define.h]: "