aboutsummaryrefslogtreecommitdiffstats
path: root/gpxe/src/arch/i386/include/smbios.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpxe/src/arch/i386/include/smbios.h')
-rw-r--r--gpxe/src/arch/i386/include/smbios.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/gpxe/src/arch/i386/include/smbios.h b/gpxe/src/arch/i386/include/smbios.h
index 821eda17..f2736dc3 100644
--- a/gpxe/src/arch/i386/include/smbios.h
+++ b/gpxe/src/arch/i386/include/smbios.h
@@ -13,11 +13,21 @@ struct smbios_header {
/** Type */
uint8_t type;
/** Length */
- uint8_t length;
+ uint8_t len;
/** Handle */
uint16_t handle;
} __attribute__ (( packed ));
+/** SMBIOS structure descriptor */
+struct smbios_structure {
+ /** Copy of SMBIOS structure header */
+ struct smbios_header header;
+ /** Offset of structure within SMBIOS */
+ size_t offset;
+ /** Length of strings section */
+ size_t strings_len;
+};
+
/** SMBIOS system information structure */
struct smbios_system_information {
/** SMBIOS structure header */
@@ -39,13 +49,12 @@ struct smbios_system_information {
/** SMBIOS system information structure type */
#define SMBIOS_TYPE_SYSTEM_INFORMATION 1
-struct smbios_strings;
extern int find_smbios_structure ( unsigned int type,
- void *structure, size_t length,
- struct smbios_strings *strings );
-extern int find_smbios_string ( struct smbios_strings *strings,
+ struct smbios_structure *structure );
+extern int read_smbios_structure ( struct smbios_structure *structure,
+ void *data, size_t len );
+extern int read_smbios_string ( struct smbios_structure *structure,
unsigned int index,
- char *buffer, size_t length );
-extern int smbios_get_uuid ( union uuid *uuid );
+ void *data, size_t len );
#endif /* _SMBIOS_H */