lazybios 3.0.0
Lightweight SMBIOS/DMI parsing library
Loading...
Searching...
No Matches
Library Extensions

Optional extensions built on top of lazybios, such as cJSON serialization. More...

Files

file  lazybios_json.h
 cJSON serialization API for parsed SMBIOS structures.

Functions

void lazybiosExtJSONAddOemDellType177 (const lazybiosOemDellType177Array_t *dell177, cJSON *root)
 OEM serialisers nest their output as oem.<vendor>.TypeN, mirroring ctx->oem->dell->TypeN, because an OEM structure number is only meaningful together with its vendor.
void lazybiosExtJSONAddOemDellType212 (const lazybiosOemDellType212Array_t *dell212, cJSON *root)
 Serialises an array of parsed Dell OEM Type 212 (Dell Indexed I/O Access) structures into a cJSON array and attaches it to root under the key "DellType212".
void lazybiosExtJSONAddOemDellType218 (const lazybiosOemDellType218Array_t *dell218, cJSON *root)
 Serialises an array of parsed Dell OEM Type 218 (Dell Token Interface) structures into a cJSON array and attaches it to root under the key "DellType218".
void lazybiosExtJSONAddOemHpType204 (const lazybiosOemHpType204Array_t *hp204, cJSON *root)
 Serialises an array of parsed HP OEM Type 204 (HPE ProLiant System/Rack Locator) structures into a cJSON array and attaches it to root under the key "HpType204".
void lazybiosExtJSONAddSMBIOSInfo (const lazybiosDMI_t *DMIData, lazybiosBackend_t backend, cJSON *root)
 Output contract shared by the per-type lazybiosExtJSONAddTypeN() functions.
void lazybiosExtJSONAddType0 (const lazybiosType0Array_t *type0, cJSON *root)
 Serialises an array of parsed SMBIOS Type 0 (BIOS Information) structures into a cJSON array and attaches it to root under the key "Type0".
void lazybiosExtJSONAddType1 (const lazybiosType1Array_t *type1, cJSON *root)
 Serialises an array of parsed SMBIOS Type 1 (System Information) structures into a cJSON array and attaches it to root under the key "Type1".
void lazybiosExtJSONAddType10 (const lazybiosType10Array_t *type10, cJSON *root)
 Serialises an array of parsed SMBIOS Type 10 (On Board Devices Information, obsolete) structures into a cJSON array and attaches it to root under the key "Type10".
void lazybiosExtJSONAddType11 (const lazybiosType11Array_t *type11, cJSON *root)
 Serialises an array of parsed SMBIOS Type 11 (OEM Strings) structures into a cJSON array and attaches it to root under the key "Type11".
void lazybiosExtJSONAddType12 (const lazybiosType12Array_t *type12, cJSON *root)
 Serialises an array of parsed SMBIOS Type 12 (System Configuration Options) structures into a cJSON array and attaches it to root under the key "Type12".
void lazybiosExtJSONAddType13 (const lazybiosType13Array_t *type13, cJSON *root)
 Serialises an array of parsed SMBIOS Type 13 (Firmware Language Information) structures into a cJSON array and attaches it to root under the key "Type13".
void lazybiosExtJSONAddType14 (const lazybiosType14Array_t *type14, cJSON *root)
 Serialises an array of parsed SMBIOS Type 14 (Group Associations) structures into a cJSON array and attaches it to root under the key "Type14".
void lazybiosExtJSONAddType15 (const lazybiosType15Array_t *type15, cJSON *root)
 Serialises an array of parsed SMBIOS Type 15 (System Event Log) structures into a cJSON array and attaches it to root under the key "Type15".
void lazybiosExtJSONAddType16 (const lazybiosType16Array_t *type16, cJSON *root)
 Serialises an array of parsed SMBIOS Type 16 (Physical Memory Array) structures into a cJSON array and attaches it to root under the key "Type16".
void lazybiosExtJSONAddType17 (const lazybiosType17Array_t *type17, cJSON *root)
 Serialises an array of parsed SMBIOS Type 17 (Memory Device) structures into a cJSON array and attaches it to root under the key "Type17".
