iPXE
Data Structures | Macros | Functions | Variables
smbios.h File Reference

System Management BIOS. More...

#include <stdint.h>
#include <ipxe/api.h>
#include <config/general.h>
#include <ipxe/null_smbios.h>
#include <ipxe/efi/efi_smbios.h>
#include <ipxe/linux/linux_smbios.h>
#include <bits/smbios.h>

Go to the source code of this file.

Data Structures

struct  smbios_entry
 SMBIOS 32-bit entry point. More...
 
struct  smbios3_entry
 SMBIOS 64-bit entry point. More...
 
struct  smbios_header
 An SMBIOS structure header. More...
 
struct  smbios_system_information
 SMBIOS system information structure. More...
 
struct  smbios_base_board_information
 SMBIOS base board information structure. More...
 
struct  smbios_enclosure_information
 SMBIOS enclosure information structure. More...
 
struct  smbios
 SMBIOS entry point descriptor. More...
 

Macros

#define PROVIDE_SMBIOS(_subsys, _api_func, _func)   PROVIDE_SINGLE_API ( SMBIOS_PREFIX_ ## _subsys, _api_func, _func )
 Provide an SMBIOS API implementation. More...
 
#define SMBIOS_SIGNATURE   ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '_' << 24 ) )
 Signature for 32-bit SMBIOS entry point. More...
 
#define SMBIOS3_SIGNATURE   ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '3' << 24 ) )
 Signature for 64-bit SMBIOS entry point. More...
 
#define SMBIOS_TYPE_SYSTEM_INFORMATION   1
 SMBIOS system information structure type. More...
 
#define SMBIOS_TYPE_BASE_BOARD_INFORMATION   2
 SMBIOS base board information structure type. More...
 
#define SMBIOS_TYPE_ENCLOSURE_INFORMATION   3
 SMBIOS enclosure information structure type. More...
 
#define SMBIOS_TYPE_OEM_STRINGS   11
 SMBIOS OEM strings structure type. More...
 
#define SMBIOS_TYPE_END   127
 SMBIOS end of table type. More...
 
#define SMBIOS_VERSION(major, minor)   ( ( (major) << 8 ) | (minor) )
 Calculate SMBIOS version. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
struct smbios_entry __attribute__ ((packed))
 
int find_smbios (struct smbios *smbios)
 
const struct smbios_entryfind_smbios_entry (const void *start, size_t len)
 Scan for SMBIOS 32-bit entry point structure. More...
 
const struct smbios3_entryfind_smbios3_entry (const void *start, size_t len)
 Scan for SMBIOS 64-bit entry point structure. More...
 
const struct smbios_headersmbios_structure (unsigned int type, unsigned int instance)
 Find specific structure type within SMBIOS. More...
 
const char * smbios_string (const struct smbios_header *header, unsigned int index)
 Get indexed string within SMBIOS structure. More...
 
int smbios_version (void)
 Get SMBIOS version. More...
 
void smbios_clear (void)
 Clear SMBIOS entry point descriptor. More...
 

Variables

uint32_t signature
 Signature. More...
 
uint8_t checksum
 Checksum. More...
 
uint8_t len
 Length. More...
 
uint8_t major
 Major version. More...
 
uint8_t minor
 Minor version. More...
 
uint16_t max
 Maximum structure size. More...
 
uint8_t revision
 Entry point revision. More...
 
uint8_t formatted [5]
 Formatted area. More...
 
uint8_t dmi_signature [5]
 DMI Signature. More...
 
uint8_t dmi_checksum
 DMI checksum. More...
 
uint16_t smbios_len
 Structure table length. More...
 
uint32_t smbios_address
 Structure table address. More...
 
uint16_t smbios_count
 Number of SMBIOS structures. More...
 
uint8_t bcd_revision
 BCD revision. More...
 
uint8_t extra
 Signature extra byte. More...
 
uint8_t docrev
 Documentation revision. More...
 
uint8_t reserved
 Reserved. More...
 
uint8_t type
 Type. More...
 
uint16_t handle
 Handle. More...
 
struct smbios_header header
 SMBIOS structure header. More...
 
uint8_t manufacturer
 Manufacturer string. More...
 
uint8_t product
 Product string. More...
 
uint8_t version
 Version string. More...
 
uint8_t serial
 Serial number string. More...
 
