int handle
handle, unique 16 bit number
Definition: hd.h:556
sm_num2str_t * num2str
Definition: smbios.c:31
char * date
date mm/dd/yyyy (old: yy)
Definition: hd.h:570
unsigned len
Definition: smbios.c:28
#define SMBIOS_DEF_MAP(a)
Definition: smbios.c:54
@ sm_group
Definition: hd.h:539
static char * smbios_proc_cpu_status_[8]
Definition: smbios.c:172
@ sm_chassis
Definition: hd.h:536
int error_handle
points to error info record; 0xfffe: not supported, 0xffff: no error
Definition: hd.h:826
char * x_des
external reference designator
Definition: hd.h:704
hd_id_t admin
admin password status
Definition: hd.h:913
smbios_processor_t processor
Definition: hd.h:960
char * product
product name
Definition: hd.h:586
@ sm_cache
Definition: hd.h:537
static char * smbios_cache_ecc_[]
Definition: smbios.c:245
static char * smbios_board_feature_[]
Definition: smbios.c:120
@ sm_mem64error
Definition: hd.h:544
static char * smbios_chassis_states_[]
Definition: smbios.c:148
unsigned set
0: does not belong to a set; 1-0xfe: set number; 0xff: unknown
Definition: hd.h:831
unsigned max_speed
MHz.
Definition: hd.h:658
char ** str
Definition: smbios.c:30
static char * get_string(str_list_t *sl, int index)
Definition: smbios.c:540
char * manuf
manufacturer
Definition: hd.h:624
char * version
version
Definition: hd.h:587
hd_id_t err_type
error type memory
Definition: hd.h:846
hd_id_t bootup
bootup state
Definition: hd.h:630
hd_id_t interface
interface type
Definition: hd.h:898
char * asset
asset tag
Definition: hd.h:651
hd_id_t x_type
external connector type
Definition: hd.h:705
static sm_num2str_t smbios_mouse_interface_[]
Definition: smbios.c:461
unsigned buttons
number of buttons
Definition: hd.h:899
smbios_any_t any
Definition: hd.h:955
unsigned device_addr
fault address rel to mem device; 0x80000000: unknown
Definition: hd.h:851
sm_map_type
Definition: smbios.c:22
unsigned sock_status
socket status (1: populated, 0: empty
Definition: hd.h:660
static char * smbios_cache_mode_[]
Definition: smbios.c:233
unsigned num
Definition: smbios.c:24
unsigned oem
OEM-specific information.
Definition: hd.h:634
static char * smbios_cache_type_[]
Definition: smbios.c:253
char * asset
asset tag
Definition: hd.h:606
hd_smbios_t * smbios_add_entry(hd_smbios_t **sm, hd_smbios_t *new_sm)
Definition: smbios.c:1108
unsigned second
dto, second
Definition: hd.h:930
int * item_handles
array of item handles
Definition: hd.h:790
Holds ID + name pairs.
Definition: hd.h:400
unsigned syndrome
vendor-specific ECC syndrome; 0: unknown
Definition: hd.h:945
hd_id_t security
security state (at last boot)
Definition: hd.h:633
static char * smbios_onboard_type_[]
Definition: smbios.c:419
unsigned current_speed
MHz.
Definition: hd.h:659
unsigned part_width
number of memory devices
Definition: hd.h:867
str_list_t * str
interpreted bitmask
Definition: hd.h:423
hd_id_t location
cache location
Definition: hd.h:682
char * new_str(const char *s)
Definition: hd.c:1594
unsigned max_size
max cache size in kbytes
Definition: hd.h:677
hd_smbios_t * smbios_free(hd_smbios_t *sm)
Definition: smbios.c:1119
unsigned voltage
in 0.1 V
Definition: hd.h:656
smbios_oem_t oem
Definition: hd.h:965
unsigned day
dto, day
Definition: hd.h:927
static char * smbios_decode_uuid(uuid_t uuid)
Definition: smbios.c:1683
uint64_t end_addr
end address
Definition: hd.h:882
static char * smbios_slot_feature_[]
Definition: smbios.c:411
struct s_str_list_t * next
Link to next member.
Definition: hd.h:411
int objects_len
number of contained objects
Definition: hd.h:611
smbios_mem64error_t mem64error
Definition: hd.h:977
char * part
part number
Definition: hd.h:652
smbios_memdevice_t memdevice
Definition: hd.h:970
hd_id_t family
processor family
Definition: hd.h:654
union u_hd_smbios_t * next
Definition: hd.h:954
uint64_t array_addr
fault address rel.
Definition: hd.h:946
static sm_num2str_t smbios_bios_feature_[]
Definition: smbios.c:69
static sm_num2str_t smbios_slot_type_[]
Definition: smbios.c:360
#define SMBIOS_PRINT_ID(a, b)
Definition: smbios.c:49
static char * smbios_memarray_use_[]
Definition: smbios.c:446
@ sm_slot
Definition: hd.h:538
@ sm_map_num2str
Definition: smbios.c:22
enum sm_map_type type
Definition: smbios.c:27
unsigned range
range, within which the error can be determined; 0x80000000: unknown
Definition: hd.h:852
smbios_memdevicemap_t memdevicemap
Definition: hd.h:973
smbios_memarray_t memarray
Definition: hd.h:969
hd_smbios_type_t type
BIOS info type.
Definition: hd.h:552
Bitmap data type.
Definition: hd.h:419
unsigned not_empty
at least 1 bit is set
Definition: hd.h:422
void smbios_parse(hd_data_t *hd_data)
Definition: smbios.c:661
char * part
part number
Definition: hd.h:824
char * version
version
Definition: hd.h:625
hd_id_t bus_width
data bus width
Definition: hd.h:719
static void smbios_id2str(hd_id_t *hid, sm_str_map_t *map, unsigned def)
Definition: smbios.c:601
#define SMBIOS_PRINT_BITMAP_LONG(a, b)
Definition: smbios.c:52
char * str
Definition: smbios.c:24
static char * smbios_memerror_type_[]
Definition: smbios.c:506
union sm_str_map_t::@20 list
@ sm_memdevicemap
Definition: hd.h:541
uint64_t cpu_id
processor id
Definition: hd.h:655
unsigned bits
real bitmap length in bits
Definition: hd.h:421
struct smbios_onboard_t::@1 * dev
device list
hd_id_t keyboard
keyboard password status
Definition: hd.h:912
#define smbios_memarray_ecc
Definition: smbios.c:250
smbios_chassis_t chassis
Definition: hd.h:959
unsigned month
next scheduled power-on month
Definition: hd.h:926
static sm_num2str_t smbios_connect_conn_type_[]
Definition: smbios.c:275
@ sm_connect
Definition: hd.h:538
hd_id_t assoc
cache associativity
Definition: hd.h:687
int data_len
formatted section length
Definition: hd.h:553
hd_id_t i_type
internal connector type
Definition: hd.h:703
smbios_lang_t lang
Definition: hd.h:967
unsigned id
slot id
Definition: hd.h:722
static void smbios_id_print(FILE *f, hd_id_t *hid, char *label)
Definition: smbios.c:583
str_list_t * options
system config options
Definition: hd.h:764
static char * smbios_proc_upgrades_[]
Definition: smbios.c:162
unsigned syndrome
vendor-specific ECC syndrome; 0: unknown
Definition: hd.h:849
char * product
product name
Definition: hd.h:603
str_list_t * free_str_list(str_list_t *list)
Free the memory allocated by a string list.
Definition: hd.c:2510
smbios_slot_t slot
Definition: hd.h:963
smbios_sysinfo_t sysinfo
Definition: hd.h:957
static char * smbios_proc_types_[]
Definition: smbios.c:179
char * location
location in chassis
Definition: hd.h:609
char * asset
asset tag
Definition: hd.h:823
#define SMBIOS_PRINT_STR(a, b)
Definition: smbios.c:50
@ sm_memerror
Definition: hd.h:540
unsigned slots
slots or sockets for this device
Definition: hd.h:807
char * current
current language
Definition: hd.h:776
int error_handle
points to error info record; 0xfffe: not supported, 0xffff: no error
Definition: hd.h:806
hd_id_t ecc
ECC types.
Definition: hd.h:804
static char * smbios_memdevice_detail_[]
Definition: smbios.c:497
hd_id_t mtype
mouse type
Definition: hd.h:897
unsigned eccbits
ecc bits
Definition: hd.h:828
static sm_num2str_t smbios_memarray_location_[]
Definition: smbios.c:426
uint64_t device_addr
fault address rel to mem device; 0x80000000: unknown
Definition: hd.h:947
unsigned dev_len
device list length
Definition: hd.h:735
unsigned ext_clock
MHz.
Definition: hd.h:657
char * bank
bank location
Definition: hd.h:820
hd_id_t upgrade
socket type
Definition: hd.h:647
int chassis
handle of chassis
Definition: hd.h:610
uint64_t end_addr
end address
Definition: hd.h:866
int l3_cache
handle of L3 cache
Definition: hd.h:664
hd_id_t thermal
thermal state (at last boot)
Definition: hd.h:632
static char * smbios_memdevice_form_[]
Definition: smbios.c:478
String list type.
Definition: hd.h:410
str_list_t * oem_strings
OEM strings.
Definition: hd.h:752
hd_bitmap_t feature
slot characteristics
Definition: hd.h:723
#define READ_MEM16(ptr)
Definition: smbios.c:62
void smbios_dump(hd_data_t *hd_data, FILE *f)
Definition: smbios.c:1292
int * objects
array of object handles
Definition: hd.h:612
hd_id_t operation
mem operation causing the error
Definition: hd.h:944
@ sm_inactive
Definition: hd.h:545
uint64_t start_addr
memory range start address
Definition: hd.h:865
@ sm_sysinfo
Definition: hd.h:536
static void smbios_bitmap_print(FILE *f, hd_bitmap_t *hbm, char *label, int style)
Definition: smbios.c:556
char * serial
serial number
Definition: hd.h:822
int l1_cache
handle of L1 cache
Definition: hd.h:662
unsigned level
cache level (0 = L1, 1 = L2, ...)
Definition: hd.h:684
smbios_memarraymap_t memarraymap
Definition: hd.h:972
static char * smbios_slot_bus_width_[]
Definition: smbios.c:390
@ sm_oem
Definition: hd.h:538
smbios_biosinfo_t biosinfo
Definition: hd.h:956
hd_id_t usage
current usage
Definition: hd.h:720
int memdevice_handle
memory device handle
Definition: hd.h:879
unsigned char * data
formatted section
Definition: hd.h:554
smbios_boardinfo_t boardinfo
Definition: hd.h:958
unsigned state
0/1: disabled/enabled
Definition: hd.h:681
hd_id_t operation
mem operation causing the error
Definition: hd.h:848
hd_bitmap_t feature
board features
Definition: hd.h:608
char * manuf
manufacturer
Definition: hd.h:821
smbios_cache_t cache
Definition: hd.h:961
hd_bitmap_t feature
BIOS characteristics.
Definition: hd.h:571
char * manuf
manufacturer
Definition: hd.h:602
unsigned speed
cache speed in nanoseconds
Definition: hd.h:679
smbios_connect_t connect
Definition: hd.h:962
str_list_t * strings
strings taken from the unformed section
Definition: hd.h:555
str_list_t * strings
list of languages
Definition: hd.h:774
hd_id_t length
slot length
Definition: hd.h:721
SMBIOS list item.
Definition: hd.h:953
@ sm_mouse
Definition: hd.h:541
#define READ_MEM32(ptr)
Definition: smbios.c:63
hd_id_t power
power supply state (at last boot)
Definition: hd.h:631
hd_id_t slot_type
slot type
Definition: hd.h:718
char * socket
socket designation
Definition: hd.h:676
char * manuf
manufacturer
Definition: hd.h:585
hd_id_t ecc
error correction type
Definition: hd.h:685
hd_smbios_type_t type
Definition: hd.h:730
unsigned id
Numeric id.
Definition: hd.h:401
unsigned current_size
current size in kbytes
Definition: hd.h:678
@ sm_boardinfo
Definition: hd.h:536
hd_id_t cache_type
logical cache type
Definition: hd.h:686
static void smbios_bitmap2str(hd_bitmap_t *hbm, sm_str_map_t *map)
Definition: smbios.c:626
@ sm_lang
Definition: hd.h:539
hd_id_t port_type
port type
Definition: hd.h:701
hd_id_t use
memory usage
Definition: hd.h:803
@ sm_secure
Definition: hd.h:542
hd_bitmap_t supp_sram
supported SRAM types
Definition: hd.h:688
static char * smbios_slot_usage_[]
Definition: smbios.c:397
hd_id_t form
form factor
Definition: hd.h:830
hd_id_t err_type
error type memory
Definition: hd.h:942
char * version
version
Definition: hd.h:604
char * desig
slot designation
Definition: hd.h:717
hd_id_t granularity
memory array or memory partition
Definition: hd.h:847
int arraymap_handle
memory array mapping handle
Definition: hd.h:880
void hexdump(char **buf, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2457
int l2_cache
handle of L2 cache
Definition: hd.h:663
unsigned minute
dto, minute
Definition: hd.h:929
unsigned speed
in MHz
Definition: hd.h:834
char * serial
serial number
Definition: hd.h:626
#define SMBIOS_PRINT_BITMAP_SHORT(a, b)
Definition: smbios.c:51
@ sm_biosinfo
Definition: hd.h:536
hd_id_t mem_type
memory type
Definition: hd.h:832
unsigned size
kB
Definition: hd.h:829
char * name
Name (if any) that corresponds to hd_id_t::id.
Definition: hd.h:402
static char * smbios_chassis_types_[]
Definition: smbios.c:136
unsigned hour
dto, hour
Definition: hd.h:928
smbios_memerror_t memerror
Definition: hd.h:971
static char * smbios_board_types_[]
Definition: smbios.c:127
hd_id_t wake_up
wake-up type
Definition: hd.h:590
static char * smbios_secure_state_[]
Definition: smbios.c:529
smbios_config_t config
Definition: hd.h:966
smbios_secure_t secure
Definition: hd.h:975
int array_handle
memory array this mapping belongs to
Definition: hd.h:864
static sm_num2str_t smbios_proc_families_[]
Definition: smbios.c:186
hd_id_t power
power-on password status
Definition: hd.h:911
hd_bitmap_t type_detail
memory type details
Definition: hd.h:833
static char * smbios_memerror_granularity_[]
Definition: smbios.c:515
smbios_power_t power
Definition: hd.h:976
static char * smbios_memerror_operation_[]
Definition: smbios.c:522
@ sm_map_str
Definition: smbios.c:22
unsigned rom_size
ROM size (in bytes)
Definition: hd.h:573
char * manuf
manufacturer
Definition: hd.h:648
unsigned char bitmap[16]
large enough for all uses
Definition: hd.h:420
@ sm_onboard
Definition: hd.h:538
char * name
device name
Definition: hd.h:737
int items_len
number of items in this group
Definition: hd.h:789
char * serial
serial number
Definition: hd.h:605
unsigned width
data width in bits
Definition: hd.h:827
static hd_data_t * hd_data
Definition: pppoe.c:29
hd_smbios_t * smbios
(Internal) smbios data
Definition: hd.h:2722
unsigned char uuid[16]
universal unique id; all 0x00: undef, all 0xff: undef but settable
Definition: hd.h:589
unsigned lock
1: lock present, 0: not present or unknown
Definition: hd.h:629
char * location
device location
Definition: hd.h:819
char * vendor
vendor name
Definition: hd.h:568
char * asset
asset tag
Definition: hd.h:627
hd_id_t reset
front panel reset status
Definition: hd.h:914
static char * smbios_cache_assoc_[]
Definition: smbios.c:260
unsigned interleave_depth
number of consecutive rows
Definition: hd.h:885
static char * smbios_mouse_type_[]
Definition: smbios.c:453
static char * smbios_cache_sram_[]
Definition: smbios.c:268
hd_id_t ch_type
chassis type
Definition: hd.h:628
hd_bitmap_t sram
current SRAM type
Definition: hd.h:689
unsigned socketed
0/1: not socketed/socketed
Definition: hd.h:683
hd_id_t mode
operational mode
Definition: hd.h:680
unsigned start
start address
Definition: hd.h:572
char * version
version (free form)
Definition: hd.h:569
str_list_t * add_str_list(str_list_t **sl, char *str)
Add a string to a string list.
Definition: hd.c:2496
hd_id_t pr_type
processor type
Definition: hd.h:653
@ sm_memarraymap
Definition: hd.h:540
@ sm_end
Definition: hd.h:545
static char * smbios_memdevice_type_[]
Definition: smbios.c:487
unsigned range
range, within which the error can be determined; 0x80000000: unknown
Definition: hd.h:948
static sm_num2str_t smbios_connect_port_type_[]
Definition: smbios.c:320
uint64_t start_addr
memory range start address
Definition: hd.h:881
hd_id_t granularity
memory array or memory partition
Definition: hd.h:943
unsigned array_addr
fault address rel.
Definition: hd.h:850
unsigned row_pos
position of the referenced memory device in a row of the address partition
Definition: hd.h:883
smbios_onboard_t onboard
Definition: hd.h:964
@ sm_config
Definition: hd.h:539
static char * smbios_chassis_sec_states_[]
Definition: smbios.c:155
@ sm_memarray
Definition: hd.h:540
int array_handle
memory array this device belongs to
Definition: hd.h:825
char * name
group name
Definition: hd.h:788
hd_id_t board_type
board type
Definition: hd.h:607
char * serial
serial number
Definition: hd.h:650
@ sm_power
Definition: hd.h:542
char * i_des
internal reference designator
Definition: hd.h:702
static char * smbios_system_wakeups_[]
Definition: smbios.c:112
smbios_group_t group
Definition: hd.h:968
char * serial
serial number
Definition: hd.h:588
Holds all data accumulated during hardware probing.
Definition: hd.h:2609
char * version
version
Definition: hd.h:649
void * new_mem(size_t size)
Definition: hd.c:1552
smbios_mouse_t mouse
Definition: hd.h:974
static void smbios_str_print(FILE *f, char *str, char *label)
Definition: smbios.c:592
unsigned status
0: disabled, 1: enabled
Definition: hd.h:739
char * socket
socket
Definition: hd.h:646
static char * smbios_cache_location_[]
Definition: smbios.c:239
hd_id_t cpu_status
cpu status
Definition: hd.h:661
unsigned max_size
maximum memory size in kB
Definition: hd.h:805
hd_id_t location
memory device location
Definition: hd.h:802
static char * smbios_slot_length_[]
Definition: smbios.c:404
#define READ_MEM64(ptr)
Definition: smbios.c:64
char * str
Some string data.
Definition: hd.h:412
void * free_mem(void *p)
Definition: hd.c:1611
@ sm_memdevice
Definition: hd.h:540
unsigned interleave_pos
dto, in an interleave
Definition: hd.h:884
#define UUID_STR_LEN
Definition: smbios.c:11
@ sm_processor
Definition: hd.h:537