void lazybiosExtJSONAddType18 (const lazybiosType18Array_t *type18, cJSON *root)
 Serialises an array of parsed SMBIOS Type 18 (32-Bit Memory Error Info) structures into a cJSON array and attaches it to root under the key "Type18".
void lazybiosExtJSONAddType19 (const lazybiosType19Array_t *type19, cJSON *root)
 Serialises an array of parsed SMBIOS Type 19 (Memory Array Mapped Address) structures into a cJSON array and attaches it to root under the key "Type19".
void lazybiosExtJSONAddType2 (const lazybiosType2Array_t *type2, cJSON *root)
 Serialises an array of parsed SMBIOS Type 2 (Baseboard Information) structures into a cJSON array and attaches it to root under the key "Type2".
void lazybiosExtJSONAddType20 (const lazybiosType20Array_t *type20, cJSON *root)
 Serialises an array of parsed SMBIOS Type 20 (Memory Device Mapped Address) structures into a cJSON array and attaches it to root under the key "Type20".
void lazybiosExtJSONAddType21 (const lazybiosType21Array_t *type21, cJSON *root)
 Serialises an array of parsed SMBIOS Type 21 (Built-in Pointing Device) structures into a cJSON array and attaches it to root under the key "Type21".
void lazybiosExtJSONAddType22 (const lazybiosType22Array_t *type22, cJSON *root)
 Serialises an array of parsed SMBIOS Type 22 (Portable Battery) structures into a cJSON array and attaches it to root under the key "Type22".
void lazybiosExtJSONAddType23 (const lazybiosType23Array_t *type23, cJSON *root)
 Serialises an array of parsed SMBIOS Type 23 (System Reset) structures into a cJSON array and attaches it to root under the key "Type23".
void lazybiosExtJSONAddType24 (const lazybiosType24Array_t *type24, cJSON *root)
 Serialises an array of parsed SMBIOS Type 24 (Hardware Security) structures into a cJSON array and attaches it to root under the key "Type24".
void lazybiosExtJSONAddType25 (const lazybiosType25Array_t *type25, cJSON *root)
 Serialises an array of parsed SMBIOS Type 25 (System Power Controls) structures into a cJSON array and attaches it to root under the key "Type25".
void lazybiosExtJSONAddType26 (const lazybiosType26Array_t *type26, cJSON *root)
 Serialises an array of parsed SMBIOS Type 26 (Voltage Probe) structures into a cJSON array and attaches it to root under the key "Type26".
void lazybiosExtJSONAddType27 (const lazybiosType27Array_t *type27, cJSON *root)
 Serialises an array of parsed SMBIOS Type 27 (Cooling Device) structures into a cJSON array and attaches it to root under the key "Type27".
void lazybiosExtJSONAddType28 (const lazybiosType28Array_t *type28, cJSON *root)
 Serialises an array of parsed SMBIOS Type 28 (Temperature Probe) structures into a cJSON array and attaches it to root under the key "Type28".
void lazybiosExtJSONAddType29 (const lazybiosType29Array_t *type29, cJSON *root)
 Serialises an array of parsed SMBIOS Type 29 (Electrical Current Probe) structures into a cJSON array and attaches it to root under the key "Type29".
void lazybiosExtJSONAddType3 (const lazybiosType3Array_t *type3, cJSON *root)
 Serialises an array of parsed SMBIOS Type 3 (Chassis Information) structures into a cJSON array and attaches it to root under the key "Type3".
void lazybiosExtJSONAddType30 (const lazybiosType30Array_t *type30, cJSON *root)
 Serialises an array of parsed SMBIOS Type 30 (Out-of-Band Remote Access) structures into a cJSON array and attaches it to root under the key "Type30".
void lazybiosExtJSONAddType31 (const lazybiosType31Array_t *type31, cJSON *root)
 Serialises an array of parsed SMBIOS Type 31 (Boot Integrity Services) structures into a cJSON array and attaches it to root under the key "Type31".
void lazybiosExtJSONAddType32 (const lazybiosType32Array_t *type32, cJSON *root)
 Serialises an array of parsed SMBIOS Type 32 (System Boot) structures into a cJSON array and attaches it to root under the key "Type32".