uint8_t uuid [16]
 UUID. More...
 
uint8_t wakeup
 Wake-up type. More...
 
uint8_t asset_tag
 Asset tag. More...
 
struct smbios __attribute__
 

Detailed Description

System Management BIOS.

Definition in file smbios.h.

Macro Definition Documentation

◆ PROVIDE_SMBIOS

#define PROVIDE_SMBIOS (   _subsys,
  _api_func,
  _func 
)    PROVIDE_SINGLE_API ( SMBIOS_PREFIX_ ## _subsys, _api_func, _func )

Provide an SMBIOS API implementation.

Parameters
_prefixSubsystem prefix
_api_funcAPI function
_funcImplementing function

Definition at line 23 of file smbios.h.

◆ SMBIOS_SIGNATURE

#define SMBIOS_SIGNATURE   ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '_' << 24 ) )

Signature for 32-bit SMBIOS entry point.

Definition at line 35 of file smbios.h.

◆ SMBIOS3_SIGNATURE

#define SMBIOS3_SIGNATURE   ( ( '_' << 0 ) + ( 'S' << 8 ) + ( 'M' << 16 ) + ( '3' << 24 ) )

Signature for 64-bit SMBIOS entry point.

Definition at line 39 of file smbios.h.

◆ SMBIOS_TYPE_SYSTEM_INFORMATION

#define SMBIOS_TYPE_SYSTEM_INFORMATION   1

SMBIOS system information structure type.

Definition at line 147 of file smbios.h.

◆ SMBIOS_TYPE_BASE_BOARD_INFORMATION

#define SMBIOS_TYPE_BASE_BOARD_INFORMATION   2

SMBIOS base board information structure type.

Definition at line 164 of file smbios.h.

◆ SMBIOS_TYPE_ENCLOSURE_INFORMATION

#define SMBIOS_TYPE_ENCLOSURE_INFORMATION   3

SMBIOS enclosure information structure type.

Definition at line 183 of file smbios.h.

◆ SMBIOS_TYPE_OEM_STRINGS

#define SMBIOS_TYPE_OEM_STRINGS   11

SMBIOS OEM strings structure type.

Definition at line 186 of file smbios.h.

◆ SMBIOS_TYPE_END

#define SMBIOS_TYPE_END   127

SMBIOS end of table type.

Definition at line 189 of file smbios.h.

◆ SMBIOS_VERSION

#define SMBIOS_VERSION (   major,
  minor 
)    ( ( (major) << 8 ) | (minor) )

Calculate SMBIOS version.

Parameters
majorMajor version
minorMinor version
Return values
versionSMBIOS version

Definition at line 215 of file smbios.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ __attribute__()

struct smbios_entry __attribute__ ( (packed)  )

◆ find_smbios()

int find_smbios ( struct smbios smbios)

Referenced by smbios_structure(), and smbios_version().

◆ find_smbios_entry()

const struct smbios_entry* find_smbios_entry ( const void *  start,
size_t  len 
)

Scan for SMBIOS 32-bit entry point structure.

Parameters
startStart address of region to scan
lenLength of region to scan
Return values
entrySMBIOS entry point structure, or NULL if not found

Definition at line 69 of file smbios.c.

