From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id DFE41D80101 for ; Thu, 4 Jan 2024 08:16:40 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=hpu2vtSoXtyjUoRdGUKEjd/kERQR2uC9GCxAnjTllq8=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1704356199; v=1; b=j2IO/voPECHzOGF1RS5pSHI62lSRmp/LWYTBqPeb/5y2WGt/tNHXyUnh9RK1V5SdLzrU1iL6 /bDf6aV1HTwm1pwowrHTJhdXJ9Gx7dLtbzJJ1xut7L7hTTcwWRNFHFL1C3u2ZuHGLZLCSFB9pqn d//6+mJS+Kw0UJoP9tZXS/zg= X-Received: by 127.0.0.2 with SMTP id 2cnXYY7687511xRquLhizRr1; Thu, 04 Jan 2024 00:16:39 -0800 X-Received: from NAM12-DM6-obe.outbound.protection.outlook.com (NAM12-DM6-obe.outbound.protection.outlook.com [40.107.243.65]) by mx.groups.io with SMTP id smtpd.web11.49627.1704356198438926352 for ; Thu, 04 Jan 2024 00:16:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J+HcaPzCd3Dd6i1YONYL8X10Wq0VEpTfZ2ZDsoh6FdGNctK1/kO0c+WuoKqTl81JbBMcjPkT0/z/2fKG074rVc5fNer7H5I64qnYLsZz3Dr7pFWmqZzqA0dKgZYtp63CdOLUcOcPEYVeILqtTIUNLl7wQWvnFjJIliFKdpQcD3xblIIWXMoR5EsG6hlUxCA1wgWysfV3broGepYtABwrMYqKxVYKW5UzYgnN1estOhbk4IQIWHgUeHL5PlyOh8nymaAP4d9ujtZH03vFkGqeONDVKvSDCcTgmSyWDKzvdv4K5KvDmV7HywDrk4JpTQoXY303TYPTmFr36nqg8zmaZw== 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=zUpYbZTPtHo1C5R7tTPpk7MAT1OpZnVcfS4Slkw7dws=; b=jJnHkLfmBroYH+sXPG4fuRctSiDwfSmwVkmgnxmnXx59jOZOmKvKf27F5CnNBGStNsPL+Nhz8rPD3rb++6H89M2B4qOs8oM8THybrLgqvyFoMoOJIqU94kEs7aKMktbUPS+/cCYpAhaP2JYVPH1UevPvzNKeWbm31caoGtplu21yyunK4nHz8Tk6uWVvoGGPOs7pOHPrhJ2qB2ajxJ7XKTDpHZ4epQWG6/cd84HgniuKiSOxOjYTv+MiX1gkOEG7W/UGWIudyaD+AR76UrVA9PSHR+vQ7CgfbEVb3wT7zlzTy41B+ubcSX9KqGdk0TOV3PjOYqfcf8fv/+5Wc9xceg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by CY8PR12MB7194.namprd12.prod.outlook.com (2603:10b6:930:5a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.15; Thu, 4 Jan 2024 08:16:34 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05%5]) with mapi id 15.20.7159.013; Thu, 4 Jan 2024 08:16:34 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH 2/4] RedfishClientPkg/ConverterLib: fix GCC build error Thread-Topic: [edk2-redfish-client][PATCH 2/4] RedfishClientPkg/ConverterLib: fix GCC build error Thread-Index: AQHaPsw/USuAuEhJUUSxodBjZxde1rDJTwsA Date: Thu, 4 Jan 2024 08:16:34 +0000 Message-ID: References: <20240104050925.70628-1-nicklew@nvidia.com> In-Reply-To: <20240104050925.70628-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=470ec86c-1d3f-468b-8433-7a291e3a7f24;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2024-01-04T08:16:29Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|CY8PR12MB7194:EE_ x-ms-office365-filtering-correlation-id: 78f9939b-7781-47e3-c966-08dc0cfd7731 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: +r0/e66HMioWkE2IWsE4fV5xsc1B7wJuOynZY/jPvMvT8bqSGacolzAeqqcWuZ2nqfsGvgR/AxWWpmtgcLKjfbZiBvGscjTOhqsZQhdage36oZMSSJ0XpCI1AU/AYGPFYCdggpH4NNgbv7ta4O/et0CBHEmaylkMy7JT4mkbSFX6Y8WPlSYKoEitzj0CdEHGK5S/1k9EjtkIAP5hHgPZWyPZAIG3KHyTyZTNMYiishqrkcqWks6eCR4qN/lKGVbHIUxgMjrp7z3oMyh0hsEbdgVVKZ+JKuy2zGE8Ano5k4HilofjQlHc671gCvqLTIYgUsj3YYQm6Jch/MxQq46nUcc16FmGgF87FTC0p/Yr9dBmBODHdBoAO44p3HZOL8oD5FfyawyihbXY+OYEOSvW1jjEeg6k3AVJWMwL9UFKzbQrrFGkFiRFn5ICyy4kv90SZyVJF1lzLyBobUwD95oCRoq+nvj/lRnYql605bMzGtI24TD6Tm9UZPiBXkmOw+ZGj1/RAZ+fka33hPH77r4kc5zO8A4Wfx99Z+iLE8iCOtr13w8L9tN5CvRyVM3xFk4hP17PJbQ4sk+xxeWBMWjOcfGw4Hulb/Fxs8yhePdFi+JSIPqQSK8luYCn6lBZ00cJztoMFauLqs48ny5at9Uxb34x1cXaYTxepSXTJ3vNqVi2o3KirYd4fwEjvlxLXqq9 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?H6sWdAJ+tspk5ZxqUHJyNAl5LkepgpJNCsOhN2FZj/9FDFXGOSfIVybblBPM?= =?us-ascii?Q?cuVuF6erwOOqaGHTENUpS6xLRqfj0IBEMsYcDdqbga3HB05vDJXOYGWfqLt5?= =?us-ascii?Q?wZalbvF093+PIT6qvB1im9p8yUIp8KDbLntbf06ZlthsxCNAbbq1mN+/sSnM?= =?us-ascii?Q?3LQl47IGtw+PrHR4imqkpL9MGce1WI1A8OoQuXHT9WS74ObxDI+jrhn8V+jT?= =?us-ascii?Q?9dgcSz1olH5Gwzm5nuHFszPPp3kNbpqf4mSYHQ9M/p8GaM8qAqvuxxzEZ/14?= =?us-ascii?Q?LcHVZSikl6xwpvX5R0xPnYaqyG8fQr/2M6Pbt7+4jnAiN6x8Ndj9drF/QH8r?= =?us-ascii?Q?MLuoQdxxPoAo07am+Ft/zLIl3fkQm67d35P/ijz2L0IdjaXSq7wEuNymQymt?= =?us-ascii?Q?9k8I/RrpBVly6ZsFm+4vzfN6bFH9yQswU40n/wTCA892kO4LNHy69Rltw8un?= =?us-ascii?Q?vk/dQlX9HMTB2sopGrk9vAHXS1u2laEsmfcO86XocHCJlxIeD6X+hyTBIX0A?= =?us-ascii?Q?ZkXpH67p8lKR/sId0ZKNViaahITNzhMiZ3BjTE4YkuKsFFKFYvBax03IR5UM?= =?us-ascii?Q?afeb+OL5fj0N5EIMFkhNE7pc8sYD1a4WbwciACXpfaxHc/IBhDjzUC8orbEI?= =?us-ascii?Q?+16rtABUXgAU772IJorFkybhOsvIhvjjVgbTj9Up8oibBbnNWvkFfQY0DWpF?= =?us-ascii?Q?M8yImVB3XhQEWAQRbpwewDTEbhIArtB2+Kf1RO2+Wf+vGHZAkiSQr29ln9RC?= =?us-ascii?Q?TqHcE47MoPMWgsW9kFBgcPc8uGjNGlgF7F/VLLvaOGY1QUqPAmFYm51skJjp?= =?us-ascii?Q?fTtb80nOHzjkBjmxlqCXvYphtxzFVoc02IpHCHW4Kd+r12v7EF1Zrv4uG1rv?= =?us-ascii?Q?SmjDyC7UEeYsF2Ykn9fbYWBmChR6y/5rhLVdBoG/Yy4aLM8N/rb3nSLGIcbe?= =?us-ascii?Q?Drz/bakVoLOAsbUyRZuSdiZgCct6LpLI3FDU6d2noxQrS5F79Q9PB9m6MqZ0?= =?us-ascii?Q?AfgumSpQe7blBJV/AOXhCU24qb0TuwL+KS7hH/xS+AlOOqXh9gdAPb5P9S9W?= =?us-ascii?Q?eEcs5WVIl8fb9YUgnHfbXcF9oGpJdREvsA5ZBE6OgINGdy+4MJ/t1YUefiyi?= =?us-ascii?Q?WPGUujmSH00x9Oew+8YE4vjV5icrq693EbKhaO3xTWPaojj1qLRDzJRj569t?= =?us-ascii?Q?Mvg9VwE7OWqGO7P3PF3Dn74qPkspEo+XbaI8VYaj3MOpxM6EeOIjGf5vRhtn?= =?us-ascii?Q?+NCSOYiCokd+NbscF9X3XPTOU7IBUGwrddtJH5mBCEGziyFkzq/lu0Ns3Bsp?= =?us-ascii?Q?Cd9q/0sV7nEKFQHo3Cd0bJ/5CVO3VsrGbpLtJ8m7y9+d7zBDxOoXfewvJtkx?= =?us-ascii?Q?zJQfeZBxiPu2PX4Mu71gdGmpZBE7Sfs6FJAj0TSwiSKWuQ3dn422c8mW3WqV?= =?us-ascii?Q?1aI5wP94+hU/vmBfBqZePuANIMnZ88nbrMb+5ktknRBZR0x1LPXrJqJ2LwjN?= =?us-ascii?Q?+lJEKZypESYR+r00jdx8FXm316tcSla71a2txSPOacASrWaTWeR3gZZl5koT?= =?us-ascii?Q?iUSfnva9u06GikBmmE4=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 78f9939b-7781-47e3-c966-08dc0cfd7731 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2024 08:16:34.5339 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: O5QjJZeJy6kTEONSTiRHkIdBvqmEDNJfTqMWwfLrOLt3WwkH9+T7oNXQk7RQTP0Z+hhY5pqbwzQ3v+xP/ARXpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7194 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: jlVeW20euj7fGwpEYXckyo2Ex7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="j2IO/voP"; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") [AMD Official Use Only - General] Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Thursday, January 4, 2024 1:09 PM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [edk2-redfish-client][PATCH 2/4] RedfishClientPkg/ConverterLib: = fix > GCC build error > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > Address below GCC build error: > variable 'CsParentJson' set but not used [-Werror=3Dunused-but-set-variab= le] > > Signed-off-by: Nickle Wang > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > .../BootOption.V1_0_4/BootOption.V1_0_4.c | 1005 ++++++++--------- > .../BootOptionCollection.c | 496 ++++---- > 2 files changed, 747 insertions(+), 754 deletions(-) > > diff --git > a/RedfishClientPkg/ConverterLib/src/BootOption/BootOption.V1_0_4/BootO > ption.V1_0_4.c > b/RedfishClientPkg/ConverterLib/src/BootOption/BootOption.V1_0_4/Boot > Option.V1_0_4.c > index 6be592f4..44fedb92 100644 > --- > a/RedfishClientPkg/ConverterLib/src/BootOption/BootOption.V1_0_4/BootO > ption.V1_0_4.c > +++ > b/RedfishClientPkg/ConverterLib/src/BootOption/BootOption.V1_0_4/Boot > Option.V1_0_4.c > @@ -1,505 +1,500 @@ > -// > -// Auto-generated file by Redfish Schema C Structure Generator. > -// https://github.com/DMTF/Redfish-Schema-C-Struct-Generator. > -// > -// (C) Copyright 2019-2022 Hewlett Packard Enterprise Development LP > -// > -// Copyright Notice: > -// Copyright 2019-2022 Distributed Management Task Force, Inc. All right= s > reserved. > -// License: BSD 3-Clause License. For full text see link: > https://github.com/DMTF/Redfish-JSON-C-Struct- > Converter/blob/master/LICENSE.md > -// > - > -#include"Redfish_BootOption_v1_0_4_CS.h" > -#include > -#include > -#include > - > -RedfishCS_bool SupportedRedfishResource (RedfishCS_char *Odata_Type, > RedfishCS_char *NameSpace, RedfishCS_char *Version, RedfishCS_char > *DataType); > -RedfishCS_status CreateCsUriByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_Uri_Data **CsTypeUriData); > -RedfishCS_status CreateCsJsonByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_JSON_Data **CsTypeJsonData); > -RedfishCS_status CreateCsUriOrJsonByNode (RedfishCS_void *Cs, json_t > *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > -RedfishCS_status CreateCsUriOrJsonByNodeArray (RedfishCS_void *Cs, > json_t *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > -RedfishCS_status CreateJsonPayloadAndCs (char *JsonRawText, char > *ResourceType, char *ResourceVersion, char *TypeName, json_t > **JsonObjReturned, void **Cs, int size); > -RedfishCS_status GetRedfishPropertyStr (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_char **DstBuffer); > -RedfishCS_status GetRedfishPropertyBoolean (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_bool **DstBuffer); > -RedfishCS_status GetRedfishPropertyVague (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_Vague **DstBuffer); > -RedfishCS_status DestoryCsMemory (RedfishCS_void *rootCs); > -RedfishCS_status GetRedfishPropertyInt64 (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_int64 **Dst); > -RedfishCS_status InsertJsonStringObj (json_t *JsonObj, char *Key, char > *StringValue); > -RedfishCS_status InsertJsonLinkObj (json_t *JsonObj, char *Key, > RedfishCS_Link *Link); > -RedfishCS_status InsertJsonInt64Obj (json_t *ParentJsonObj, char *Key, > RedfishCS_int64 *Int64Value); > -RedfishCS_status InsertJsonBoolObj (json_t *ParentJsonObj, char *Key, > RedfishCS_bool *BoolValue); > -RedfishCS_status InsertJsonStringArrayObj (json_t *JsonObj, char *Key, > RedfishCS_char_Array *StringValueArray); > -RedfishCS_status InsertJsonLinkArrayObj (json_t *JsonObj, char *Key, > RedfishCS_Link *LinkArray); > -RedfishCS_status InsertJsonInt64ArrayObj (json_t *ParentJsonObj, char > *Key, RedfishCS_int64_Array *Int64ValueArray); > -RedfishCS_status InsertJsonBoolArrayObj (json_t *ParentJsonObj, char *Ke= y, > RedfishCS_bool_Array *BoolValueArray); > -RedfishCS_status InsertJsonVagueObj (json_t *ParentJsonObj, char *Key, > RedfishCS_Vague *VagueValue); > -RedfishCS_bool CheckEmptyPropJsonObject(json_t *JsonObj, > RedfishCS_uint32 *NumOfProperty); > -RedfishCS_status CreateEmptyPropCsJson(RedfishCS_void *Cs, json_t > *JsonOj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_EmptyProp_CS_Data **CsTypeEmptyPropCS, > RedfishCS_uint32 NunmOfProperties); > -RedfishCS_status CsEmptyPropLinkToJson(json_t *CsJson, char *Key, > RedfishCS_Link *Link); > - > -// > -//Generate C structure for Oem > -// > -static RedfishCS_status > GenOemActionsCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, RedfishBootOption_V1_0_4_OemActions_CS **Dst) > -{ > - RedfishCS_status Status; > - RedfishCS_Type_JSON_Data *CsTypeJson; > - RedfishCS_Type_EmptyProp_CS_Data *CsTypeEmptyPropCS; > - RedfishCS_uint32 NunmOfEmptyPropProperties; > - json_t *TempJsonObj; > - > - Status =3D RedfishCS_status_success; > - TempJsonObj =3D json_object_get(JsonObj, Key); > - if (TempJsonObj =3D=3D NULL) { > - return RedfishCS_status_not_found; > - } > - Status =3D allocateRecordCsMemory(Cs, > sizeof(RedfishBootOption_V1_0_4_OemActions_CS), (RedfishCS_void > **)Dst); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - InitializeLinkHead (&(*Dst)->Prop); > - > - // > - // Try to create C structure if the property is > - // declared as empty property in schema. The supported property type > - // is string, integer, real, number and boolean. > - // > - if (CheckEmptyPropJsonObject(TempJsonObj, > &NunmOfEmptyPropProperties)) { > - Status =3D CreateEmptyPropCsJson(Cs, JsonObj, Key, Cs->Header.ThisUr= i, > &CsTypeEmptyPropCS, NunmOfEmptyPropProperties); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - InsertTailLink(&(*Dst)->Prop, &CsTypeEmptyPropCS->Header.LinkEntry); > - } else { > - Status =3D CreateCsJsonByNode (Cs, JsonObj, Key, Cs->Header.ThisUri, > &CsTypeJson); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - InsertTailLink(&(*Dst)->Prop, &CsTypeJson->Header.LinkEntry); > - } > -Error:; > - return Status; > -} > -// > -//Generate C structure for Actions > -// > -static RedfishCS_status > GenActionsCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, RedfishBootOption_V1_0_4_Actions_CS **Dst) > -{ > - RedfishCS_status Status; > - json_t *TempJsonObj; > - > - Status =3D RedfishCS_status_success; > - TempJsonObj =3D json_object_get(JsonObj, Key); > - if (TempJsonObj =3D=3D NULL) { > - return RedfishCS_status_not_found; > - } > - Status =3D allocateRecordCsMemory(Cs, > sizeof(RedfishBootOption_V1_0_4_Actions_CS), (RedfishCS_void **)Dst); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - // Oem > - Status =3D GenOemActionsCs (Cs, TempJsonObj, "Oem", &(*Dst)->Oem); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > -Error:; > - return Status; > -} > -// > -//Generate C structure for Oem > -// > -static RedfishCS_status > GenOemCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, RedfishResource_Oem_CS **Dst) > -{ > - RedfishCS_status Status; > - RedfishCS_Type_JSON_Data *CsTypeJson; > - RedfishCS_Type_EmptyProp_CS_Data *CsTypeEmptyPropCS; > - RedfishCS_uint32 NunmOfEmptyPropProperties; > - json_t *TempJsonObj; > - > - Status =3D RedfishCS_status_success; > - TempJsonObj =3D json_object_get(JsonObj, Key); > - if (TempJsonObj =3D=3D NULL) { > - return RedfishCS_status_not_found; > - } > - Status =3D allocateRecordCsMemory(Cs, sizeof(RedfishResource_Oem_CS), > (RedfishCS_void **)Dst); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - InitializeLinkHead (&(*Dst)->Prop); > - > - // > - // Try to create C structure if the property is > - // declared as empty property in schema. The supported property type > - // is string, integer, real, number and boolean. > - // > - if (CheckEmptyPropJsonObject(TempJsonObj, > &NunmOfEmptyPropProperties)) { > - Status =3D CreateEmptyPropCsJson(Cs, JsonObj, Key, Cs->Header.ThisUr= i, > &CsTypeEmptyPropCS, NunmOfEmptyPropProperties); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - InsertTailLink(&(*Dst)->Prop, &CsTypeEmptyPropCS->Header.LinkEntry); > - } else { > - Status =3D CreateCsJsonByNode (Cs, JsonObj, Key, Cs->Header.ThisUri, > &CsTypeJson); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - InsertTailLink(&(*Dst)->Prop, &CsTypeJson->Header.LinkEntry); > - } > -Error:; > - return Status; > -} > -static RedfishCS_status > GenidRef_Array_ElementCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, > json_t *JsonObj, RedfishCS_uint64 Index, Redfishodatav4_idRef_CS **Dst) > -{ > - RedfishCS_status Status; > - json_t *TempJsonObj; > - > - Status =3D RedfishCS_status_success; > - TempJsonObj =3D json_array_get (JsonObj, (RedfishCS_int)Index); > - if (TempJsonObj =3D=3D NULL) { > - return RedfishCS_status_not_found; > - } > - Status =3D allocateRecordCsZeroMemory(Cs, > sizeof(Redfishodatav4_idRef_CS), (RedfishCS_void **)Dst); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - // @odata.id > - Status =3D GetRedfishPropertyStr (Cs, TempJsonObj, "@odata.id", &(*Dst= )- > >odata_id); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - return RedfishCS_status_success; > -Error:; > - return Status; > -} > -// > -//Generate C structure for Redfishodatav4_idRef_Array_CS > -// > -static RedfishCS_status > GenidRef_ArrayCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, Redfishodatav4_idRef_Array_CS **Dst) > -{ > - RedfishCS_status Status; > - json_t *TempJsonObj; > - RedfishCS_uint64 ArraySize; > - RedfishCS_uint64 Index; > - Redfishodatav4_idRef_Array_CS *ThisElement; > - > - Status =3D RedfishCS_status_success; > - TempJsonObj =3D json_object_get(JsonObj, Key); > - if (TempJsonObj =3D=3D NULL) { > - return RedfishCS_status_not_found; > - } > - > - if (json_is_array(TempJsonObj) !=3D RedfishCS_boolean_true) { > - return RedfishCS_status_invalid_parameter; > - } > - > - ArraySize =3D json_array_size (TempJsonObj); > - Status =3D allocateArrayRecordCsMemory(Cs, sizeof > (Redfishodatav4_idRef_Array_CS), ArraySize, (RedfishCS_void **)Dst); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - if (*Dst =3D=3D NULL) { > - // Empty array > - return RedfishCS_status_success; > - } > - ThisElement =3D *Dst; > - for (Index =3D 0; Index < ArraySize; Index ++) { > - Status =3D GenidRef_Array_ElementCs(Cs, TempJsonObj, Index, > &ThisElement->ArrayValue); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - ThisElement =3D ThisElement->Next; > - } > -Error:; > - return Status; > -} > -static RedfishCS_status CS_To_JSON_ActionsOem(json_t *CsJson, char *Key, > RedfishBootOption_V1_0_4_OemActions_CS *CSPtr) > -{ > - json_t *CsParentJson; > - > - if (CSPtr =3D=3D NULL) { > - return RedfishCS_status_success; > - } > - > - CsParentJson =3D CsJson; > - CsJson =3D json_object(); > - if (CsJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - > - // Check if this is RedfishCS_Type_CS_EmptyProp. > - CsEmptyPropLinkToJson(CsJson, Key, &CSPtr->Prop); > - // No JSON property for this structure. > - return RedfishCS_status_success; > -} > -static RedfishCS_status CS_To_JSON_Actions(json_t *CsJson, char *Key, > RedfishBootOption_V1_0_4_Actions_CS *CSPtr) > -{ > - json_t *CsParentJson; > - > - if (CSPtr =3D=3D NULL) { > - return RedfishCS_status_success; > - } > - > - CsParentJson =3D CsJson; > - CsJson =3D json_object(); > - if (CsJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - > - // Oem > - if (CS_To_JSON_ActionsOem(CsJson, "Oem", CSPtr->Oem) !=3D > RedfishCS_status_success) {goto Error;} > - > - // Set to parent JSON object. > - if (json_object_set_new (CsParentJson, Key, CsJson) =3D=3D -1) {goto E= rror;} > - > - return RedfishCS_status_success; > -Error:; > - return RedfishCS_status_unsupported; > -} > -static RedfishCS_status CS_To_JSON_Oem(json_t *CsJson, char *Key, > RedfishResource_Oem_CS *CSPtr) > -{ > - json_t *CsParentJson; > - > - if (CSPtr =3D=3D NULL) { > - return RedfishCS_status_success; > - } > - > - CsParentJson =3D CsJson; > - CsJson =3D json_object(); > - if (CsJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - > - // Check if this is RedfishCS_Type_CS_EmptyProp. > - CsEmptyPropLinkToJson(CsJson, Key, &CSPtr->Prop); > - // No JSON property for this structure. > - return RedfishCS_status_success; > -} > -static RedfishCS_status CS_To_JSON_RelatedItem(json_t *CsJson, char *Key= , > Redfishodatav4_idRef_Array_CS *CSPtr) > -{ > - json_t *ArrayJson; > - json_t *ArrayMember; > - Redfishodatav4_idRef_Array_CS *NextArray; > - Redfishodatav4_idRef_CS *NextArrayItem; > - > - if (CSPtr =3D=3D NULL) { > - return RedfishCS_status_success; > - } > - ArrayJson =3D json_array(); > - if (ArrayJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - NextArray =3D CSPtr; > - do { > - ArrayMember =3D json_object(); > - if (ArrayMember =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - > - NextArrayItem =3D NextArray->ArrayValue; > - // @odata.id > - if (InsertJsonStringObj (ArrayMember, "@odata.id", NextArrayItem- > >odata_id) !=3D RedfishCS_status_success) {goto Error;} > - > - if (json_array_append_new (ArrayJson, ArrayMember) !=3D 0) {goto Err= or;} > - NextArray =3D NextArray->Next; > - } while (NextArray !=3D NULL); > - json_object_set_new (CsJson, Key, ArrayJson); > - > - return RedfishCS_status_success; > -Error:; > - return RedfishCS_status_unsupported; > -} > - > -// > -// C structure to JSON for BootOption.V1_0_4.BootOption > -// > -RedfishCS_status > CS_To_BootOption_V1_0_4_JSON(RedfishBootOption_V1_0_4_BootOption_ > CS *CSPtr, RedfishCS_char **JsonText) > -{ > - json_t *CsJson; > - > - if (CSPtr =3D=3D NULL || JsonText =3D=3D NULL || CSPtr->Header.Resourc= eType !=3D > RedfishCS_Type_CS) { > - return RedfishCS_status_invalid_parameter; > - } > - CsJson =3D json_object(); > - if (CsJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - // Actions > - if (CS_To_JSON_Actions(CsJson, "Actions", CSPtr->Actions) !=3D > RedfishCS_status_success) {goto Error;} > - > - // Alias > - if (InsertJsonStringObj (CsJson, "Alias", CSPtr->Alias) !=3D > RedfishCS_status_success) {goto Error;} > - > - // BootOptionEnabled > - if (InsertJsonBoolObj (CsJson, "BootOptionEnabled", CSPtr- > >BootOptionEnabled) !=3D RedfishCS_status_success) {goto Error;} > - > - // BootOptionReference > - if (InsertJsonStringObj (CsJson, "BootOptionReference", CSPtr- > >BootOptionReference) !=3D RedfishCS_status_success) {goto Error;} > - > - // Description > - if (InsertJsonStringObj (CsJson, "Description", CSPtr->Description) != =3D > RedfishCS_status_success) {goto Error;} > - > - // DisplayName > - if (InsertJsonStringObj (CsJson, "DisplayName", CSPtr->DisplayName) != =3D > RedfishCS_status_success) {goto Error;} > - > - // Id > - if (InsertJsonStringObj (CsJson, "Id", CSPtr->Id) !=3D > RedfishCS_status_success) {goto Error;} > - > - // Name > - if (InsertJsonStringObj (CsJson, "Name", CSPtr->Name) !=3D > RedfishCS_status_success) {goto Error;} > - > - // Oem > - if (CS_To_JSON_Oem(CsJson, "Oem", CSPtr->Oem) !=3D > RedfishCS_status_success) {goto Error;} > - > - // RelatedItem > - if (CS_To_JSON_RelatedItem(CsJson, "RelatedItem", CSPtr->RelatedItem) = !=3D > RedfishCS_status_success) {goto Error;} > - > - // RelatedItem@odata.count > - if (InsertJsonInt64Obj (CsJson, "RelatedItem@odata.count", CSPtr- > >RelatedItemodata_count) !=3D RedfishCS_status_success) {goto Error;} > - > - // UefiDevicePath > - if (InsertJsonStringObj (CsJson, "UefiDevicePath", CSPtr->UefiDevicePa= th) !=3D > RedfishCS_status_success) {goto Error;} > - > - // @odata.context > - if (InsertJsonStringObj (CsJson, "@odata.context", CSPtr- > >odata_context) !=3D RedfishCS_status_success) {goto Error;} > - > - // @odata.etag > - if (InsertJsonStringObj (CsJson, "@odata.etag", CSPtr->odata_etag) != =3D > RedfishCS_status_success) {goto Error;} > - > - // @odata.id > - if (InsertJsonStringObj (CsJson, "@odata.id", CSPtr->odata_id) !=3D > RedfishCS_status_success) {goto Error;} > - > - // @odata.type > - if (InsertJsonStringObj (CsJson, "@odata.type", CSPtr->odata_type) != =3D > RedfishCS_status_success) {goto Error;} > - > - *JsonText =3D (RedfishCS_char *)json_dumps(CsJson, JSON_INDENT(2 * 1) = | > JSON_ENSURE_ASCII); > - json_decref(CsJson); > - return RedfishCS_status_success; > -Error:; > - json_decref(CsJson); > - return RedfishCS_status_unsupported; > -} > - > -// > -// Destory C Structure for BootOption.V1_0_4.BootOption > -// > -RedfishCS_status > DestroyBootOption_V1_0_4_CS(RedfishBootOption_V1_0_4_BootOption_CS > *CSPtr) > -{ > - RedfishCS_status Status; > - > - Status =3D DestoryCsMemory ((RedfishCS_void *)CSPtr); > - return Status; > -} > - > -// > -// Destory JSON text for BootOption.V1_0_4.BootOption > -// > -RedfishCS_status DestroyBootOption_V1_0_4_Json(RedfishCS_char > *JsonText) > -{ > - free ((RedfishCS_void *)JsonText); > - return RedfishCS_status_success; > -} > - > -// > -//Generate C structure for BootOption.V1_0_4.BootOption > -// > -RedfishCS_status > -Json_BootOption_V1_0_4_To_CS(RedfishCS_char *JsonRawText, > RedfishBootOption_V1_0_4_BootOption_CS **ReturnedCs) > -{ > - RedfishCS_status Status; > - json_t *JsonObj; > - RedfishBootOption_V1_0_4_BootOption_CS *Cs; > - > - Status =3D CreateJsonPayloadAndCs (JsonRawText, "BootOption", "v1_0_4"= , > "BootOption", &JsonObj, (RedfishCS_void **)&Cs, sizeof > (RedfishBootOption_V1_0_4_BootOption_CS)); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - > - // @odata.context > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.context", &Cs- > >odata_context); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // @odata.etag > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.etag", &Cs- > >odata_etag); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // @odata.id > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.id", &Cs->odata= _id); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // @odata.type > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.type", &Cs- > >odata_type); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Actions > - Status =3D GenActionsCs (Cs, JsonObj, "Actions", &Cs->Actions); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // Alias > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Alias", &Cs->Alias); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // BootOptionEnabled > - Status =3D GetRedfishPropertyBoolean (Cs, JsonObj, "BootOptionEnabled"= , > &Cs->BootOptionEnabled); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // BootOptionReference > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "BootOptionReference", = &Cs- > >BootOptionReference); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Description > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Description", &Cs- > >Description); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // DisplayName > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "DisplayName", &Cs- > >DisplayName); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // Id > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Id", &Cs->Id); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Name > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Name", &Cs->Name); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Oem > - Status =3D GenOemCs (Cs, JsonObj, "Oem", &Cs->Oem); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // RelatedItem > - Status =3D GenidRef_ArrayCs (Cs, JsonObj, "RelatedItem", &Cs->RelatedI= tem); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // RelatedItem@odata.count > - Status =3D GetRedfishPropertyInt64 (Cs, JsonObj, > "RelatedItem@odata.count", &Cs->RelatedItemodata_count); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // UefiDevicePath > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "UefiDevicePath", &Cs- > >UefiDevicePath); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - json_decref(JsonObj); > - *ReturnedCs =3D Cs; > - return RedfishCS_status_success; > -Error:; > - json_decref(JsonObj); > - DestroyBootOption_V1_0_4_CS (Cs); > - return Status; > -} > +// > +// Auto-generated file by Redfish Schema C Structure Generator. > +// https://github.com/DMTF/Redfish-Schema-C-Struct-Generator. > +// > +// (C) Copyright 2019-2022 Hewlett Packard Enterprise Development > LP
> +// Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > +// > +// Copyright Notice: > +// Copyright 2019-2022 Distributed Management Task Force, Inc. All right= s > reserved. > +// License: BSD 3-Clause License. For full text see link: > https://github.com/DMTF/Redfish-JSON-C-Struct- > Converter/blob/master/LICENSE.md > +// > + > +#include"Redfish_BootOption_v1_0_4_CS.h" > +#include > +#include > +#include > + > +RedfishCS_bool SupportedRedfishResource (RedfishCS_char *Odata_Type, > RedfishCS_char *NameSpace, RedfishCS_char *Version, RedfishCS_char > *DataType); > +RedfishCS_status CreateCsUriByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_Uri_Data **CsTypeUriData); > +RedfishCS_status CreateCsJsonByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_JSON_Data **CsTypeJsonData); > +RedfishCS_status CreateCsUriOrJsonByNode (RedfishCS_void *Cs, json_t > *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > +RedfishCS_status CreateCsUriOrJsonByNodeArray (RedfishCS_void *Cs, > json_t *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > +RedfishCS_status CreateJsonPayloadAndCs (char *JsonRawText, char > *ResourceType, char *ResourceVersion, char *TypeName, json_t > **JsonObjReturned, void **Cs, int size); > +RedfishCS_status GetRedfishPropertyStr (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_char **DstBuffer); > +RedfishCS_status GetRedfishPropertyBoolean (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_bool **DstBuffer); > +RedfishCS_status GetRedfishPropertyVague (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_Vague **DstBuffer); > +RedfishCS_status DestoryCsMemory (RedfishCS_void *rootCs); > +RedfishCS_status GetRedfishPropertyInt64 (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_int64 **Dst); > +RedfishCS_status InsertJsonStringObj (json_t *JsonObj, char *Key, char > *StringValue); > +RedfishCS_status InsertJsonLinkObj (json_t *JsonObj, char *Key, > RedfishCS_Link *Link); > +RedfishCS_status InsertJsonInt64Obj (json_t *ParentJsonObj, char *Key, > RedfishCS_int64 *Int64Value); > +RedfishCS_status InsertJsonBoolObj (json_t *ParentJsonObj, char *Key, > RedfishCS_bool *BoolValue); > +RedfishCS_status InsertJsonStringArrayObj (json_t *JsonObj, char *Key, > RedfishCS_char_Array *StringValueArray); > +RedfishCS_status InsertJsonLinkArrayObj (json_t *JsonObj, char *Key, > RedfishCS_Link *LinkArray); > +RedfishCS_status InsertJsonInt64ArrayObj (json_t *ParentJsonObj, char > *Key, RedfishCS_int64_Array *Int64ValueArray); > +RedfishCS_status InsertJsonBoolArrayObj (json_t *ParentJsonObj, char *Ke= y, > RedfishCS_bool_Array *BoolValueArray); > +RedfishCS_status InsertJsonVagueObj (json_t *ParentJsonObj, char *Key, > RedfishCS_Vague *VagueValue); > +RedfishCS_bool CheckEmptyPropJsonObject(json_t *JsonObj, > RedfishCS_uint32 *NumOfProperty); > +RedfishCS_status CreateEmptyPropCsJson(RedfishCS_void *Cs, json_t > *JsonOj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_EmptyProp_CS_Data **CsTypeEmptyPropCS, > RedfishCS_uint32 NunmOfProperties); > +RedfishCS_status CsEmptyPropLinkToJson(json_t *CsJson, char *Key, > RedfishCS_Link *Link); > + > +// > +//Generate C structure for Oem > +// > +static RedfishCS_status > GenOemActionsCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, RedfishBootOption_V1_0_4_OemActions_CS **Dst) > +{ > + RedfishCS_status Status; > + RedfishCS_Type_JSON_Data *CsTypeJson; > + RedfishCS_Type_EmptyProp_CS_Data *CsTypeEmptyPropCS; > + RedfishCS_uint32 NunmOfEmptyPropProperties; > + json_t *TempJsonObj; > + > + Status =3D RedfishCS_status_success; > + TempJsonObj =3D json_object_get(JsonObj, Key); > + if (TempJsonObj =3D=3D NULL) { > + return RedfishCS_status_not_found; > + } > + Status =3D allocateRecordCsMemory(Cs, > sizeof(RedfishBootOption_V1_0_4_OemActions_CS), (RedfishCS_void > **)Dst); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + InitializeLinkHead (&(*Dst)->Prop); > + > + // > + // Try to create C structure if the property is > + // declared as empty property in schema. The supported property type > + // is string, integer, real, number and boolean. > + // > + if (CheckEmptyPropJsonObject(TempJsonObj, > &NunmOfEmptyPropProperties)) { > + Status =3D CreateEmptyPropCsJson(Cs, JsonObj, Key, Cs->Header.ThisUr= i, > &CsTypeEmptyPropCS, NunmOfEmptyPropProperties); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + InsertTailLink(&(*Dst)->Prop, &CsTypeEmptyPropCS->Header.LinkEntry); > + } else { > + Status =3D CreateCsJsonByNode (Cs, JsonObj, Key, Cs->Header.ThisUri, > &CsTypeJson); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + InsertTailLink(&(*Dst)->Prop, &CsTypeJson->Header.LinkEntry); > + } > +Error:; > + return Status; > +} > +// > +//Generate C structure for Actions > +// > +static RedfishCS_status > GenActionsCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, RedfishBootOption_V1_0_4_Actions_CS **Dst) > +{ > + RedfishCS_status Status; > + json_t *TempJsonObj; > + > + Status =3D RedfishCS_status_success; > + TempJsonObj =3D json_object_get(JsonObj, Key); > + if (TempJsonObj =3D=3D NULL) { > + return RedfishCS_status_not_found; > + } > + Status =3D allocateRecordCsMemory(Cs, > sizeof(RedfishBootOption_V1_0_4_Actions_CS), (RedfishCS_void **)Dst); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + // Oem > + Status =3D GenOemActionsCs (Cs, TempJsonObj, "Oem", &(*Dst)->Oem); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > +Error:; > + return Status; > +} > +// > +//Generate C structure for Oem > +// > +static RedfishCS_status > GenOemCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, RedfishResource_Oem_CS **Dst) > +{ > + RedfishCS_status Status; > + RedfishCS_Type_JSON_Data *CsTypeJson; > + RedfishCS_Type_EmptyProp_CS_Data *CsTypeEmptyPropCS; > + RedfishCS_uint32 NunmOfEmptyPropProperties; > + json_t *TempJsonObj; > + > + Status =3D RedfishCS_status_success; > + TempJsonObj =3D json_object_get(JsonObj, Key); > + if (TempJsonObj =3D=3D NULL) { > + return RedfishCS_status_not_found; > + } > + Status =3D allocateRecordCsMemory(Cs, sizeof(RedfishResource_Oem_CS), > (RedfishCS_void **)Dst); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + InitializeLinkHead (&(*Dst)->Prop); > + > + // > + // Try to create C structure if the property is > + // declared as empty property in schema. The supported property type > + // is string, integer, real, number and boolean. > + // > + if (CheckEmptyPropJsonObject(TempJsonObj, > &NunmOfEmptyPropProperties)) { > + Status =3D CreateEmptyPropCsJson(Cs, JsonObj, Key, Cs->Header.ThisUr= i, > &CsTypeEmptyPropCS, NunmOfEmptyPropProperties); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + InsertTailLink(&(*Dst)->Prop, &CsTypeEmptyPropCS->Header.LinkEntry); > + } else { > + Status =3D CreateCsJsonByNode (Cs, JsonObj, Key, Cs->Header.ThisUri, > &CsTypeJson); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + InsertTailLink(&(*Dst)->Prop, &CsTypeJson->Header.LinkEntry); > + } > +Error:; > + return Status; > +} > +static RedfishCS_status > GenidRef_Array_ElementCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, > json_t *JsonObj, RedfishCS_uint64 Index, Redfishodatav4_idRef_CS **Dst) > +{ > + RedfishCS_status Status; > + json_t *TempJsonObj; > + > + Status =3D RedfishCS_status_success; > + TempJsonObj =3D json_array_get (JsonObj, (RedfishCS_int)Index); > + if (TempJsonObj =3D=3D NULL) { > + return RedfishCS_status_not_found; > + } > + Status =3D allocateRecordCsZeroMemory(Cs, > sizeof(Redfishodatav4_idRef_CS), (RedfishCS_void **)Dst); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + // @odata.id > + Status =3D GetRedfishPropertyStr (Cs, TempJsonObj, "@odata.id", &(*Dst= )- > >odata_id); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + return RedfishCS_status_success; > +Error:; > + return Status; > +} > +// > +//Generate C structure for Redfishodatav4_idRef_Array_CS > +// > +static RedfishCS_status > GenidRef_ArrayCs(RedfishBootOption_V1_0_4_BootOption_CS *Cs, json_t > *JsonObj, char *Key, Redfishodatav4_idRef_Array_CS **Dst) > +{ > + RedfishCS_status Status; > + json_t *TempJsonObj; > + RedfishCS_uint64 ArraySize; > + RedfishCS_uint64 Index; > + Redfishodatav4_idRef_Array_CS *ThisElement; > + > + Status =3D RedfishCS_status_success; > + TempJsonObj =3D json_object_get(JsonObj, Key); > + if (TempJsonObj =3D=3D NULL) { > + return RedfishCS_status_not_found; > + } > + > + if (json_is_array(TempJsonObj) !=3D RedfishCS_boolean_true) { > + return RedfishCS_status_invalid_parameter; > + } > + > + ArraySize =3D json_array_size (TempJsonObj); > + Status =3D allocateArrayRecordCsMemory(Cs, sizeof > (Redfishodatav4_idRef_Array_CS), ArraySize, (RedfishCS_void **)Dst); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + if (*Dst =3D=3D NULL) { > + // Empty array > + return RedfishCS_status_success; > + } > + ThisElement =3D *Dst; > + for (Index =3D 0; Index < ArraySize; Index ++) { > + Status =3D GenidRef_Array_ElementCs(Cs, TempJsonObj, Index, > &ThisElement->ArrayValue); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + ThisElement =3D ThisElement->Next; > + } > +Error:; > + return Status; > +} > +static RedfishCS_status CS_To_JSON_ActionsOem(json_t *CsJson, char *Key, > RedfishBootOption_V1_0_4_OemActions_CS *CSPtr) > +{ > + if (CSPtr =3D=3D NULL) { > + return RedfishCS_status_success; > + } > + > + CsJson =3D json_object(); > + if (CsJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + > + // Check if this is RedfishCS_Type_CS_EmptyProp. > + CsEmptyPropLinkToJson(CsJson, Key, &CSPtr->Prop); > + // No JSON property for this structure. > + return RedfishCS_status_success; > +} > +static RedfishCS_status CS_To_JSON_Actions(json_t *CsJson, char *Key, > RedfishBootOption_V1_0_4_Actions_CS *CSPtr) > +{ > + json_t *CsParentJson; > + > + if (CSPtr =3D=3D NULL) { > + return RedfishCS_status_success; > + } > + > + CsParentJson =3D CsJson; > + CsJson =3D json_object(); > + if (CsJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + > + // Oem > + if (CS_To_JSON_ActionsOem(CsJson, "Oem", CSPtr->Oem) !=3D > RedfishCS_status_success) {goto Error;} > + > + // Set to parent JSON object. > + if (json_object_set_new (CsParentJson, Key, CsJson) =3D=3D -1) {goto E= rror;} > + > + return RedfishCS_status_success; > +Error:; > + return RedfishCS_status_unsupported; > +} > +static RedfishCS_status CS_To_JSON_Oem(json_t *CsJson, char *Key, > RedfishResource_Oem_CS *CSPtr) > +{ > + if (CSPtr =3D=3D NULL) { > + return RedfishCS_status_success; > + } > + > + CsJson =3D json_object(); > + if (CsJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + > + // Check if this is RedfishCS_Type_CS_EmptyProp. > + CsEmptyPropLinkToJson(CsJson, Key, &CSPtr->Prop); > + // No JSON property for this structure. > + return RedfishCS_status_success; > +} > +static RedfishCS_status CS_To_JSON_RelatedItem(json_t *CsJson, char *Key= , > Redfishodatav4_idRef_Array_CS *CSPtr) > +{ > + json_t *ArrayJson; > + json_t *ArrayMember; > + Redfishodatav4_idRef_Array_CS *NextArray; > + Redfishodatav4_idRef_CS *NextArrayItem; > + > + if (CSPtr =3D=3D NULL) { > + return RedfishCS_status_success; > + } > + ArrayJson =3D json_array(); > + if (ArrayJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + NextArray =3D CSPtr; > + do { > + ArrayMember =3D json_object(); > + if (ArrayMember =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + > + NextArrayItem =3D NextArray->ArrayValue; > + // @odata.id > + if (InsertJsonStringObj (ArrayMember, "@odata.id", NextArrayItem- > >odata_id) !=3D RedfishCS_status_success) {goto Error;} > + > + if (json_array_append_new (ArrayJson, ArrayMember) !=3D 0) {goto Err= or;} > + NextArray =3D NextArray->Next; > + } while (NextArray !=3D NULL); > + json_object_set_new (CsJson, Key, ArrayJson); > + > + return RedfishCS_status_success; > +Error:; > + return RedfishCS_status_unsupported; > +} > + > +// > +// C structure to JSON for BootOption.V1_0_4.BootOption > +// > +RedfishCS_status > CS_To_BootOption_V1_0_4_JSON(RedfishBootOption_V1_0_4_BootOption_ > CS *CSPtr, RedfishCS_char **JsonText) > +{ > + json_t *CsJson; > + > + if (CSPtr =3D=3D NULL || JsonText =3D=3D NULL || CSPtr->Header.Resourc= eType !=3D > RedfishCS_Type_CS) { > + return RedfishCS_status_invalid_parameter; > + } > + CsJson =3D json_object(); > + if (CsJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + // Actions > + if (CS_To_JSON_Actions(CsJson, "Actions", CSPtr->Actions) !=3D > RedfishCS_status_success) {goto Error;} > + > + // Alias > + if (InsertJsonStringObj (CsJson, "Alias", CSPtr->Alias) !=3D > RedfishCS_status_success) {goto Error;} > + > + // BootOptionEnabled > + if (InsertJsonBoolObj (CsJson, "BootOptionEnabled", CSPtr- > >BootOptionEnabled) !=3D RedfishCS_status_success) {goto Error;} > + > + // BootOptionReference > + if (InsertJsonStringObj (CsJson, "BootOptionReference", CSPtr- > >BootOptionReference) !=3D RedfishCS_status_success) {goto Error;} > + > + // Description > + if (InsertJsonStringObj (CsJson, "Description", CSPtr->Description) != =3D > RedfishCS_status_success) {goto Error;} > + > + // DisplayName > + if (InsertJsonStringObj (CsJson, "DisplayName", CSPtr->DisplayName) != =3D > RedfishCS_status_success) {goto Error;} > + > + // Id > + if (InsertJsonStringObj (CsJson, "Id", CSPtr->Id) !=3D > RedfishCS_status_success) {goto Error;} > + > + // Name > + if (InsertJsonStringObj (CsJson, "Name", CSPtr->Name) !=3D > RedfishCS_status_success) {goto Error;} > + > + // Oem > + if (CS_To_JSON_Oem(CsJson, "Oem", CSPtr->Oem) !=3D > RedfishCS_status_success) {goto Error;} > + > + // RelatedItem > + if (CS_To_JSON_RelatedItem(CsJson, "RelatedItem", CSPtr->RelatedItem) = !=3D > RedfishCS_status_success) {goto Error;} > + > + // RelatedItem@odata.count > + if (InsertJsonInt64Obj (CsJson, "RelatedItem@odata.count", CSPtr- > >RelatedItemodata_count) !=3D RedfishCS_status_success) {goto Error;} > + > + // UefiDevicePath > + if (InsertJsonStringObj (CsJson, "UefiDevicePath", CSPtr->UefiDevicePa= th) !=3D > RedfishCS_status_success) {goto Error;} > + > + // @odata.context > + if (InsertJsonStringObj (CsJson, "@odata.context", CSPtr- > >odata_context) !=3D RedfishCS_status_success) {goto Error;} > + > + // @odata.etag > + if (InsertJsonStringObj (CsJson, "@odata.etag", CSPtr->odata_etag) != =3D > RedfishCS_status_success) {goto Error;} > + > + // @odata.id > + if (InsertJsonStringObj (CsJson, "@odata.id", CSPtr->odata_id) !=3D > RedfishCS_status_success) {goto Error;} > + > + // @odata.type > + if (InsertJsonStringObj (CsJson, "@odata.type", CSPtr->odata_type) != =3D > RedfishCS_status_success) {goto Error;} > + > + *JsonText =3D (RedfishCS_char *)json_dumps(CsJson, JSON_INDENT(2 * 1) = | > JSON_ENSURE_ASCII); > + json_decref(CsJson); > + return RedfishCS_status_success; > +Error:; > + json_decref(CsJson); > + return RedfishCS_status_unsupported; > +} > + > +// > +// Destory C Structure for BootOption.V1_0_4.BootOption > +// > +RedfishCS_status > DestroyBootOption_V1_0_4_CS(RedfishBootOption_V1_0_4_BootOption_CS > *CSPtr) > +{ > + RedfishCS_status Status; > + > + Status =3D DestoryCsMemory ((RedfishCS_void *)CSPtr); > + return Status; > +} > + > +// > +// Destory JSON text for BootOption.V1_0_4.BootOption > +// > +RedfishCS_status DestroyBootOption_V1_0_4_Json(RedfishCS_char > *JsonText) > +{ > + free ((RedfishCS_void *)JsonText); > + return RedfishCS_status_success; > +} > + > +// > +//Generate C structure for BootOption.V1_0_4.BootOption > +// > +RedfishCS_status > +Json_BootOption_V1_0_4_To_CS(RedfishCS_char *JsonRawText, > RedfishBootOption_V1_0_4_BootOption_CS **ReturnedCs) > +{ > + RedfishCS_status Status; > + json_t *JsonObj; > + RedfishBootOption_V1_0_4_BootOption_CS *Cs; > + > + Status =3D CreateJsonPayloadAndCs (JsonRawText, "BootOption", "v1_0_4"= , > "BootOption", &JsonObj, (RedfishCS_void **)&Cs, sizeof > (RedfishBootOption_V1_0_4_BootOption_CS)); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + > + // @odata.context > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.context", &Cs- > >odata_context); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // @odata.etag > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.etag", &Cs- > >odata_etag); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // @odata.id > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.id", &Cs->odata= _id); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // @odata.type > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.type", &Cs- > >odata_type); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Actions > + Status =3D GenActionsCs (Cs, JsonObj, "Actions", &Cs->Actions); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // Alias > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Alias", &Cs->Alias); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // BootOptionEnabled > + Status =3D GetRedfishPropertyBoolean (Cs, JsonObj, "BootOptionEnabled"= , > &Cs->BootOptionEnabled); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // BootOptionReference > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "BootOptionReference", = &Cs- > >BootOptionReference); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Description > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Description", &Cs- > >Description); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // DisplayName > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "DisplayName", &Cs- > >DisplayName); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // Id > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Id", &Cs->Id); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Name > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Name", &Cs->Name); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Oem > + Status =3D GenOemCs (Cs, JsonObj, "Oem", &Cs->Oem); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // RelatedItem > + Status =3D GenidRef_ArrayCs (Cs, JsonObj, "RelatedItem", &Cs->RelatedI= tem); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // RelatedItem@odata.count > + Status =3D GetRedfishPropertyInt64 (Cs, JsonObj, > "RelatedItem@odata.count", &Cs->RelatedItemodata_count); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // UefiDevicePath > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "UefiDevicePath", &Cs- > >UefiDevicePath); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + json_decref(JsonObj); > + *ReturnedCs =3D Cs; > + return RedfishCS_status_success; > +Error:; > + json_decref(JsonObj); > + DestroyBootOption_V1_0_4_CS (Cs); > + return Status; > +} > diff --git > a/RedfishClientPkg/ConverterLib/src/BootOptionCollection/BootOptionCollec > tion/BootOptionCollection.c > b/RedfishClientPkg/ConverterLib/src/BootOptionCollection/BootOptionCollec > tion/BootOptionCollection.c > index eb88ef9b..18cdd466 100644 > --- > a/RedfishClientPkg/ConverterLib/src/BootOptionCollection/BootOptionCollec > tion/BootOptionCollection.c > +++ > b/RedfishClientPkg/ConverterLib/src/BootOptionCollection/BootOptionCollec > tion/BootOptionCollection.c > @@ -1,249 +1,247 @@ > -// > -// Auto-generated file by Redfish Schema C Structure Generator. > -// https://github.com/DMTF/Redfish-Schema-C-Struct-Generator. > -// > -// (C) Copyright 2019-2022 Hewlett Packard Enterprise Development LP > -// > -// Copyright Notice: > -// Copyright 2019-2022 Distributed Management Task Force, Inc. All right= s > reserved. > -// License: BSD 3-Clause License. For full text see link: > https://github.com/DMTF/Redfish-JSON-C-Struct- > Converter/blob/master/LICENSE.md > -// > - > -#include"Redfish_BootOptionCollection_CS.h" > -#include > -#include > -#include > - > -RedfishCS_bool SupportedRedfishResource (RedfishCS_char *Odata_Type, > RedfishCS_char *NameSpace, RedfishCS_char *Version, RedfishCS_char > *DataType); > -RedfishCS_status CreateCsUriByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_Uri_Data **CsTypeUriData); > -RedfishCS_status CreateCsJsonByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_JSON_Data **CsTypeJsonData); > -RedfishCS_status CreateCsUriOrJsonByNode (RedfishCS_void *Cs, json_t > *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > -RedfishCS_status CreateCsUriOrJsonByNodeArray (RedfishCS_void *Cs, > json_t *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > -RedfishCS_status CreateJsonPayloadAndCs (char *JsonRawText, char > *ResourceType, char *ResourceVersion, char *TypeName, json_t > **JsonObjReturned, void **Cs, int size); > -RedfishCS_status GetRedfishPropertyStr (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_char **DstBuffer); > -RedfishCS_status GetRedfishPropertyBoolean (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_bool **DstBuffer); > -RedfishCS_status GetRedfishPropertyVague (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_Vague **DstBuffer); > -RedfishCS_status DestoryCsMemory (RedfishCS_void *rootCs); > -RedfishCS_status GetRedfishPropertyInt64 (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_int64 **Dst); > -RedfishCS_status InsertJsonStringObj (json_t *JsonObj, char *Key, char > *StringValue); > -RedfishCS_status InsertJsonLinkObj (json_t *JsonObj, char *Key, > RedfishCS_Link *Link); > -RedfishCS_status InsertJsonInt64Obj (json_t *ParentJsonObj, char *Key, > RedfishCS_int64 *Int64Value); > -RedfishCS_status InsertJsonBoolObj (json_t *ParentJsonObj, char *Key, > RedfishCS_bool *BoolValue); > -RedfishCS_status InsertJsonStringArrayObj (json_t *JsonObj, char *Key, > RedfishCS_char_Array *StringValueArray); > -RedfishCS_status InsertJsonLinkArrayObj (json_t *JsonObj, char *Key, > RedfishCS_Link *LinkArray); > -RedfishCS_status InsertJsonInt64ArrayObj (json_t *ParentJsonObj, char > *Key, RedfishCS_int64_Array *Int64ValueArray); > -RedfishCS_status InsertJsonBoolArrayObj (json_t *ParentJsonObj, char *Ke= y, > RedfishCS_bool_Array *BoolValueArray); > -RedfishCS_status InsertJsonVagueObj (json_t *ParentJsonObj, char *Key, > RedfishCS_Vague *VagueValue); > -RedfishCS_bool CheckEmptyPropJsonObject(json_t *JsonObj, > RedfishCS_uint32 *NumOfProperty); > -RedfishCS_status CreateEmptyPropCsJson(RedfishCS_void *Cs, json_t > *JsonOj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_EmptyProp_CS_Data **CsTypeEmptyPropCS, > RedfishCS_uint32 NunmOfProperties); > -RedfishCS_status CsEmptyPropLinkToJson(json_t *CsJson, char *Key, > RedfishCS_Link *Link); > - > -// > -//Generate C structure for Oem > -// > -static RedfishCS_status > GenOemCs(RedfishBootOptionCollection_BootOptionCollection_CS *Cs, > json_t *JsonObj, char *Key, RedfishResource_Oem_CS **Dst) > -{ > - RedfishCS_status Status; > - RedfishCS_Type_JSON_Data *CsTypeJson; > - RedfishCS_Type_EmptyProp_CS_Data *CsTypeEmptyPropCS; > - RedfishCS_uint32 NunmOfEmptyPropProperties; > - json_t *TempJsonObj; > - > - Status =3D RedfishCS_status_success; > - TempJsonObj =3D json_object_get(JsonObj, Key); > - if (TempJsonObj =3D=3D NULL) { > - return RedfishCS_status_not_found; > - } > - Status =3D allocateRecordCsMemory(Cs, sizeof(RedfishResource_Oem_CS), > (RedfishCS_void **)Dst); > - if (Status !=3D RedfishCS_status_success){ > - goto Error; > - } > - InitializeLinkHead (&(*Dst)->Prop); > - > - // > - // Try to create C structure if the property is > - // declared as empty property in schema. The supported property type > - // is string, integer, real, number and boolean. > - // > - if (CheckEmptyPropJsonObject(TempJsonObj, > &NunmOfEmptyPropProperties)) { > - Status =3D CreateEmptyPropCsJson(Cs, JsonObj, Key, Cs->Header.ThisUr= i, > &CsTypeEmptyPropCS, NunmOfEmptyPropProperties); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - InsertTailLink(&(*Dst)->Prop, &CsTypeEmptyPropCS->Header.LinkEntry); > - } else { > - Status =3D CreateCsJsonByNode (Cs, JsonObj, Key, Cs->Header.ThisUri, > &CsTypeJson); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - InsertTailLink(&(*Dst)->Prop, &CsTypeJson->Header.LinkEntry); > - } > -Error:; > - return Status; > -} > -static RedfishCS_status CS_To_JSON_Oem(json_t *CsJson, char *Key, > RedfishResource_Oem_CS *CSPtr) > -{ > - json_t *CsParentJson; > - > - if (CSPtr =3D=3D NULL) { > - return RedfishCS_status_success; > - } > - > - CsParentJson =3D CsJson; > - CsJson =3D json_object(); > - if (CsJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - > - // Check if this is RedfishCS_Type_CS_EmptyProp. > - CsEmptyPropLinkToJson(CsJson, Key, &CSPtr->Prop); > - // No JSON property for this structure. > - return RedfishCS_status_success; > -} > - > -// > -// C structure to JSON for BootOptionCollection.BootOptionCollection > -// > -RedfishCS_status > CS_To_BootOptionCollection_JSON(RedfishBootOptionCollection_BootOption > Collection_CS *CSPtr, RedfishCS_char **JsonText) > -{ > - json_t *CsJson; > - > - if (CSPtr =3D=3D NULL || JsonText =3D=3D NULL || CSPtr->Header.Resourc= eType !=3D > RedfishCS_Type_CS) { > - return RedfishCS_status_invalid_parameter; > - } > - CsJson =3D json_object(); > - if (CsJson =3D=3D NULL) { > - return RedfishCS_status_unsupported; > - } > - // Description > - if (InsertJsonStringObj (CsJson, "Description", CSPtr->Description) != =3D > RedfishCS_status_success) {goto Error;} > - > - // Members > - if (InsertJsonLinkArrayObj (CsJson, "Members", &CSPtr->Members) !=3D > RedfishCS_status_success) {goto Error;} > - > - // Members@odata.count > - if (InsertJsonInt64Obj (CsJson, "Members@odata.count", CSPtr- > >Membersodata_count) !=3D RedfishCS_status_success) {goto Error;} > - > - // Members@odata.nextLink > - if (InsertJsonStringObj (CsJson, "Members@odata.nextLink", CSPtr- > >Membersodata_nextLink) !=3D RedfishCS_status_success) {goto Error;} > - > - // Name > - if (InsertJsonStringObj (CsJson, "Name", CSPtr->Name) !=3D > RedfishCS_status_success) {goto Error;} > - > - // Oem > - if (CS_To_JSON_Oem(CsJson, "Oem", CSPtr->Oem) !=3D > RedfishCS_status_success) {goto Error;} > - > - // @odata.context > - if (InsertJsonStringObj (CsJson, "@odata.context", CSPtr- > >odata_context) !=3D RedfishCS_status_success) {goto Error;} > - > - // @odata.etag > - if (InsertJsonStringObj (CsJson, "@odata.etag", CSPtr->odata_etag) != =3D > RedfishCS_status_success) {goto Error;} > - > - // @odata.id > - if (InsertJsonStringObj (CsJson, "@odata.id", CSPtr->odata_id) !=3D > RedfishCS_status_success) {goto Error;} > - > - // @odata.type > - if (InsertJsonStringObj (CsJson, "@odata.type", CSPtr->odata_type) != =3D > RedfishCS_status_success) {goto Error;} > - > - *JsonText =3D (RedfishCS_char *)json_dumps(CsJson, JSON_INDENT(2 * 1) = | > JSON_ENSURE_ASCII); > - json_decref(CsJson); > - return RedfishCS_status_success; > -Error:; > - json_decref(CsJson); > - return RedfishCS_status_unsupported; > -} > - > -// > -// Destory C Structure for BootOptionCollection.BootOptionCollection > -// > -RedfishCS_status > DestroyBootOptionCollection_CS(RedfishBootOptionCollection_BootOptionC > ollection_CS *CSPtr) > -{ > - RedfishCS_status Status; > - > - Status =3D DestoryCsMemory ((RedfishCS_void *)CSPtr); > - return Status; > -} > - > -// > -// Destory JSON text for BootOptionCollection.BootOptionCollection > -// > -RedfishCS_status DestroyBootOptionCollection_Json(RedfishCS_char > *JsonText) > -{ > - free ((RedfishCS_void *)JsonText); > - return RedfishCS_status_success; > -} > - > -// > -//Generate C structure for > BootOptionCollection.NOVERSIONED.BootOptionCollection > -// > -RedfishCS_status > -Json_BootOptionCollection_To_CS(RedfishCS_char *JsonRawText, > RedfishBootOptionCollection_BootOptionCollection_CS **ReturnedCs) > -{ > - RedfishCS_status Status; > - json_t *JsonObj; > - RedfishBootOptionCollection_BootOptionCollection_CS *Cs; > - > - Status =3D CreateJsonPayloadAndCs (JsonRawText, "BootOptionCollection"= , > "noversioned", "BootOptionCollection", &JsonObj, (RedfishCS_void **)&Cs, > sizeof (RedfishBootOptionCollection_BootOptionCollection_CS)); > - if (Status !=3D RedfishCS_status_success) { > - goto Error; > - } > - > - // @odata.context > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.context", &Cs- > >odata_context); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // @odata.etag > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.etag", &Cs- > >odata_etag); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // @odata.id > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.id", &Cs->odata= _id); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // @odata.type > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.type", &Cs- > >odata_type); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Description > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Description", &Cs- > >Description); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // Members > - InitializeLinkHead (&Cs->Members); > - Status =3D CreateCsUriOrJsonByNodeArray (Cs, JsonObj, "Members", Cs- > >Header.ThisUri, &Cs->Members); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Members@odata.count > - Status =3D GetRedfishPropertyInt64 (Cs, JsonObj, "Members@odata.count"= , > &Cs->Membersodata_count); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Members@odata.nextLink > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Members@odata.nextLink= ", > &Cs->Membersodata_nextLink); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - // Name > - Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Name", &Cs->Name); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > - > - // Oem > - Status =3D GenOemCs (Cs, JsonObj, "Oem", &Cs->Oem); > - if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > - else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > - > - json_decref(JsonObj); > - *ReturnedCs =3D Cs; > - return RedfishCS_status_success; > -Error:; > - json_decref(JsonObj); > - DestroyBootOptionCollection_CS (Cs); > - return Status; > -} > +// > +// Auto-generated file by Redfish Schema C Structure Generator. > +// https://github.com/DMTF/Redfish-Schema-C-Struct-Generator. > +// > +// (C) Copyright 2019-2022 Hewlett Packard Enterprise Development > LP
> +// Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > +// > +// Copyright Notice: > +// Copyright 2019-2022 Distributed Management Task Force, Inc. All right= s > reserved. > +// License: BSD 3-Clause License. For full text see link: > https://github.com/DMTF/Redfish-JSON-C-Struct- > Converter/blob/master/LICENSE.md > +// > + > +#include"Redfish_BootOptionCollection_CS.h" > +#include > +#include > +#include > + > +RedfishCS_bool SupportedRedfishResource (RedfishCS_char *Odata_Type, > RedfishCS_char *NameSpace, RedfishCS_char *Version, RedfishCS_char > *DataType); > +RedfishCS_status CreateCsUriByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_Uri_Data **CsTypeUriData); > +RedfishCS_status CreateCsJsonByNode (RedfishCS_void *Cs, json_t *JsonOj, > RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_JSON_Data **CsTypeJsonData); > +RedfishCS_status CreateCsUriOrJsonByNode (RedfishCS_void *Cs, json_t > *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > +RedfishCS_status CreateCsUriOrJsonByNodeArray (RedfishCS_void *Cs, > json_t *JsonObj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Link *LinkHead); > +RedfishCS_status CreateJsonPayloadAndCs (char *JsonRawText, char > *ResourceType, char *ResourceVersion, char *TypeName, json_t > **JsonObjReturned, void **Cs, int size); > +RedfishCS_status GetRedfishPropertyStr (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_char **DstBuffer); > +RedfishCS_status GetRedfishPropertyBoolean (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_bool **DstBuffer); > +RedfishCS_status GetRedfishPropertyVague (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_Vague **DstBuffer); > +RedfishCS_status DestoryCsMemory (RedfishCS_void *rootCs); > +RedfishCS_status GetRedfishPropertyInt64 (RedfishCS_void *Cs, json_t > *JsonObj, char *Key, RedfishCS_int64 **Dst); > +RedfishCS_status InsertJsonStringObj (json_t *JsonObj, char *Key, char > *StringValue); > +RedfishCS_status InsertJsonLinkObj (json_t *JsonObj, char *Key, > RedfishCS_Link *Link); > +RedfishCS_status InsertJsonInt64Obj (json_t *ParentJsonObj, char *Key, > RedfishCS_int64 *Int64Value); > +RedfishCS_status InsertJsonBoolObj (json_t *ParentJsonObj, char *Key, > RedfishCS_bool *BoolValue); > +RedfishCS_status InsertJsonStringArrayObj (json_t *JsonObj, char *Key, > RedfishCS_char_Array *StringValueArray); > +RedfishCS_status InsertJsonLinkArrayObj (json_t *JsonObj, char *Key, > RedfishCS_Link *LinkArray); > +RedfishCS_status InsertJsonInt64ArrayObj (json_t *ParentJsonObj, char > *Key, RedfishCS_int64_Array *Int64ValueArray); > +RedfishCS_status InsertJsonBoolArrayObj (json_t *ParentJsonObj, char *Ke= y, > RedfishCS_bool_Array *BoolValueArray); > +RedfishCS_status InsertJsonVagueObj (json_t *ParentJsonObj, char *Key, > RedfishCS_Vague *VagueValue); > +RedfishCS_bool CheckEmptyPropJsonObject(json_t *JsonObj, > RedfishCS_uint32 *NumOfProperty); > +RedfishCS_status CreateEmptyPropCsJson(RedfishCS_void *Cs, json_t > *JsonOj, RedfishCS_char *NodeName, RedfishCS_char *ParentUri, > RedfishCS_Type_EmptyProp_CS_Data **CsTypeEmptyPropCS, > RedfishCS_uint32 NunmOfProperties); > +RedfishCS_status CsEmptyPropLinkToJson(json_t *CsJson, char *Key, > RedfishCS_Link *Link); > + > +// > +//Generate C structure for Oem > +// > +static RedfishCS_status > GenOemCs(RedfishBootOptionCollection_BootOptionCollection_CS *Cs, > json_t *JsonObj, char *Key, RedfishResource_Oem_CS **Dst) > +{ > + RedfishCS_status Status; > + RedfishCS_Type_JSON_Data *CsTypeJson; > + RedfishCS_Type_EmptyProp_CS_Data *CsTypeEmptyPropCS; > + RedfishCS_uint32 NunmOfEmptyPropProperties; > + json_t *TempJsonObj; > + > + Status =3D RedfishCS_status_success; > + TempJsonObj =3D json_object_get(JsonObj, Key); > + if (TempJsonObj =3D=3D NULL) { > + return RedfishCS_status_not_found; > + } > + Status =3D allocateRecordCsMemory(Cs, sizeof(RedfishResource_Oem_CS), > (RedfishCS_void **)Dst); > + if (Status !=3D RedfishCS_status_success){ > + goto Error; > + } > + InitializeLinkHead (&(*Dst)->Prop); > + > + // > + // Try to create C structure if the property is > + // declared as empty property in schema. The supported property type > + // is string, integer, real, number and boolean. > + // > + if (CheckEmptyPropJsonObject(TempJsonObj, > &NunmOfEmptyPropProperties)) { > + Status =3D CreateEmptyPropCsJson(Cs, JsonObj, Key, Cs->Header.ThisUr= i, > &CsTypeEmptyPropCS, NunmOfEmptyPropProperties); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + InsertTailLink(&(*Dst)->Prop, &CsTypeEmptyPropCS->Header.LinkEntry); > + } else { > + Status =3D CreateCsJsonByNode (Cs, JsonObj, Key, Cs->Header.ThisUri, > &CsTypeJson); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + InsertTailLink(&(*Dst)->Prop, &CsTypeJson->Header.LinkEntry); > + } > +Error:; > + return Status; > +} > +static RedfishCS_status CS_To_JSON_Oem(json_t *CsJson, char *Key, > RedfishResource_Oem_CS *CSPtr) > +{ > + if (CSPtr =3D=3D NULL) { > + return RedfishCS_status_success; > + } > + > + CsJson =3D json_object(); > + if (CsJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + > + // Check if this is RedfishCS_Type_CS_EmptyProp. > + CsEmptyPropLinkToJson(CsJson, Key, &CSPtr->Prop); > + // No JSON property for this structure. > + return RedfishCS_status_success; > +} > + > +// > +// C structure to JSON for BootOptionCollection.BootOptionCollection > +// > +RedfishCS_status > CS_To_BootOptionCollection_JSON(RedfishBootOptionCollection_BootOption > Collection_CS *CSPtr, RedfishCS_char **JsonText) > +{ > + json_t *CsJson; > + > + if (CSPtr =3D=3D NULL || JsonText =3D=3D NULL || CSPtr->Header.Resourc= eType !=3D > RedfishCS_Type_CS) { > + return RedfishCS_status_invalid_parameter; > + } > + CsJson =3D json_object(); > + if (CsJson =3D=3D NULL) { > + return RedfishCS_status_unsupported; > + } > + // Description > + if (InsertJsonStringObj (CsJson, "Description", CSPtr->Description) != =3D > RedfishCS_status_success) {goto Error;} > + > + // Members > + if (InsertJsonLinkArrayObj (CsJson, "Members", &CSPtr->Members) !=3D > RedfishCS_status_success) {goto Error;} > + > + // Members@odata.count > + if (InsertJsonInt64Obj (CsJson, "Members@odata.count", CSPtr- > >Membersodata_count) !=3D RedfishCS_status_success) {goto Error;} > + > + // Members@odata.nextLink > + if (InsertJsonStringObj (CsJson, "Members@odata.nextLink", CSPtr- > >Membersodata_nextLink) !=3D RedfishCS_status_success) {goto Error;} > + > + // Name > + if (InsertJsonStringObj (CsJson, "Name", CSPtr->Name) !=3D > RedfishCS_status_success) {goto Error;} > + > + // Oem > + if (CS_To_JSON_Oem(CsJson, "Oem", CSPtr->Oem) !=3D > RedfishCS_status_success) {goto Error;} > + > + // @odata.context > + if (InsertJsonStringObj (CsJson, "@odata.context", CSPtr- > >odata_context) !=3D RedfishCS_status_success) {goto Error;} > + > + // @odata.etag > + if (InsertJsonStringObj (CsJson, "@odata.etag", CSPtr->odata_etag) != =3D > RedfishCS_status_success) {goto Error;} > + > + // @odata.id > + if (InsertJsonStringObj (CsJson, "@odata.id", CSPtr->odata_id) !=3D > RedfishCS_status_success) {goto Error;} > + > + // @odata.type > + if (InsertJsonStringObj (CsJson, "@odata.type", CSPtr->odata_type) != =3D > RedfishCS_status_success) {goto Error;} > + > + *JsonText =3D (RedfishCS_char *)json_dumps(CsJson, JSON_INDENT(2 * 1) = | > JSON_ENSURE_ASCII); > + json_decref(CsJson); > + return RedfishCS_status_success; > +Error:; > + json_decref(CsJson); > + return RedfishCS_status_unsupported; > +} > + > +// > +// Destory C Structure for BootOptionCollection.BootOptionCollection > +// > +RedfishCS_status > DestroyBootOptionCollection_CS(RedfishBootOptionCollection_BootOptionC > ollection_CS *CSPtr) > +{ > + RedfishCS_status Status; > + > + Status =3D DestoryCsMemory ((RedfishCS_void *)CSPtr); > + return Status; > +} > + > +// > +// Destory JSON text for BootOptionCollection.BootOptionCollection > +// > +RedfishCS_status DestroyBootOptionCollection_Json(RedfishCS_char > *JsonText) > +{ > + free ((RedfishCS_void *)JsonText); > + return RedfishCS_status_success; > +} > + > +// > +//Generate C structure for > BootOptionCollection.NOVERSIONED.BootOptionCollection > +// > +RedfishCS_status > +Json_BootOptionCollection_To_CS(RedfishCS_char *JsonRawText, > RedfishBootOptionCollection_BootOptionCollection_CS **ReturnedCs) > +{ > + RedfishCS_status Status; > + json_t *JsonObj; > + RedfishBootOptionCollection_BootOptionCollection_CS *Cs; > + > + Status =3D CreateJsonPayloadAndCs (JsonRawText, "BootOptionCollection"= , > "noversioned", "BootOptionCollection", &JsonObj, (RedfishCS_void **)&Cs, > sizeof (RedfishBootOptionCollection_BootOptionCollection_CS)); > + if (Status !=3D RedfishCS_status_success) { > + goto Error; > + } > + > + // @odata.context > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.context", &Cs- > >odata_context); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // @odata.etag > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.etag", &Cs- > >odata_etag); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // @odata.id > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.id", &Cs->odata= _id); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // @odata.type > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "@odata.type", &Cs- > >odata_type); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Description > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Description", &Cs- > >Description); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // Members > + InitializeLinkHead (&Cs->Members); > + Status =3D CreateCsUriOrJsonByNodeArray (Cs, JsonObj, "Members", Cs- > >Header.ThisUri, &Cs->Members); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Members@odata.count > + Status =3D GetRedfishPropertyInt64 (Cs, JsonObj, "Members@odata.count"= , > &Cs->Membersodata_count); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Members@odata.nextLink > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Members@odata.nextLink= ", > &Cs->Membersodata_nextLink); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + // Name > + Status =3D GetRedfishPropertyStr (Cs, JsonObj, "Name", &Cs->Name); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){goto Error;}} > + > + // Oem > + Status =3D GenOemCs (Cs, JsonObj, "Oem", &Cs->Oem); > + if (Status !=3D RedfishCS_status_success && Status !=3D > RedfishCS_status_not_found) {goto Error;} > + else {if (Status =3D=3D RedfishCS_status_not_found){/*This is not the = required > property.*/}} > + > + json_decref(JsonObj); > + *ReturnedCs =3D Cs; > + return RedfishCS_status_success; > +Error:; > + json_decref(JsonObj); > + DestroyBootOptionCollection_CS (Cs); > + return Status; > +} > -- > 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113144): https://edk2.groups.io/g/devel/message/113144 Mute This Topic: https://groups.io/mt/103517654/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-