void lazybiosExtJSONAddType33 (const lazybiosType33Array_t *type33, cJSON *root)
 Serialises an array of parsed SMBIOS Type 33 (64-Bit Memory Error Info) structures into a cJSON array and attaches it to root under the key "Type33".
void lazybiosExtJSONAddType34 (const lazybiosType34Array_t *type34, cJSON *root)
 Serialises an array of parsed SMBIOS Type 34 (Management Device) structures into a cJSON array and attaches it to root under the key "Type34".
void lazybiosExtJSONAddType35 (const lazybiosType35Array_t *type35, cJSON *root)
 Serialises an array of parsed SMBIOS Type 35 (Management Device Component) structures into a cJSON array and attaches it to root under the key "Type35".
void lazybiosExtJSONAddType36 (const lazybiosType36Array_t *type36, cJSON *root)
 Serialises an array of parsed SMBIOS Type 36 (Management Device Threshold Data) structures into a cJSON array and attaches it to root under the key "Type36".
void lazybiosExtJSONAddType37 (const lazybiosType37Array_t *type37, cJSON *root)
 Serialises an array of parsed SMBIOS Type 37 (Memory Channel) structures into a cJSON array and attaches it to root under the key "Type37".
void lazybiosExtJSONAddType38 (const lazybiosType38Array_t *type38, cJSON *root)
 Serialises an array of parsed SMBIOS Type 38 (IPMI Device) structures into a cJSON array and attaches it to root under the key "Type38".
void lazybiosExtJSONAddType39 (const lazybiosType39Array_t *type39, cJSON *root)
 Serialises an array of parsed SMBIOS Type 39 (System Power Supply) structures into a cJSON array and attaches it to root under the key "Type39".
void lazybiosExtJSONAddType4 (const lazybiosType4Array_t *type4, cJSON *root)
 Serialises an array of parsed SMBIOS Type 4 (Processor Information) structures into a cJSON array and attaches it to root under the key "Type4".
void lazybiosExtJSONAddType40 (const lazybiosType40Array_t *type40, cJSON *root)
 Serialises an array of parsed SMBIOS Type 40 (Additional Information) structures into a cJSON array and attaches it to root under the key "Type40".
void lazybiosExtJSONAddType41 (const lazybiosType41Array_t *type41, cJSON *root)
 Serialises an array of parsed SMBIOS Type 41 (Onboard Devices Extended Information) structures into a cJSON array and attaches it to root under the key "Type41".
void lazybiosExtJSONAddType42 (const lazybiosType42Array_t *type42, cJSON *root)
 Serialises an array of parsed SMBIOS Type 42 (Management Controller Host Interface) structures into a cJSON array and attaches it to root under the key "Type42".
void lazybiosExtJSONAddType43 (const lazybiosType43Array_t *type43, cJSON *root)
 Serialises an array of parsed SMBIOS Type 43 (TPM Device) structures into a cJSON array and attaches it to root under the key "Type43".
void lazybiosExtJSONAddType44 (const lazybiosType44Array_t *type44, cJSON *root)
 Serialises an array of parsed SMBIOS Type 44 (Processor Additional Information) structures into a cJSON array and attaches it to root under the key "Type44".
void lazybiosExtJSONAddType45 (const lazybiosType45Array_t *type45, cJSON *root)
 Serialises an array of parsed SMBIOS Type 45 (Firmware Inventory Information) structures into a cJSON array and attaches it to root under the key "Type45".
void lazybiosExtJSONAddType46 (const lazybiosType46Array_t *type46, cJSON *root)
 Serialises an array of parsed SMBIOS Type 46 (String Property) structures into a cJSON array and attaches it to root under the key "Type46".
void lazybiosExtJSONAddType5 (const lazybiosType5Array_t *type5, cJSON *root)
 Serialises an array of parsed SMBIOS Type 5 (Memory Controller Information, obsolete) structures into a cJSON array and attaches it to root under the key "Type5".
void lazybiosExtJSONAddType6 (const lazybiosType6Array_t *type6, cJSON *root)
 Serialises an array of parsed SMBIOS Type 6 (Memory Module Information, obsolete) structures into a cJSON array and attaches it to root under the key "Type6".