70  {
71  static size_t offset = 0; /* Avoid repeated attempts to locate SMBIOS */
72  const struct smbios_entry *entry;
73  uint8_t sum;
74 
75  /* Try to find SMBIOS */
76  for ( ; ( offset + sizeof ( *entry ) ) <= len ; offset += 0x10 ) {
77 
78  /* Verify signature */
79  entry = ( start + offset );
80  if ( entry->signature != SMBIOS_SIGNATURE )
81  continue;
82 
83  /* Verify length */
84  if ( ( entry->len < sizeof ( *entry ) ) ||
85  ( ( offset + entry->len ) > len ) ) {
86  DBGC ( &smbios, "SMBIOS at %#08lx has bad length "
87  "%#02x\n", virt_to_phys ( entry ), entry->len );
88  continue;
89  }
90 
91  /* Verify checksum */
92  if ( ( sum = smbios_checksum ( entry, entry->len ) ) != 0 ) {
93  DBGC ( &smbios, "SMBIOS at %#08lx has bad checksum "
94  "%#02x\n", virt_to_phys ( entry ), sum );
95  continue;
96  }
97 
98  /* Fill result structure */
99  DBGC ( &smbios, "Found SMBIOS v%d.%d entry point at %#08lx\n",
100  entry->major, entry->minor, virt_to_phys ( entry ) );
101  return entry;
102  }
103 
104  DBGC ( &smbios, "No SMBIOS found\n" );
105  return NULL;
106 }
uint32_t signature
Signature.
Definition: smbios.h:54
#define SMBIOS_SIGNATURE
Signature for 32-bit SMBIOS entry point.
Definition: smbios.h:35
#define DBGC(...)
Definition: compiler.h:505
SMBIOS entry point descriptor.
Definition: smbios.h:197
uint32_t start
Starting offset.
Definition: netvsc.h:12
ring len
Length.
Definition: dwmac.h:231
SMBIOS 32-bit entry point.
Definition: smbios.h:49
unsigned char uint8_t
Definition: stdint.h:10
uint8_t minor
Minor version.
Definition: smbios.h:62
uint8_t len
Length.
Definition: smbios.h:58
static uint8_t smbios_checksum(const void *start, size_t len)
Calculate SMBIOS entry point structure checksum.
Definition: smbios.c:51
uint16_t offset
Offset to command line.
Definition: bzimage.h:8
uint8_t major
Major version.
Definition: smbios.h:60
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References DBGC, smbios_entry::len, len, smbios_entry::major, smbios_entry::minor, NULL, offset, smbios_entry::signature, smbios_checksum(), SMBIOS_SIGNATURE, and start.

Referenced by bios_find_smbios2().

◆ find_smbios3_entry()

const struct smbios3_entry* find_smbios3_entry ( const void *  start,
size_t  len 
)

Scan for SMBIOS 64-bit entry point structure.

Parameters
startStart address of region to scan
lenLength of region to scan
Return values
entrySMBIOS entry point structure, or NULL if not found

Definition at line 115 of file smbios.c.

116  {
117  static size_t offset = 0; /* Avoid repeated attempts to locate SMBIOS */
118  const struct smbios3_entry *entry;
119  uint8_t sum;
120 
121  /* Try to find SMBIOS */
122  for ( ; ( offset + sizeof ( *entry ) ) <= len ; offset += 0x10 ) {
123 
124  /* Verify signature */
125  entry = ( start + offset );
126  if ( entry->signature != SMBIOS3_SIGNATURE )
127  continue;
128 
129  /* Verify length */
130  if ( ( entry->len < sizeof ( *entry ) ) ||
131  ( ( offset + entry->len ) > len ) ) {
132  DBGC ( &smbios, "SMBIOS at %#08lx has bad length "
133  "%#02x\n", virt_to_phys ( entry ), entry->len );
134  continue;
135  }
136 
137  /* Verify checksum */
138  if ( ( sum = smbios_checksum ( entry, entry->len ) ) != 0 ) {
139  DBGC ( &smbios, "SMBIOS3 at %#08lx has bad checksum "
140  "%#02x\n", virt_to_phys ( entry ), sum );
141  continue;
142  }
143 
144  /* Fill result structure */
145  DBGC ( &smbios, "Found SMBIOS3 v%d.%d entry point at %#08lx\n",
146  entry->major, entry->minor, virt_to_phys ( entry ) );
147  return entry;
148  }
149 
150  DBGC ( &smbios, "No SMBIOS3 found\n" );
151  return NULL;
152 }
#define DBGC(...)
Definition: compiler.h:505
SMBIOS entry point descriptor.
Definition: smbios.h:197
#define SMBIOS3_SIGNATURE
Signature for 64-bit SMBIOS entry point.
Definition: smbios.h:39
uint32_t start
Starting offset.
Definition: netvsc.h:12
uint8_t len
Length.
Definition: smbios.h:101
uint32_t signature
Signature.
Definition: smbios.h:95
ring len
Length.
Definition: dwmac.h:231
unsigned char uint8_t
Definition: stdint.h:10
uint8_t minor
Minor version.
Definition: smbios.h:105
static uint8_t smbios_checksum(const void *start, size_t len)
Calculate SMBIOS entry point structure checksum.
Definition: smbios.c:51
uint16_t offset
Offset to command line.
Definition: bzimage.h:8
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321
uint8_t major
Major version.
Definition: smbios.h:103
SMBIOS 64-bit entry point.
Definition: smbios.h:90

