lazybios 3.0.0
Lightweight SMBIOS/DMI parsing library
Loading...
Searching...
No Matches
type15.h
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: LGPL-2.1-or-later
3 *
4 * This file is part of lazybios.
5 *
6 * lazybios is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 2.1 of the License, or
9 * (at your option) any later version.
10 *
11 * lazybios is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with lazybios. If not, see <https://www.gnu.org/licenses/>.
18 */
19/**
20 * @file type15.h
21 * @brief Public API for SMBIOS Type 15 System Event Log Information.
22 * @author LazySeldi
23 */
24
25#ifndef LAZYBIOS_TYPE15_H
26#define LAZYBIOS_TYPE15_H
27
28#ifndef LAZYBIOS_SHARED_API_H
29#define LAZYBIOS_TYPE_HEADER_ONLY
30#include "lazybios/lazybios.h"
31#undef LAZYBIOS_TYPE_HEADER_ONLY
32#endif
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38/** @brief Availability metadata for an SMBIOS Type 15 event-log descriptor. */
43
44/**
45 * @brief Decoded forms of the encoded fields in one record.
46 */
51
52/**
53 * @brief Parsed SMBIOS Type 15 supported event-log type descriptor.
54 * @ingroup api_type15
55 */
62
63/** @brief Availability metadata for SMBIOS Type 15 fields. */
77
78/**
79 * @brief Decoded forms of the Type 15 encoded fields.
80 */
81typedef struct {
82 const char* access_method;
83 uint16_t index_address;
84 uint16_t data_address;
85 uint16_t gpnv_handle;
86 const char* log_header_format;
89
90/**
91 * @brief Parsed SMBIOS Type 15 System Event Log Information.
92 * @ingroup api_type15
93 */
111
112/**
113 * @brief A parsed set of SMBIOS Type 15 structures.
114 * @ingroup api_type15
115 */
120
121/** @addtogroup api_type15
122 * @{
123 */
124
125/**
126 * @brief Parses all SMBIOS Type 15 structures.
127 * @param DMIData Raw DMI table container to parse.
128 * @return Newly allocated set, empty when the table holds no Type 15 structure,
129 * or NULL when the arguments are unusable or an allocation fails.
130 */
132
133/**
134 * @brief Releases a parsed set of SMBIOS Type 15 structures.
135 * @param Type15 Set to release; may be NULL.
136 */
138
139/** @} */
140
141#ifdef __cplusplus
142}
143#endif
144
145#endif
LAZYBIOS_WARN_UNUSED lazybiosType15Array_t * lazybiosGetType15(const lazybiosDMI_t *DMIData)
Parses all SMBIOS Type 15 structures.
void lazybiosFreeType15(lazybiosType15Array_t *Type15)
Releases a parsed set of SMBIOS Type 15 structures.
Public API for lazybios. Include this and nothing else.
uint8_t lazybiosFieldStatus_t
Storage for one field's availability.
Definition lazybios.h:115
#define LAZYBIOS_WARN_UNUSED
Expands to nothing on compilers without a return-value check.
Definition lazybios.h:150
Owns raw DMI table data and its parsed SMBIOS entry point.
Definition lazybios.h:218
A parsed set of SMBIOS Type 15 structures.
Definition type15.h:116
lazybiosType15_t * entries
Definition type15.h:117
Decoded forms of the Type 15 encoded fields.
Definition type15.h:81
const char * log_header_format
Definition type15.h:86
uint16_t index_address
Definition type15.h:83
uint16_t data_address
Definition type15.h:84
const char * access_method
Definition type15.h:82
Availability metadata for SMBIOS Type 15 fields.
Definition type15.h:64
lazybiosFieldStatus_t supported_log_type_descriptors
Definition type15.h:75
lazybiosFieldStatus_t log_header_start_offset
Definition type15.h:66
lazybiosFieldStatus_t access_method_address
Definition type15.h:71
lazybiosFieldStatus_t length_of_each_log_type_descriptor
Definition type15.h:74
lazybiosFieldStatus_t number_of_supported_log_type_descriptors
Definition type15.h:73
lazybiosFieldStatus_t log_change_token
Definition type15.h:70
lazybiosFieldStatus_t log_area_length
Definition type15.h:65
lazybiosFieldStatus_t log_data_start_offset
Definition type15.h:67
lazybiosFieldStatus_t log_header_format
Definition type15.h:72
lazybiosFieldStatus_t access_method
Definition type15.h:68
lazybiosFieldStatus_t log_status
Definition type15.h:69
Decoded forms of the encoded fields in one record.
Definition type15.h:47
Availability metadata for an SMBIOS Type 15 event-log descriptor.
Definition type15.h:39
lazybiosFieldStatus_t variable_data_format_type
Definition type15.h:41
Parsed SMBIOS Type 15 supported event-log type descriptor.
Definition type15.h:56
lazybiosType15LogTypeDescriptorDecoded_t decoded
Definition type15.h:60
lazybiosType15LogTypeDescriptorFieldStatus_t field_status
Definition type15.h:59
Parsed SMBIOS Type 15 System Event Log Information.
Definition type15.h:94
uint8_t access_method
Definition type15.h:100
uint32_t access_method_address
Definition type15.h:103
uint32_t log_change_token
Definition type15.h:102
uint16_t log_data_start_offset
Definition type15.h:99
lazybiosType15LogTypeDescriptor_t * supported_log_type_descriptors
Definition type15.h:107
uint8_t log_status
Definition type15.h:101
uint8_t length_of_each_log_type_descriptor
Definition type15.h:106
uint16_t handle
Definition type15.h:95
uint16_t log_area_length
Definition type15.h:97
uint8_t number_of_supported_log_type_descriptors
Definition type15.h:105
lazybiosType15FieldStatus_t field_status
Definition type15.h:109
lazybiosType15Decoded_t decoded
Definition type15.h:108
uint16_t log_header_start_offset
Definition type15.h:98
uint8_t log_header_format
Definition type15.h:104
uint8_t length
Definition type15.h:96