void lazybiosExtJSONAddType7 (const lazybiosType7Array_t *type7, cJSON *root)
 Serialises an array of parsed SMBIOS Type 7 (Cache Information) structures into a cJSON array and attaches it to root under the key "Type7".
void lazybiosExtJSONAddType8 (const lazybiosType8Array_t *type8, cJSON *root)
 Serialises an array of parsed SMBIOS Type 8 (Port Connector Information) structures into a cJSON array and attaches it to root under the key "Type8".
void lazybiosExtJSONAddType9 (const lazybiosType9Array_t *type9, cJSON *root)
 Serialises an array of parsed SMBIOS Type 9 (System Slots Information) structures into a cJSON array and attaches it to root under the key "Type9".
LAZYBIOS_WARN_UNUSED int lazybiosParseJSONAll (lazybiosCTX_t *ctx, cJSON *root)
 Parses every implemented structure type and serializes the lot into root.

Detailed Description

Optional extensions built on top of lazybios, such as cJSON serialization.

Function Documentation

◆ lazybiosExtJSONAddOemDellType177()

void lazybiosExtJSONAddOemDellType177 ( const lazybiosOemDellType177Array_t * dell177,
cJSON * root )

#include <lazybios_json.h>

OEM serialisers nest their output as oem.<vendor>.TypeN, mirroring ctx->oem->dell->TypeN, because an OEM structure number is only meaningful together with its vendor.

Serialises an array of parsed Dell OEM Type 177 (Dell BIOS Flags) structures into a cJSON array and attaches it to root under the key "DellType177".

Parameters
dell177Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddOemDellType177().

Referenced by lazybiosExtJSONAddOemDellType177().

◆ lazybiosExtJSONAddOemDellType212()