References DBGC, smbios3_entry::len, len, smbios3_entry::major, smbios3_entry::minor, NULL, offset, smbios3_entry::signature, SMBIOS3_SIGNATURE, smbios_checksum(), and start.

Referenced by bios_find_smbios3().

◆ smbios_structure()

const struct smbios_header* smbios_structure ( unsigned int  type,
unsigned int  instance 
)

Find specific structure type within SMBIOS.

Parameters
typeStructure type to search for
instanceInstance of this type of structure
Return values
structureSMBIOS structure header, or NULL if not found

Definition at line 182 of file smbios.c.

183  {
184  const struct smbios_header *structure;
185  unsigned int count = 0;
186  size_t offset = 0;
187  size_t strings_offset;
188  size_t terminator_offset;
189  size_t strings_len;
190  int rc;
191 
192  /* Find SMBIOS */
193  if ( ( smbios.address == NULL ) &&
194  ( ( rc = find_smbios ( &smbios ) ) != 0 ) )
195  return NULL;
196  assert ( smbios.address != NULL );
197 
198  /* Scan through list of structures */
199  while ( ( ( offset + sizeof ( *structure ) ) < smbios.len ) &&
200  ( ( smbios.count == 0 ) || ( count < smbios.count ) ) ) {
201 
202  /* Access next SMBIOS structure header */
203  structure = ( smbios.address + offset );
204 
205  /* Determine start and extent of strings block */
206  strings_offset = ( offset + structure->len );
207  if ( strings_offset > smbios.len ) {
208  DBGC ( &smbios, "SMBIOS structure at offset %#zx "
209  "with length %#x extends beyond SMBIOS\n",
210  offset, structure->len );
211  return NULL;
212  }
213  terminator_offset = find_strings_terminator ( strings_offset );
214  if ( ! terminator_offset ) {
215  DBGC ( &smbios, "SMBIOS structure at offset %#zx has "
216  "unterminated strings section\n", offset );
217  return NULL;
218  }
219  strings_len = ( terminator_offset - strings_offset);
220  DBGC ( &smbios, "SMBIOS structure at offset %#zx has type %d, "
221  "length %#x, strings length %#zx\n", offset,
222  structure->type, structure->len, strings_len );
223 
224  /* Stop if we have reached an end-of-table marker */
225  if ( ( smbios.count == 0 ) &&
226  ( structure->type == SMBIOS_TYPE_END ) )
227  break;
228 
229  /* If this is the structure we want, return */
230  if ( ( structure->type == type ) &&
231  ( instance-- == 0 ) ) {
232  return structure;
233  }
234 
235  /* Move to next SMBIOS structure */
236  offset = ( terminator_offset + 1 );
237  count++;
238  }
239 
240  DBGC ( &smbios, "SMBIOS structure type %d not found\n", type );
241  return NULL;
242 }
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
unsigned int count
Number of SMBIOS structures.
Definition: smbios.h:203
#define SMBIOS_TYPE_END
SMBIOS end of table type.
Definition: smbios.h:189
uint32_t type
Operating system type.
Definition: ena.h:12
#define DBGC(...)
Definition: compiler.h:505
size_t len
Length of SMBIOS structures.
Definition: smbios.h:201
SMBIOS entry point descriptor.
Definition: smbios.h:197
int find_smbios(struct smbios *smbios)
uint8_t len
Length.
Definition: smbios.h:123
assert((readw(&hdr->flags) &(GTF_reading|GTF_writing))==0)
static unsigned int count
Number of entries.
Definition: dwmac.h:225
const void * address
Start of SMBIOS structures.
Definition: smbios.h:199
An SMBIOS structure header.
Definition: smbios.h:119
uint8_t type
Type.
Definition: smbios.h:121
uint16_t offset
Offset to command line.
Definition: bzimage.h:8
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321
static size_t find_strings_terminator(size_t offset)
Find SMBIOS strings terminator.
Definition: smbios.c:160

References smbios::address, assert(), smbios::count, count, DBGC, find_smbios(), find_strings_terminator(), smbios_header::len, smbios::len, NULL, offset, rc, SMBIOS_TYPE_END, type, and smbios_header::type.

