From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.40]) by mx.groups.io with SMTP id smtpd.web11.14620.1683105584542847314 for ; Wed, 03 May 2023 02:19:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=EO0EANCZ; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.236.40, mailfrom: nicklew@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LPqWhdRL1OudG4+9M38cWYhzPlFDCl21ZTcYSVgs7Hsd8GLm20RD+NZWJZAxwwjqsF4gN69Kv+qdczB64JJhohxbTV3xeoxge4ItsaXc4X24OuZO6NNLN3gyFwV+LfkU5YYfO5GeVu2IkP4OrUqXUDnl032krmo5vPYwn4q4lmcT7YkkrnoWHvYrJ0YKXMO+MU/N3VU8oFW8ZWR0R1wIpm/vND8SEw2WzqH6BT37MdqN/3DI2fBrMA4t3iyS4ik5DnQznERGYh9dQi7M4zhnupS0to2RJf9ZoNoUhvBdd4qI37gaiIPeKAPSMVwgNr9dgcoe+JBZUKd6Oi4vXat1zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Wisbc1kKVoac2TjrdJt6zVMl9yhnGbDShBEfrXegrZI=; b=AC3h4xQ8b9G2u4bFZVXM1eq4dtAr58Bl/rqNT5+cVbBC8EqVSV/c2Za23+AYcDq9sO75rIWw7dmYwkqbd/v9xOVxGR55YtNwG54y34cGKo+Qru91161Al0c2BMtLzSlS4bySB+Bppzw3V1SEP4vBPNcnSOYYkWL1KGwv7DCDKZN3Q8Cl35A2oNrJftw0VAuEajpGUJCdEyXuOBWmBykiXLJLm6uZXy19tiIn1o0GOwoN/Mo3WYW7ie8OORSZVMdBlM1u4G/z6XWQaOx+ghEiZz0riF3aSqb41fzxNie/scvf2bQRz+M8dMVvmX7iMEc+wG4QVRJjf3evX9sP9OuQ1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Wisbc1kKVoac2TjrdJt6zVMl9yhnGbDShBEfrXegrZI=; b=EO0EANCZuPleZ+h8LOdUIwpEGM4bZKTTU8EgQU7j/ZK1i3tDzbvwPt8eXAs4DkuCPu6mIlr/yxy2zr6ckULMJqrX1+77zSBEtpf2tZ8f+Gueo+K43LDyJUaglGsUFlFTAlfDw+M4Vlk4hz+W3TET31imKrFWhh4E2w/T1AQG6HkjyzWQxIxn0+auhKjcgzZ77XVxvZUplpYgygyBDHHUepeRtX+Kb9EANYCDTGvLJGh9bSg45NZ/cRWNkzH9vRGGpYtgThMqzHixLqNASrKzZV+aOXeAhpUHcyrW7Lfr0KOlZQnonqh6KHgzTyR1CBcCRwDnFzAfiGm3kJQgbOC1PQ== Received: from MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6) by MW4PR12MB7014.namprd12.prod.outlook.com (2603:10b6:303:218::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.22; Wed, 3 May 2023 09:19:42 +0000 Received: from MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::d9df:b45b:2cc1:f017]) by MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::d9df:b45b:2cc1:f017%5]) with mapi id 15.20.6340.031; Wed, 3 May 2023 09:19:42 +0000 From: "Nickle Wang" To: "abner.chang@amd.com" , "devel@edk2.groups.io" CC: Igor Kulchytskyy Subject: Re: [edk2-redfish-client][PATCH] RedfishClientPkg/PrivateInclude: Private header file of JsonLib Thread-Topic: [edk2-redfish-client][PATCH] RedfishClientPkg/PrivateInclude: Private header file of JsonLib Thread-Index: AQHZfZakWj5suTSgGUW7cXglEz2p/K9IRZVA Date: Wed, 3 May 2023 09:19:42 +0000 Message-ID: References: <20230503080926.2046-1-abner.chang@amd.com> In-Reply-To: <20230503080926.2046-1-abner.chang@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7031:EE_|MW4PR12MB7014:EE_ x-ms-office365-filtering-correlation-id: 3867070a-df4f-4af8-a204-08db4bb78735 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sZfUMmW6/FKunttlu+dBYnnU73Y0B5SGAJTxKnP7CWmzzU7tXDY5aSUYqePMeVLWicZExPsDs3cRIbO2qA3wBP5mP30yZLozMtH+ZtW55CmlSLQq7QiF9KKvXHYv6ZzCZZBoFBcwl9RYACCQObdFLihx0HIKZQCMxdw1xCM/HVbcM52YP0DU+sMtI2Z2WW0EJjd5wd05g4Xz7bAa9h4JCGMw3hxgIVA+c3tHqNAkm4AKfLj3n7r6E8wVJeAigf+GplgzjqtV1kP1QIeeImBk5yttvy4asyPSKEYkzJTQk8GpatBTRU2+wgQzMfvR8dXamvay8bbu7JkN2htZtWTpnxQI7kkDRoJ3bxBkSdKZJqelhXcd2QiItQEORbynETBZxdfvUMN1B+1/troB9br/DYhUdh55/SoPHTvvhcK1WOvWuY3f7QQlEeBs/v7XsGp1MwkEOvjgU9SzMkhbFmSKIhVbICFX0pY3h52TuUU4Aoz38TdXdF2z9vQ6M6h36n18BUX8g0r7vNtYS3CHIANKkNdw5wvQTZ7mZiFgIQhVXmdxzV1hxmrGrpJ4z6AI3DoSV3KiA/eC5Y3nyz9BKYlq6m2YrBtOROY8/sj4rB5Xv+I= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR12MB7031.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(376002)(396003)(366004)(346002)(451199021)(2906002)(52536014)(5660300002)(8676002)(8936002)(33656002)(66476007)(41300700001)(64756008)(66446008)(66556008)(66946007)(76116006)(86362001)(55016003)(478600001)(71200400001)(110136005)(316002)(4326008)(7696005)(122000001)(38070700005)(38100700002)(186003)(53546011)(83380400001)(9686003)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?lIOs+iy8VEdhu7MxiHIReFC5QxF7CSNqXmOC8q67l33S2Z1cTpkywROEfL8/?= =?us-ascii?Q?zcbrsRQtZGBVooVkyCqUyeZzNDmgzdy0cb1Y3aGJaE6PKHJTMAniDTCRua2A?= =?us-ascii?Q?N/ftzqTlrg162t8rpWODs9uzjK+tkEaQwXKtT9gbH5HWIs3NPNvqzANv1+W8?= =?us-ascii?Q?NZ4WXKv+0tStV5DgbST4tMjAjvMTVKHJlZOUQXEBQFgUnWmBmbEkoh06NmHY?= =?us-ascii?Q?9NMPWyWG72CuOQ+8zg9qCXG9ncckcm7+G0XUaNp/eZXylLzBf7yS0+5mWCtJ?= =?us-ascii?Q?keG8bI+FnRR+VmeCEOHvgSc3zv7jc0Q+dy8J79w2XWCOkPrTg3jTzqyRjYNi?= =?us-ascii?Q?aECe1dPTxFzlLsuJwtUuzJhbR01HkFEOU2SRWEOIexEpxYibP+f97YKkwFr/?= =?us-ascii?Q?fApjBM1I/6ppGsxOCPlwzo7RlLuMXsnIr4hA7q0cFA1le+K71odnhXoaLiPl?= =?us-ascii?Q?DJ0Uy4dnWNo9we059l7F0qh0tNAAFunPAsAo3EouWkrd9yuoRMf+czgc/1/k?= =?us-ascii?Q?+IrJebfOPkWMWWrMxdRHUtBDKC5GYuCpqqj++EiH0Yc52Qa0v7QwHAfM2rAY?= =?us-ascii?Q?hUj1kilfAuPTq+QABTBukb6QdIl/Am9yfiGItnBSC3ue1jDyzjHjAEceuZYy?= =?us-ascii?Q?ZM2N0QI+0x8CwsjUbcH/aLGE3cUkanLqNvgTdiV9EF7FSVcw5IfHEvMF55zl?= =?us-ascii?Q?aXnQo7idgvOl8cDV6W8uQCHgWOcDeppGOZmDdcHidqrr7JjbYIGs4qiiN5w6?= =?us-ascii?Q?wNvwu7PnsNWIBkvzSgeuUl9IqCgFUsL2BXti3dD8PqzuNudbfZH3TU+kTRPX?= =?us-ascii?Q?9qJm9N/xyDtriut2xAwLUDCnJJFOMpdebwkr7Usb/M20AFJVbKthb2VwK72p?= =?us-ascii?Q?XqqS3A+OLGyw3+bQYq9rll3x1XE7wjgjWYCaDMFy+D9obSsuEQPTdNzfNfKb?= =?us-ascii?Q?SLDuDAnnm0iAcW764zWZOzxekYb7X/Xxnz/Sh308T9Hz9aGt9QNHDkwJgI8F?= =?us-ascii?Q?z9SXeN6YBkEKZtR/OYj8K9ZQYAurxEAtnFwC1TSLkN40a7zeQ4AXK0tJVOz+?= =?us-ascii?Q?azoRdNOZSpC/USSS9DQcNwb2f36gh12TmReY4ppB9hs43ZR8z5L3Uu6xDVOF?= =?us-ascii?Q?H9jRg6sSHc/kWSsb1+jozKliuDYSjYdTEimLqeU1XddtVFP6RZdDCxk9pXyY?= =?us-ascii?Q?JVFeBaJmuz9DklqKpcu5Mx5o+RvKYq29Z/bQWLiMQfF1JjYz8bxLwv56SYD6?= =?us-ascii?Q?5Km+w/vTpp5/0rFfiUWsFE/5XyI7ek0kBODvEohxpbMd21gdq2g6u2ObQPIA?= =?us-ascii?Q?n+W41VMYXNgUnXH9IRZfugctU0vwI6RyzCAAOPnFbJsnUYD+Fgf4PPdsIE4k?= =?us-ascii?Q?8n8X17QQx1r5Fmn2iHlBdNv5WazZ6u6P3qUMBjb5gjLvPC2MUy4RO/Xg6m3I?= =?us-ascii?Q?XeDUJ4IFsgZTfMPvh1lWYBQLK82Lo1gy32+H/L3O5+FWVDCuLMHgxYvC4bxV?= =?us-ascii?Q?jIikyJyeFXa/lxiiVNyTMizp1sEaNYmy+XHTOAU0v8yr2b/FwXJaQw7W+KL8?= =?us-ascii?Q?WCOWaGi8cnNuM2d2kpRBw6NwnmnXjflQcxBpfyBllXFNW7Nd00cQZLEvwdCe?= =?us-ascii?Q?eIEUXZLoaT6JNUOpLEKgATiVbuFdWpbNhIhYS1sZuWTQ?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7031.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3867070a-df4f-4af8-a204-08db4bb78735 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2023 09:19:42.2324 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VaKSGP+VE60JwEiGzl1junWit3+KCULr1/lF8LoV+NuyQ+YqSoN4Q61X49zu2CYiq2QUuV0RZJCjFttJCfEhog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7014 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nickle Wang Regards, Nickle > -----Original Message----- > From: abner.chang@amd.com > Sent: Wednesday, May 3, 2023 4:09 PM > To: devel@edk2.groups.io > Cc: Nickle Wang ; Igor Kulchytskyy > Subject: [edk2-redfish-client][PATCH] RedfishClientPkg/PrivateInclude: Pr= ivate > header file of JsonLib >=20 > External email: Use caution opening links or attachments >=20 >=20 > From: Abner Chang >=20 > Private header file for using JsonLib. > - Add missing definition in jansson.h due to build error in RedfishLib > - Remove duplicated defines. >=20 > Signed-off-by: Abner Chang > Cc: Nickle Wang > Cc: Igor Kulchytskyy > --- > RedfishClientPkg/RedfishClientPkg.dec | 1 + > RedfishClientPkg/PrivateInclude/jansson.h | 71 +++++++++++++++++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 RedfishClientPkg/PrivateInclude/jansson.h >=20 > 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 >=20 > [Includes.Common.Private] > + PrivateInclude # Private header files > PrivateInclude/Crt # Private header files for C RTL. >=20 > [Protocols] > diff --git a/RedfishClientPkg/PrivateInclude/jansson.h > b/RedfishClientPkg/PrivateInclude/jansson.h > new file mode 100644 > index 0000000000..900c7e39c6 > --- /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(j= son_t, index) > +#define json_array_size(json_t) JsonArrayCount(json= _t) > +#define json_string_value(json_t) JsonValueGetAsciiSt= ring(json_t) > +#define json_dumps(json_t, flags) JsonDumpString(json= _t, flags) > +#define json_loads(string, flags, error) JsonLoadString(stri= ng, flags, error) > +#define json_loadb(buffer, buflen, flags, error) JsonLoadBuffer(buff= er, 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) JsonDecreaseReferen= ce(json_t) > +#define json_integer_value(json_t) JsonValueGetInteger= (json_t) > +#define json_is_object(json_t) JsonValueIsObject(j= son_t) > +#define json_is_array(json_t) JsonValueIsArray(js= on_t) > +#define json_is_string(json_t) JsonValueIsString(j= son_t) > +#define json_is_integer(json_t) JsonValueIsInteger(= json_t) > +#define json_is_number(json_t) JsonValueIsNumber(j= son_t) > +#define json_is_boolean(json_t) JsonValueIsBoolean(= json_t) > +#define json_is_true(json_t) JsonValueIsTrue(jso= n_t) > +#define json_is_false(json_t) JsonValueIsFalse(js= on_t) > +#define json_is_null(json_t) JsonValueIsNull(jso= n_t) > +#define json_incref(json_t) JsonIncreaseReferen= ce(json_t) > +#define json_object_set(json_t, key, value) JsonObjectSetValue(= json_t, > key, value) > +#define json_array_append(json_t, value) JsonArrayAppendValu= e(json_t, > value) > +#define json_object_iter(json_t) JsonObjectIterator(= json_t) > +#define json_object_iter_next(json_t, iter) JsonObjectIteratorN= ext(json_t, > iter) > +#define json_object_iter_value(iter) JsonObjectIteratorV= alue(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.37.1.windows.1