From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web09.4427.1628665159933235298 for ; Tue, 10 Aug 2021 23:59:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=pWd/9Fqk; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=08571cd263=abner.chang@hpe.com) Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17B6wJVF008195; Wed, 11 Aug 2021 06:59:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=pps0720; bh=JPN5m4Br3RiOhHvizIazu4PTw6vtvJbXZfMl55CkeTE=; b=pWd/9Fqk9S6lVZ1HzMcwcC8cc6Aw5sZwcTGzHrjzdTzdlJuJW14n/WTrzhUs0Cv8kls6 qz1ETW9y+g+8Gftghfzw/8No3PcJZDrFFYv5LQfJzRIrPnrexGKk51w1NrtQwlPL4Kls q66e6Y4ZauArEtuPRKylCNcNNJSEeQzq+0nAAm4G92YFCFEKfubtH228nA9ufR3AoMQN wYI9q9fXdnqqAmcRwT+RAHsSbJ6GRCyvAIEs4/sIs/6TmVxBSB5wASRaUggqBwXr1E8G u7VXrY0L8SR5cxhab4Q1iR4eJL25OgQGuGVwjfkSr3PlL66wgrSAGbNAc9IKHEKYOCun CA== Received: from g2t2353.austin.hpe.com (g2t2353.austin.hpe.com [15.233.44.26]) by mx0b-002e3701.pphosted.com with ESMTP id 3abpns9tda-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 11 Aug 2021 06:59:14 +0000 Received: from g2t2360.austin.hpecorp.net (g2t2360.austin.hpecorp.net [16.196.225.135]) by g2t2353.austin.hpe.com (Postfix) with ESMTP id 89C9982; Wed, 11 Aug 2021 06:59:13 +0000 (UTC) Received: from abner-virtual-machine.asiapacific.hpqcorp.net (abner-virtual-machine.asiapacific.hpqcorp.net [15.119.210.153]) by g2t2360.austin.hpecorp.net (Postfix) with ESMTP id AF23436; Wed, 11 Aug 2021 06:59:12 +0000 (UTC) From: "Abner Chang" To: devel@edk2.groups.io Cc: Nickle Wang , Liming Gao Subject: [PATCH 2/3] RedfishClientPkg/PrivateInclude: Private header file of JsonLib Date: Wed, 11 Aug 2021 14:03:29 +0800 Message-Id: <20210811060330.15392-3-abner.chang@hpe.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210811060330.15392-1-abner.chang@hpe.com> References: <20210811060330.15392-1-abner.chang@hpe.com> X-Proofpoint-GUID: qxFMhYLISE8sNEA0_qNhnR4rFTFlKg4D X-Proofpoint-ORIG-GUID: qxFMhYLISE8sNEA0_qNhnR4rFTFlKg4D X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790 definitions=2021-08-11_02:2021-08-10,2021-08-11 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxlogscore=439 suspectscore=0 priorityscore=1501 phishscore=0 impostorscore=0 malwarescore=0 bulkscore=0 clxscore=1015 mlxscore=0 spamscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108110045 Private header file for using JsonLib. - Add missing definition in jansson.h due to build error in RedfishLib - Remove duplicated defines. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Liming Gao --- RedfishClientPkg/RedfishClientPkg.dec | 1 + RedfishClientPkg/PrivateInclude/jansson.h | 71 +++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 RedfishClientPkg/PrivateInclude/jansson.h diff --git a/RedfishClientPkg/RedfishClientPkg.dec b/RedfishClientPkg/RedfishClientPkg.dec index 832cdc6154..8fa92d5b1e 100644 --- a/RedfishClientPkg/RedfishClientPkg.dec +++ b/RedfishClientPkg/RedfishClientPkg.dec @@ -16,6 +16,7 @@ Include [Includes.Common.Private] + PrivateInclude # Private header files PrivateInclude/Crt # Private header files for C RTL. [Protocols] diff --git a/RedfishClientPkg/PrivateInclude/jansson.h b/RedfishClientPkg/PrivateInclude/jansson.h new file mode 100644 index 0000000000..dccbffca72 --- /dev/null +++ b/RedfishClientPkg/PrivateInclude/jansson.h @@ -0,0 +1,71 @@ +/* + This is the wrapper of open source jansson header file for + using JsonLib library under RedfishPkg. + + (C) Copyright 2021 Hewlett Packard Enterprise Development LP
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + */ + +#ifndef REDFISH_CLIENT_JANSSON_H_ +#define REDFISH_CLIENT_JANSSON_H_ + +#include +#include + +typedef EDKII_JSON_VALUE json_t; +typedef EDKII_JSON_INT_T json_int_t; +typedef EDKII_JSON_TYPE json_type; + +#define JSON_INDENT(n) EDKII_JSON_INDENT(n) +#define JSON_ENSURE_ASCII EDKII_JSON_ENSURE_ASCII +#define JSON_OBJECT EdkiiJsonTypeObject +#define JSON_ARRAY EdkiiJsonTypeArray +#define JSON_STRING EdkiiJsonTypeString +#define JSON_INTEGER EdkiiJsonTypeInteger +#define JSON_REAL EdkiiJsonTypeReal +#define JSON_TRUE EdkiiJsonTypeTrue +#define JSON_FALSE EdkiiJsonTypeFalse +#define JSON_NULL EdkiiJsonTypeNull + +#define json_object_foreach_safe(object, n, key, value) EDKII_JSON_OBJECT_FOREACH_SAFE(object, n, key, value) + +// +// Macros that directly map functions to JsonLib +// +#define json_object_get(json_t, key) JsonObjectGetValue(json_t, key) +#define json_object_size(json_t) JsonObjectSize(json_t) +#define json_array_get(json_t, index) JsonArrayGetValue(json_t, index) +#define json_array_size(json_t) JsonArrayCount(json_t) +#define json_string_value(json_t) JsonValueGetAsciiString(json_t) +#define json_dumps(json_t, flags) JsonDumpString(json_t, flags) +#define json_loads(string, flags, error) JsonLoadString(string, flags, error) +#define json_loadb(buffer, buflen, flags, error) JsonLoadBuffer(buffer, buflen, flags, error) +#define json_array_append_new(json_t_array, json_t) JsonArrayAppendValue(json_t_array, json_t) +#define json_object_set_new(json_t, key, value) JsonObjectSetValue(json_t, key, value) +#define json_decref(json_t) JsonDecreaseReference(json_t) +#define json_integer_value(json_t) JsonValueGetInteger(json_t) +#define json_is_object(json_t) JsonValueIsObject(json_t) +#define json_is_array(json_t) JsonValueIsArray(json_t) +#define json_is_string(json_t) JsonValueIsString(json_t) +#define json_is_integer(json_t) JsonValueIsInteger(json_t) +#define json_is_number(json_t) JsonValueIsNumber(json_t) +#define json_is_boolean(json_t) JsonValueIsBoolean(json_t) +#define json_is_true(json_t) JsonValueIsTrue(json_t) +#define json_is_false(json_t) JsonValueIsFalse(json_t) +#define json_is_null(json_t) JsonValueIsNull(json_t) +#define json_incref(json_t) JsonIncreaseReference(json_t) +#define json_object_set(json_t, key, value) JsonObjectSetValue(json_t, key, value) +#define json_array_append(json_t, value) JsonArrayAppendValue(json_t, value) +#define json_object_iter(json_t) JsonObjectIterator(json_t) +#define json_object_iter_next(json_t, iter) JsonObjectIteratorNext(json_t, iter) +#define json_object_iter_value(iter) JsonObjectIteratorValue(iter) +#define json_get_type(json_t) JsonGetType(json_t) + +#define json_object() JsonValueInitObject() +#define json_array() JsonValueInitArray() +#define json_string(string) JsonValueInitAsciiString(string) +#define json_integer(value) JsonValueInitInteger(value) +#define json_boolean(value) JsonValueInitBoolean(value) +#define json_null() JsonValueInitNull() +#endif -- 2.17.1