Referenced by smbios_fetch(), and smsc95xx_vm3_fetch_mac().

◆ smbios_string()

const char* smbios_string ( const struct smbios_header structure,
unsigned int  index 
)

Get indexed string within SMBIOS structure.

Parameters
structureSMBIOS structure header
indexString index
Return values
stringSMBIOS string, or NULL if not fond

Definition at line 251 of file smbios.c.

252  {
253  const char *string;
254  unsigned int i;
255  size_t len;
256 
257  /* Sanity check */
258  assert ( smbios.address != NULL );
259 
260  /* Step through strings */
261  string = ( ( ( const void * ) structure ) + structure->len );
262  for ( i = index ; i-- ; ) {
263  /* Get string length. This is known safe, since we
264  * check for the empty-string terminator in
265  * smbios_structure().
266  */
267  len = strlen ( string );
268  if ( ! len )
269  break;
270  if ( i == 0 )
271  return string;
272  string += ( len + 1 /* NUL */ );
273  }
274 
275  DBGC ( &smbios, "SMBIOS string index %d not found\n", index );
276  return NULL;
277 }
#define DBGC(...)
Definition: compiler.h:505
long index
Definition: bigint.h:62
uint32_t string
Definition: multiboot.h:14
SMBIOS entry point descriptor.
Definition: smbios.h:197
uint8_t len
Length.
Definition: smbios.h:123
assert((readw(&hdr->flags) &(GTF_reading|GTF_writing))==0)
ring len
Length.
Definition: dwmac.h:231
const void * address
Start of SMBIOS structures.
Definition: smbios.h:199
size_t strlen(const char *src)
Get length of string.
Definition: string.c:243
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References smbios::address, assert(), DBGC, index, smbios_header::len, len, NULL, string, and strlen().

Referenced by smbios_fetch(), and smsc95xx_vm3_fetch_mac().

◆ smbios_version()

int smbios_version ( void  )

Get SMBIOS version.

Return values
versionVersion, or negative error

Definition at line 284 of file smbios.c.

284  {
285  int rc;
286 
287  /* Find SMBIOS */
288  if ( ( smbios.address == NULL ) &&
289  ( ( rc = find_smbios ( &smbios ) ) != 0 ) )
290  return rc;
291  assert ( smbios.address != NULL );
292 
293  return smbios.version;
294 }
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
SMBIOS entry point descriptor.
Definition: smbios.h:197
int find_smbios(struct smbios *smbios)
uint16_t version
SMBIOS version.
Definition: smbios.h:205
assert((readw(&hdr->flags) &(GTF_reading|GTF_writing))==0)
const void * address
Start of SMBIOS structures.
Definition: smbios.h:199
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References smbios::address, assert(), find_smbios(), NULL, rc, and smbios::version.

Referenced by smbios_fetch().

◆ smbios_clear()

void smbios_clear ( void  )

Clear SMBIOS entry point descriptor.

Definition at line 300 of file smbios.c.

300  {
301 
302  /* Clear address */
303  smbios.address = NULL;
304 }
SMBIOS entry point descriptor.
Definition: smbios.h:197
const void * address
Start of SMBIOS structures.
Definition: smbios.h:199
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References smbios::address, and NULL.

Variable Documentation

◆ signature

uint32_t signature

Signature.

Must be equal to SMBIOS_SIGNATURE

Must be equal to SMBIOS3_SIGNATURE

Definition at line 15 of file smbios.h.

◆ checksum

uint8_t checksum

Checksum.

Definition at line 17 of file smbios.h.

◆ len

uint8_t len

Length.

Definition at line 19 of file smbios.h.

◆ major

uint8_t major

Major version.

Definition at line 21 of file smbios.h.

◆ minor

uint8_t minor

Minor version.

Definition at line 23 of file smbios.h.

◆ max

uint16_t max

Maximum structure size.

Definition at line 25 of file smbios.h.

◆ revision

uint8_t revision

Entry point revision.

Definition at line 27 of file smbios.h.

◆ formatted

uint8_t formatted[5]

Formatted area.

Definition at line 29 of file smbios.h.

Referenced by uri_churi_okx(), and uri_resolve_okx().

◆ dmi_signature

uint8_t dmi_signature[5]

DMI Signature.