void lazybiosExtJSONAddOemDellType212 ( const lazybiosOemDellType212Array_t * dell212,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed Dell OEM Type 212 (Dell Indexed I/O Access) structures into a cJSON array and attaches it to root under the key "DellType212".

Port addresses, indices, and token fields are written as hexadecimal strings. Each element carries a "token_count" and a "tokens" array of {token_id, location, and_mask, or_mask} objects.

Parameters
dell212Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddOemDellType212().

Referenced by lazybiosExtJSONAddOemDellType212().

◆ lazybiosExtJSONAddOemDellType218()

void lazybiosExtJSONAddOemDellType218 ( const lazybiosOemDellType218Array_t * dell218,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed Dell OEM Type 218 (Dell Token Interface) structures into a cJSON array and attaches it to root under the key "DellType218".

The command port, command code, class bitmap, and token fields are written as hexadecimal strings. Each element carries a "token_count" and a "tokens" array of {token_id, location, value} objects.

Parameters
dell218Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddOemDellType218().

Referenced by lazybiosExtJSONAddOemDellType218().

◆ lazybiosExtJSONAddOemHpType204()

void lazybiosExtJSONAddOemHpType204 ( const lazybiosOemHpType204Array_t * hp204,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed HP OEM Type 204 (HPE ProLiant System/Rack Locator) structures into a cJSON array and attaches it to root under the key "HpType204".

Parameters
hp204Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddOemHpType204().

Referenced by lazybiosExtJSONAddOemHpType204().

◆ lazybiosExtJSONAddSMBIOSInfo()

void lazybiosExtJSONAddSMBIOSInfo ( const lazybiosDMI_t * DMIData,
lazybiosBackend_t backend,
cJSON * root )

#include <lazybios_json.h>

Output contract shared by the per-type lazybiosExtJSONAddTypeN() functions.

   Each attaches its result to @p root under the matching "TypeN" key:
   an array of record objects, an empty array when the table contains no
   structure of that type, or JSON null when the serialiser was handed a
   NULL set. That mirrors the getters, where a non-NULL result with a zero
   count means "none present" and NULL means the call failed.

   Within a record, the top-level members are the raw encodings the
   firmware reported, and their human-readable forms live in a nested
   "decoded" object. Every record also carries "handle" and "length".
   Fields that are absent or unreachable are written as null.

Serialises lazybios library metadata and the parsed SMBIOS entry point into a cJSON object and attaches it to root under the key "smbios_info".

Parameters
DMIDataRaw DMI container holding the parsed entry point.
backendBackend that was used to obtain the data; controls whether the table address field is included.
rootcJSON object to attach the resulting object to.

References lazybiosExtJSONAddSMBIOSInfo().

Referenced by lazybiosExtJSONAddSMBIOSInfo().

◆ lazybiosExtJSONAddType0()

void lazybiosExtJSONAddType0 ( const lazybiosType0Array_t * type0,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 0 (BIOS Information) structures into a cJSON array and attaches it to root under the key "Type0".

Parameters
type0Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType0().

Referenced by lazybiosExtJSONAddType0().

◆ lazybiosExtJSONAddType1()

void lazybiosExtJSONAddType1 ( const lazybiosType1Array_t * type1,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 1 (System Information) structures into a cJSON array and attaches it to root under the key "Type1".

Parameters
type1Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType1().

Referenced by lazybiosExtJSONAddType1().

◆ lazybiosExtJSONAddType10()

void lazybiosExtJSONAddType10 ( const lazybiosType10Array_t * type10,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 10 (On Board Devices Information, obsolete) structures into a cJSON array and attaches it to root under the key "Type10".

Parameters
type10Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType10().

Referenced by lazybiosExtJSONAddType10().

◆ lazybiosExtJSONAddType11()

void lazybiosExtJSONAddType11 ( const lazybiosType11Array_t * type11,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 11 (OEM Strings) structures into a cJSON array and attaches it to root under the key "Type11".

Parameters
type11Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType11().

Referenced by lazybiosExtJSONAddType11().

◆ lazybiosExtJSONAddType12()

void lazybiosExtJSONAddType12 ( const lazybiosType12Array_t * type12,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 12 (System Configuration Options) structures into a cJSON array and attaches it to root under the key "Type12".

Parameters
type12Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType12().

Referenced by lazybiosExtJSONAddType12().

◆ lazybiosExtJSONAddType13()

void lazybiosExtJSONAddType13 ( const lazybiosType13Array_t * type13,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 13 (Firmware Language Information) structures into a cJSON array and attaches it to root under the key "Type13".

Parameters
type13Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType13().

Referenced by lazybiosExtJSONAddType13().

◆ lazybiosExtJSONAddType14()

void lazybiosExtJSONAddType14 ( const lazybiosType14Array_t * type14,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 14 (Group Associations) structures into a cJSON array and attaches it to root under the key "Type14".

Parameters
type14Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType14().

Referenced by lazybiosExtJSONAddType14().

◆ lazybiosExtJSONAddType15()

void lazybiosExtJSONAddType15 ( const lazybiosType15Array_t * type15,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 15 (System Event Log) structures into a cJSON array and attaches it to root under the key "Type15".

Parameters
type15Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType15().

Referenced by lazybiosExtJSONAddType15().

◆ lazybiosExtJSONAddType16()

void lazybiosExtJSONAddType16 ( const lazybiosType16Array_t * type16,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 16 (Physical Memory Array) structures into a cJSON array and attaches it to root under the key "Type16".

Parameters
type16Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType16().

Referenced by lazybiosExtJSONAddType16().

◆ lazybiosExtJSONAddType17()

void lazybiosExtJSONAddType17 ( const lazybiosType17Array_t * type17,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 17 (Memory Device) structures into a cJSON array and attaches it to root under the key "Type17".

Parameters
type17Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType17().

Referenced by lazybiosExtJSONAddType17().

◆ lazybiosExtJSONAddType18()

void lazybiosExtJSONAddType18 ( const lazybiosType18Array_t * type18,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 18 (32-Bit Memory Error Info) structures into a cJSON array and attaches it to root under the key "Type18".

Parameters
type18Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType18().

Referenced by lazybiosExtJSONAddType18().

◆ lazybiosExtJSONAddType19()

void lazybiosExtJSONAddType19 ( const lazybiosType19Array_t * type19,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 19 (Memory Array Mapped Address) structures into a cJSON array and attaches it to root under the key "Type19".

Parameters
type19Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType19().

Referenced by lazybiosExtJSONAddType19().

◆ lazybiosExtJSONAddType2()

void lazybiosExtJSONAddType2 ( const lazybiosType2Array_t * type2,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 2 (Baseboard Information) structures into a cJSON array and attaches it to root under the key "Type2".

Parameters
type2Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType2().

Referenced by lazybiosExtJSONAddType2().

◆ lazybiosExtJSONAddType20()

void lazybiosExtJSONAddType20 ( const lazybiosType20Array_t * type20,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 20 (Memory Device Mapped Address) structures into a cJSON array and attaches it to root under the key "Type20".

Parameters
type20Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType20().

Referenced by lazybiosExtJSONAddType20().

◆ lazybiosExtJSONAddType21()

void lazybiosExtJSONAddType21 ( const lazybiosType21Array_t * type21,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 21 (Built-in Pointing Device) structures into a cJSON array and attaches it to root under the key "Type21".

Parameters
type21Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType21().

Referenced by lazybiosExtJSONAddType21().

◆ lazybiosExtJSONAddType22()

void lazybiosExtJSONAddType22 ( const lazybiosType22Array_t * type22,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 22 (Portable Battery) structures into a cJSON array and attaches it to root under the key "Type22".

Parameters
type22Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType22().

Referenced by lazybiosExtJSONAddType22().

◆ lazybiosExtJSONAddType23()

void lazybiosExtJSONAddType23 ( const lazybiosType23Array_t * type23,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 23 (System Reset) structures into a cJSON array and attaches it to root under the key "Type23".

Parameters
type23Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType23().

Referenced by lazybiosExtJSONAddType23().

◆ lazybiosExtJSONAddType24()

void lazybiosExtJSONAddType24 ( const lazybiosType24Array_t * type24,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 24 (Hardware Security) structures into a cJSON array and attaches it to root under the key "Type24".

Parameters
type24Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType24().

Referenced by lazybiosExtJSONAddType24().

◆ lazybiosExtJSONAddType25()

void lazybiosExtJSONAddType25 ( const lazybiosType25Array_t * type25,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 25 (System Power Controls) structures into a cJSON array and attaches it to root under the key "Type25".

Parameters
type25Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType25().

Referenced by lazybiosExtJSONAddType25().

◆ lazybiosExtJSONAddType26()

void lazybiosExtJSONAddType26 ( const lazybiosType26Array_t * type26,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 26 (Voltage Probe) structures into a cJSON array and attaches it to root under the key "Type26".

Parameters
type26Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType26().

Referenced by lazybiosExtJSONAddType26().

◆ lazybiosExtJSONAddType27()

void lazybiosExtJSONAddType27 ( const lazybiosType27Array_t * type27,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 27 (Cooling Device) structures into a cJSON array and attaches it to root under the key "Type27".

Parameters
type27Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType27().

Referenced by lazybiosExtJSONAddType27().

◆ lazybiosExtJSONAddType28()

void lazybiosExtJSONAddType28 ( const lazybiosType28Array_t * type28,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 28 (Temperature Probe) structures into a cJSON array and attaches it to root under the key "Type28".

Parameters
type28Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType28().

Referenced by lazybiosExtJSONAddType28().

◆ lazybiosExtJSONAddType29()

void lazybiosExtJSONAddType29 ( const lazybiosType29Array_t * type29,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 29 (Electrical Current Probe) structures into a cJSON array and attaches it to root under the key "Type29".

Parameters
type29Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType29().

Referenced by lazybiosExtJSONAddType29().

◆ lazybiosExtJSONAddType3()

void lazybiosExtJSONAddType3 ( const lazybiosType3Array_t * type3,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 3 (Chassis Information) structures into a cJSON array and attaches it to root under the key "Type3".

Parameters
type3Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType3().

Referenced by lazybiosExtJSONAddType3().

◆ lazybiosExtJSONAddType30()

void lazybiosExtJSONAddType30 ( const lazybiosType30Array_t * type30,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 30 (Out-of-Band Remote Access) structures into a cJSON array and attaches it to root under the key "Type30".

Parameters
type30Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType30().

Referenced by lazybiosExtJSONAddType30().

◆ lazybiosExtJSONAddType31()

void lazybiosExtJSONAddType31 ( const lazybiosType31Array_t * type31,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 31 (Boot Integrity Services) structures into a cJSON array and attaches it to root under the key "Type31".

Parameters
type31Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType31().

Referenced by lazybiosExtJSONAddType31().

◆ lazybiosExtJSONAddType32()

void lazybiosExtJSONAddType32 ( const lazybiosType32Array_t * type32,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 32 (System Boot) structures into a cJSON array and attaches it to root under the key "Type32".

Parameters
type32Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType32().

Referenced by lazybiosExtJSONAddType32().

◆ lazybiosExtJSONAddType33()

void lazybiosExtJSONAddType33 ( const lazybiosType33Array_t * type33,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 33 (64-Bit Memory Error Info) structures into a cJSON array and attaches it to root under the key "Type33".

Parameters
type33Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType33().

Referenced by lazybiosExtJSONAddType33().

◆ lazybiosExtJSONAddType34()

void lazybiosExtJSONAddType34 ( const lazybiosType34Array_t * type34,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 34 (Management Device) structures into a cJSON array and attaches it to root under the key "Type34".

Parameters
type34Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType34().

Referenced by lazybiosExtJSONAddType34().

◆ lazybiosExtJSONAddType35()

void lazybiosExtJSONAddType35 ( const lazybiosType35Array_t * type35,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 35 (Management Device Component) structures into a cJSON array and attaches it to root under the key "Type35".

Parameters
type35Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType35().

Referenced by lazybiosExtJSONAddType35().

◆ lazybiosExtJSONAddType36()

void lazybiosExtJSONAddType36 ( const lazybiosType36Array_t * type36,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 36 (Management Device Threshold Data) structures into a cJSON array and attaches it to root under the key "Type36".

Parameters
type36Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType36().

Referenced by lazybiosExtJSONAddType36().

◆ lazybiosExtJSONAddType37()

void lazybiosExtJSONAddType37 ( const lazybiosType37Array_t * type37,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 37 (Memory Channel) structures into a cJSON array and attaches it to root under the key "Type37".

Parameters
type37Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType37().

Referenced by lazybiosExtJSONAddType37().

◆ lazybiosExtJSONAddType38()

void lazybiosExtJSONAddType38 ( const lazybiosType38Array_t * type38,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 38 (IPMI Device) structures into a cJSON array and attaches it to root under the key "Type38".

Parameters
type38Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType38().

Referenced by lazybiosExtJSONAddType38().

◆ lazybiosExtJSONAddType39()

void lazybiosExtJSONAddType39 ( const lazybiosType39Array_t * type39,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 39 (System Power Supply) structures into a cJSON array and attaches it to root under the key "Type39".

Parameters
type39Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType39().

Referenced by lazybiosExtJSONAddType39().

◆ lazybiosExtJSONAddType4()

void lazybiosExtJSONAddType4 ( const lazybiosType4Array_t * type4,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 4 (Processor Information) structures into a cJSON array and attaches it to root under the key "Type4".

Parameters
type4Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType4().

Referenced by lazybiosExtJSONAddType4().

◆ lazybiosExtJSONAddType40()

void lazybiosExtJSONAddType40 ( const lazybiosType40Array_t * type40,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 40 (Additional Information) structures into a cJSON array and attaches it to root under the key "Type40".

Parameters
type40Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType40().

Referenced by lazybiosExtJSONAddType40().

◆ lazybiosExtJSONAddType41()

void lazybiosExtJSONAddType41 ( const lazybiosType41Array_t * type41,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 41 (Onboard Devices Extended Information) structures into a cJSON array and attaches it to root under the key "Type41".

Parameters
type41Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType41().

Referenced by lazybiosExtJSONAddType41().

◆ lazybiosExtJSONAddType42()

void lazybiosExtJSONAddType42 ( const lazybiosType42Array_t * type42,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 42 (Management Controller Host Interface) structures into a cJSON array and attaches it to root under the key "Type42".

Parameters
type42Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType42().

Referenced by lazybiosExtJSONAddType42().

◆ lazybiosExtJSONAddType43()

void lazybiosExtJSONAddType43 ( const lazybiosType43Array_t * type43,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 43 (TPM Device) structures into a cJSON array and attaches it to root under the key "Type43".

Parameters
type43Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType43().

Referenced by lazybiosExtJSONAddType43().

◆ lazybiosExtJSONAddType44()

void lazybiosExtJSONAddType44 ( const lazybiosType44Array_t * type44,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 44 (Processor Additional Information) structures into a cJSON array and attaches it to root under the key "Type44".

Parameters
type44Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType44().

Referenced by lazybiosExtJSONAddType44().

◆ lazybiosExtJSONAddType45()

void lazybiosExtJSONAddType45 ( const lazybiosType45Array_t * type45,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 45 (Firmware Inventory Information) structures into a cJSON array and attaches it to root under the key "Type45".

Parameters
type45Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType45().

Referenced by lazybiosExtJSONAddType45().

◆ lazybiosExtJSONAddType46()

void lazybiosExtJSONAddType46 ( const lazybiosType46Array_t * type46,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 46 (String Property) structures into a cJSON array and attaches it to root under the key "Type46".

Parameters
type46Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType46().

Referenced by lazybiosExtJSONAddType46().

◆ lazybiosExtJSONAddType5()

void lazybiosExtJSONAddType5 ( const lazybiosType5Array_t * type5,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 5 (Memory Controller Information, obsolete) structures into a cJSON array and attaches it to root under the key "Type5".

Parameters
type5Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType5().

Referenced by lazybiosExtJSONAddType5().

◆ lazybiosExtJSONAddType6()

void lazybiosExtJSONAddType6 ( const lazybiosType6Array_t * type6,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 6 (Memory Module Information, obsolete) structures into a cJSON array and attaches it to root under the key "Type6".

Parameters
type6Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType6().

Referenced by lazybiosExtJSONAddType6().

◆ lazybiosExtJSONAddType7()

void lazybiosExtJSONAddType7 ( const lazybiosType7Array_t * type7,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 7 (Cache Information) structures into a cJSON array and attaches it to root under the key "Type7".

Parameters
type7Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType7().

Referenced by lazybiosExtJSONAddType7().

◆ lazybiosExtJSONAddType8()

void lazybiosExtJSONAddType8 ( const lazybiosType8Array_t * type8,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 8 (Port Connector Information) structures into a cJSON array and attaches it to root under the key "Type8".

Parameters
type8Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType8().

Referenced by lazybiosExtJSONAddType8().

◆ lazybiosExtJSONAddType9()

void lazybiosExtJSONAddType9 ( const lazybiosType9Array_t * type9,
cJSON * root )

#include <lazybios_json.h>

Serialises an array of parsed SMBIOS Type 9 (System Slots Information) structures into a cJSON array and attaches it to root under the key "Type9".

Parameters
type9Parsed set to serialise.
rootcJSON object to attach the resulting array to.

References lazybiosExtJSONAddType9().

Referenced by lazybiosExtJSONAddType9().

◆ lazybiosParseJSONAll()

LAZYBIOS_WARN_UNUSED int lazybiosParseJSONAll ( lazybiosCTX_t * ctx,
cJSON * root )

#include <lazybios_json.h>

Parses every implemented structure type and serializes the lot into root.

Equivalent to calling lazybiosParseAll followed by every lazybiosExtJSONAdd*() function, including smbios_info. Types already parsed in ctx are reused rather than parsed again, so this is safe to call after parsing some types by hand.

The parsed structures stay owned by ctx; the serializers copy what they need, so the resulting tree outlives lazybiosCleanup. Release root with cJSON_Delete().

Parameters
ctxContext holding loaded SMBIOS data.
rootcJSON object to attach the results to.
Returns
0 on success, or -1 if ctx holds no usable table or root is NULL.

References LAZYBIOS_WARN_UNUSED, and lazybiosParseJSONAll().

Referenced by lazybiosParseJSONAll().