Definition at line 31 of file smbios.h.

◆ dmi_checksum

uint8_t dmi_checksum

DMI checksum.

Definition at line 33 of file smbios.h.

◆ smbios_len

uint32_t smbios_len

Structure table length.

Definition at line 35 of file smbios.h.

◆ smbios_address

uint64_t smbios_address

Structure table address.

Definition at line 37 of file smbios.h.

◆ smbios_count

uint16_t smbios_count

Number of SMBIOS structures.

Definition at line 39 of file smbios.h.

◆ bcd_revision

uint8_t bcd_revision

BCD revision.

Definition at line 41 of file smbios.h.

◆ extra

uint8_t extra

Signature extra byte.

Definition at line 17 of file smbios.h.

Referenced by asn1_grow(), deflate_inflate(), and gzip_extract().

◆ docrev

uint8_t docrev

Documentation revision.

Definition at line 27 of file smbios.h.

◆ reserved

uint8_t reserved

Reserved.

Definition at line 31 of file smbios.h.

◆ type

uint8_t type

Type.

Type string.

Definition at line 12 of file smbios.h.

◆ handle

uint16_t handle

Handle.

Definition at line 16 of file smbios.h.

Referenced by chained_locate(), dbg_efi_opener(), dbg_efi_openers(), dbg_efi_protocol(), dbg_efi_protocols(), efi_autoexec_filesystem(), efi_autoexec_load(), efi_autoexec_network(), efi_block_boot(), efi_block_connect(), efi_block_filename(), efi_block_local(), efi_block_match(), efi_block_root(), efi_block_scan(), efi_close_by_child(), efi_close_by_driver(), efi_close_protocol_wrapper(), efi_close_unsafe(), efi_download_install(), efi_download_uninstall(), efi_dump_image(), efi_file_install(), efi_file_path_claim(), efi_file_uninstall(), efi_handle_name(), efi_handle_protocol_wrapper(), efi_image_exec(), efi_image_probe(), efi_init_stack_guard(), efi_install_multiple_protocol_interfaces_wrapper(), efi_install_protocol_interface_wrapper(), efi_open_by_child_untyped(), efi_open_by_driver_untyped(), efi_open_protocol_information_wrapper(), efi_open_protocol_wrapper(), efi_open_unsafe_untyped(), efi_open_untyped(), efi_protocols_per_handle_wrapper(), efi_pxe_find(), efi_pxe_install(), efi_pxe_uninstall(), efi_reinstall_protocol_interface_wrapper(), efi_service_add(), efi_service_del(), efi_shim_inhibit_pxe(), efi_shim_install(), efi_stack_cookie(), efi_uninstall_multiple_protocol_interfaces_wrapper(), efi_uninstall_protocol_interface_wrapper(), efi_veto_close(), efi_veto_close_handle(), efi_veto_close_protocol(), efi_veto_disconnect(), efi_wrap_image(), efipci_discover(), efipci_discover_any(), efipci_discover_one(), efipci_ioremap(), efipci_read(), efipci_root_open(), efipci_write(), find_snpdev(), mnptemp_create(), phantom_poll(), phantom_post_rds(), phantom_refill_rx_ring(), usbio_bulk_in_poll(), usbio_bulk_out_poll(), usbio_config(), usbio_control_poll(), usbio_endpoint_open(), usbio_interface(), usbio_interfaces(), usbio_interrupt_callback(), usbio_interrupt_open(), usbio_open(), usbio_path(), usbio_start(), usbio_stop(), and usbio_supported().

◆ header

struct smbios_header header

SMBIOS structure header.

Definition at line 12 of file smbios.h.

◆ manufacturer

uint8_t manufacturer

◆ product

uint8_t product

◆ version

uint8_t version

Version string.

Definition at line 18 of file smbios.h.

◆ serial

uint8_t serial

Serial number string.

Definition at line 20 of file smbios.h.

◆ uuid

UUID.

Definition at line 22 of file smbios.h.

Referenced by format_uuid_setting(), parse_uuid_setting(), peerdisc_create(), and smbios_fetch().

◆ wakeup

uint8_t wakeup

Wake-up type.

Definition at line 24 of file smbios.h.

◆ asset_tag

uint8_t asset_tag

Asset tag.

Definition at line 22 of file smbios.h.

◆ __attribute__