int handle
handle, unique 16 bit number
Definition: hd.h:552
sm_num2str_t * num2str
Definition: smbios.c:25
char * date
date mm/dd/yyyy (old: yy)
Definition: hd.h:566
unsigned len
Definition: smbios.c:22
#define SMBIOS_DEF_MAP(a)
Definition: smbios.c:47
@ sm_group
Definition: hd.h:535
static char * smbios_proc_cpu_status_[8]
Definition: smbios.c:165
@ sm_chassis
Definition: hd.h:532
int error_handle
points to error info record; 0xfffe: not supported, 0xffff: no error
Definition: hd.h:822
char * x_des
external reference designator
Definition: hd.h:700
hd_id_t admin
admin password status
Definition: hd.h:909
smbios_processor_t processor
Definition: hd.h:956
char * product
product name
Definition: hd.h:582
@ sm_cache
Definition: hd.h:533
static char * smbios_cache_ecc_[]
Definition: smbios.c:238
static char * smbios_board_feature_[]
Definition: smbios.c:113
@ sm_mem64error
Definition: hd.h:540
static char * smbios_chassis_states_[]
Definition: smbios.c:141
unsigned set
0: does not belong to a set; 1-0xfe: set number; 0xff: unknown
Definition: hd.h:827
unsigned max_speed
MHz.
Definition: hd.h:654
char ** str
Definition: smbios.c:24
static char * get_string(str_list_t *sl, int index)
Definition: smbios.c:533
char * manuf
manufacturer
Definition: hd.h:620
char * version
version
Definition: hd.h:583
hd_id_t err_type
error type memory
Definition: hd.h:842
hd_id_t bootup
bootup state
Definition: hd.h:626
hd_id_t interface
interface type
Definition: hd.h:894
char * asset
asset tag
Definition: hd.h:647
hd_id_t x_type
external connector type
Definition: hd.h:701
static sm_num2str_t smbios_mouse_interface_[]
Definition: smbios.c:454
unsigned buttons
number of buttons
Definition: hd.h:895
smbios_any_t any
Definition: hd.h:951
unsigned device_addr
fault address rel to mem device; 0x80000000: unknown
Definition: hd.h:847
sm_map_type
Definition: smbios.c:16
unsigned sock_status
socket status (1: populated, 0: empty
Definition: hd.h:656
static char * smbios_cache_mode_[]
Definition: smbios.c:226
unsigned num
Definition: smbios.c:18
unsigned oem
OEM-specific information.
Definition: hd.h:630
static char * smbios_cache_type_[]
Definition: smbios.c:246
char * asset
asset tag
Definition: hd.h:602
hd_smbios_t * smbios_add_entry(hd_smbios_t **sm, hd_smbios_t *new_sm)
Definition: smbios.c:1098
unsigned second
dto, second
Definition: hd.h:926
int * item_handles
array of item handles
Definition: hd.h:786
Holds ID + name pairs.
Definition: hd.h:396
unsigned syndrome
vendor-specific ECC syndrome; 0: unknown
Definition: hd.h:941
hd_id_t security
security state (at last boot)
Definition: hd.h:629
static char * smbios_onboard_type_[]
Definition: smbios.c:412
unsigned current_speed
MHz.
Definition: hd.h:655
unsigned part_width
number of memory devices
Definition: hd.h:863
str_list_t * str
interpreted bitmask
Definition: hd.h:419
hd_id_t location
cache location
Definition: hd.h:678
char * new_str(const char *s)
Definition: hd.c:1577
unsigned max_size
max cache size in kbytes
Definition: hd.h:673
hd_smbios_t * smbios_free(hd_smbios_t *sm)
Definition: smbios.c:1109
unsigned voltage
in 0.1 V
Definition: hd.h:652
smbios_oem_t oem
Definition: hd.h:961
unsigned day
dto, day
Definition: hd.h:923
uint64_t end_addr
end address
Definition: hd.h:878
static char * smbios_slot_feature_[]
Definition: smbios.c:404
struct s_str_list_t * next
Link to next member.
Definition: hd.h:407
int objects_len
number of contained objects
Definition: hd.h:607
smbios_mem64error_t mem64error
Definition: hd.h:973
char * part
part number
Definition: hd.h:648
smbios_memdevice_t memdevice
Definition: hd.h:966
hd_id_t family
processor family
Definition: hd.h:650
union u_hd_smbios_t * next
Definition: hd.h:950
uint64_t array_addr
fault address rel.
Definition: hd.h:942
static sm_num2str_t smbios_bios_feature_[]
Definition: smbios.c:62
static sm_num2str_t smbios_slot_type_[]
Definition: smbios.c:353
#define SMBIOS_PRINT_ID(a, b)
Definition: smbios.c:42
static char * smbios_memarray_use_[]
Definition: smbios.c:439
@ sm_slot
Definition: hd.h:534
@ sm_map_num2str
Definition: smbios.c:16
enum sm_map_type type
Definition: smbios.c:21
unsigned range
range, within which the error can be determined; 0x80000000: unknown
Definition: hd.h:848
smbios_memdevicemap_t memdevicemap
Definition: hd.h:969
smbios_memarray_t memarray
Definition: hd.h:965
hd_smbios_type_t type
BIOS info type.
Definition: hd.h:548
Bitmap data type.
Definition: hd.h:415
unsigned not_empty
at least 1 bit is set
Definition: hd.h:418
void smbios_parse(hd_data_t *hd_data)
Definition: smbios.c:654
char * part
part number
Definition: hd.h:820
char * version
version
Definition: hd.h:621
hd_id_t bus_width
data bus width
Definition: hd.h:715
static void smbios_id2str(hd_id_t *hid, sm_str_map_t *map, unsigned def)
Definition: smbios.c:594
#define SMBIOS_PRINT_BITMAP_LONG(a, b)
Definition: smbios.c:45
static char * smbios_memerror_type_[]
Definition: smbios.c:499
char * str
Definition: smbios.c:18
union sm_str_map_t::@20 list
@ sm_memdevicemap
Definition: hd.h:537
uint64_t cpu_id
processor id
Definition: hd.h:651
unsigned bits
real bitmap length in bits
Definition: hd.h:417
struct smbios_onboard_t::@1 * dev
device list
hd_id_t keyboard
keyboard password status
Definition: hd.h:908
#define smbios_memarray_ecc
Definition: smbios.c:243
smbios_chassis_t chassis
Definition: hd.h:955
unsigned month
next scheduled power-on month
Definition: hd.h:922
static sm_num2str_t smbios_connect_conn_type_[]
Definition: smbios.c:268
@ sm_connect
Definition: hd.h:534
hd_id_t assoc
cache associativity
Definition: hd.h:683
int data_len
formatted section length
Definition: hd.h:549
hd_id_t i_type
internal connector type
Definition: hd.h:699
smbios_lang_t lang
Definition: hd.h:963
unsigned id
slot id
Definition: hd.h:718
static void smbios_id_print(FILE *f, hd_id_t *hid, char *label)
Definition: smbios.c:576
str_list_t * options
system config options
Definition: hd.h:760
static char * smbios_proc_upgrades_[]
Definition: smbios.c:155
unsigned syndrome
vendor-specific ECC syndrome; 0: unknown
Definition: hd.h:845
char * product
product name
Definition: hd.h:599
str_list_t * free_str_list(str_list_t *list)
Definition: hd.c:2493
smbios_slot_t slot
Definition: hd.h:959
smbios_sysinfo_t sysinfo
Definition: hd.h:953
static char * smbios_proc_types_[]
Definition: smbios.c:172
char * location
location in chassis
Definition: hd.h:605
char * asset
asset tag
Definition: hd.h:819
#define SMBIOS_PRINT_STR(a, b)
Definition: smbios.c:43
@ sm_memerror
Definition: hd.h:536
unsigned slots
slots or sockets for this device
Definition: hd.h:803
char * current
current language
Definition: hd.h:772
int error_handle
points to error info record; 0xfffe: not supported, 0xffff: no error
Definition: hd.h:802
hd_id_t ecc
ECC types.
Definition: hd.h:800
static char * smbios_memdevice_detail_[]
Definition: smbios.c:490
hd_id_t mtype
mouse type
Definition: hd.h:893
unsigned eccbits
ecc bits
Definition: hd.h:824
static sm_num2str_t smbios_memarray_location_[]
Definition: smbios.c:419
uint64_t device_addr
fault address rel to mem device; 0x80000000: unknown
Definition: hd.h:943
unsigned dev_len
device list length
Definition: hd.h:731
unsigned ext_clock
MHz.
Definition: hd.h:653
char * bank
bank location
Definition: hd.h:816
hd_id_t upgrade
socket type
Definition: hd.h:643
int chassis
handle of chassis
Definition: hd.h:606
uint64_t end_addr
end address
Definition: hd.h:862
int l3_cache
handle of L3 cache
Definition: hd.h:660
hd_id_t thermal
thermal state (at last boot)
Definition: hd.h:628
static char * smbios_memdevice_form_[]
Definition: smbios.c:471
String list type.
Definition: hd.h:406
str_list_t * oem_strings
OEM strings.
Definition: hd.h:748
hd_bitmap_t feature
slot characteristics
Definition: hd.h:719
#define READ_MEM16(ptr)
Definition: smbios.c:55
void smbios_dump(hd_data_t *hd_data, FILE *f)
Definition: smbios.c:1282
int * objects
array of object handles
Definition: hd.h:608
hd_id_t operation
mem operation causing the error
Definition: hd.h:940
@ sm_inactive
Definition: hd.h:541
uint64_t start_addr
memory range start address
Definition: hd.h:861
@ sm_sysinfo
Definition: hd.h:532
static void smbios_bitmap_print(FILE *f, hd_bitmap_t *hbm, char *label, int style)
Definition: smbios.c:549
char * serial
serial number
Definition: hd.h:818
int l1_cache
handle of L1 cache
Definition: hd.h:658
unsigned level
cache level (0 = L1, 1 = L2, ...)
Definition: hd.h:680
smbios_memarraymap_t memarraymap
Definition: hd.h:968
static char * smbios_slot_bus_width_[]
Definition: smbios.c:383
@ sm_oem
Definition: hd.h:534
smbios_biosinfo_t biosinfo
Definition: hd.h:952
hd_id_t usage
current usage
Definition: hd.h:716
int memdevice_handle
memory device handle
Definition: hd.h:875
unsigned char * data
formatted section
Definition: hd.h:550
smbios_boardinfo_t boardinfo
Definition: hd.h:954
unsigned state
0/1: disabled/enabled
Definition: hd.h:677
hd_id_t operation
mem operation causing the error
Definition: hd.h:844
hd_bitmap_t feature
board features
Definition: hd.h:604
char * manuf
manufacturer
Definition: hd.h:817
smbios_cache_t cache
Definition: hd.h:957
hd_bitmap_t feature
BIOS characteristics.
Definition: hd.h:567
char * manuf
manufacturer
Definition: hd.h:598
unsigned speed
cache speed in nanoseconds
Definition: hd.h:675
smbios_connect_t connect
Definition: hd.h:958
str_list_t * strings
strings taken from the unformed section
Definition: hd.h:551
str_list_t * strings
list of languages
Definition: hd.h:770
hd_id_t length
slot length
Definition: hd.h:717
SMBIOS list item.
Definition: hd.h:949
@ sm_mouse
Definition: hd.h:537
#define READ_MEM32(ptr)
Definition: smbios.c:56
hd_id_t power
power supply state (at last boot)
Definition: hd.h:627
hd_id_t slot_type
slot type
Definition: hd.h:714
char * socket
socket designation
Definition: hd.h:672
char * manuf
manufacturer
Definition: hd.h:581
hd_id_t ecc
error correction type
Definition: hd.h:681
hd_smbios_type_t type
Definition: hd.h:726
unsigned id
Numeric id.
Definition: hd.h:397
unsigned current_size
current size in kbytes
Definition: hd.h:674
@ sm_boardinfo
Definition: hd.h:532
hd_id_t cache_type
logical cache type
Definition: hd.h:682
static void smbios_bitmap2str(hd_bitmap_t *hbm, sm_str_map_t *map)
Definition: smbios.c:619
@ sm_lang
Definition: hd.h:535
hd_id_t port_type
port type
Definition: hd.h:697
hd_id_t use
memory usage
Definition: hd.h:799
@ sm_secure
Definition: hd.h:538
hd_bitmap_t supp_sram
supported SRAM types
Definition: hd.h:684
static char * smbios_slot_usage_[]
Definition: smbios.c:390
hd_id_t form
form factor
Definition: hd.h:826
hd_id_t err_type
error type memory
Definition: hd.h:938
char * version
version
Definition: hd.h:600
char * desig
slot designation
Definition: hd.h:713
hd_id_t granularity
memory array or memory partition
Definition: hd.h:843
int arraymap_handle
memory array mapping handle
Definition: hd.h:876
void hexdump(char **buf, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2440
int l2_cache
handle of L2 cache
Definition: hd.h:659
unsigned minute
dto, minute
Definition: hd.h:925
unsigned speed
in MHz
Definition: hd.h:830
char * serial
serial number
Definition: hd.h:622
#define SMBIOS_PRINT_BITMAP_SHORT(a, b)
Definition: smbios.c:44
@ sm_biosinfo
Definition: hd.h:532
hd_id_t mem_type
memory type
Definition: hd.h:828
unsigned size
kB
Definition: hd.h:825
char * name
Name (if any) that corresponds to hd_id_t::id.
Definition: hd.h:398
static char * smbios_chassis_types_[]
Definition: smbios.c:129
unsigned hour
dto, hour
Definition: hd.h:924
smbios_memerror_t memerror
Definition: hd.h:967
static char * smbios_board_types_[]
Definition: smbios.c:120
hd_id_t wake_up
wake-up type
Definition: hd.h:586
static char * smbios_secure_state_[]
Definition: smbios.c:522
smbios_config_t config
Definition: hd.h:962
smbios_secure_t secure
Definition: hd.h:971
int array_handle
memory array this mapping belongs to
Definition: hd.h:860
static sm_num2str_t smbios_proc_families_[]
Definition: smbios.c:179
hd_id_t power
power-on password status
Definition: hd.h:907
hd_bitmap_t type_detail
memory type details
Definition: hd.h:829
static char * smbios_memerror_granularity_[]
Definition: smbios.c:508
smbios_power_t power
Definition: hd.h:972
static char * smbios_memerror_operation_[]
Definition: smbios.c:515
@ sm_map_str
Definition: smbios.c:16
unsigned rom_size
ROM size (in bytes)
Definition: hd.h:569
char * manuf
manufacturer
Definition: hd.h:644
unsigned char bitmap[16]
large enough for all uses
Definition: hd.h:416
@ sm_onboard
Definition: hd.h:534
char * name
device name
Definition: hd.h:733
int items_len
number of items in this group
Definition: hd.h:785
char * serial
serial number
Definition: hd.h:601
unsigned width
data width in bits
Definition: hd.h:823
static hd_data_t * hd_data
Definition: pppoe.c:29
hd_smbios_t * smbios
(Internal) smbios data
Definition: hd.h:2717
unsigned char uuid[16]
universal unique id; all 0x00: undef, all 0xff: undef but settable
Definition: hd.h:585
unsigned lock
1: lock present, 0: not present or unknown
Definition: hd.h:625
char * location
device location
Definition: hd.h:815
char * vendor
vendor name
Definition: hd.h:564
char * asset
asset tag
Definition: hd.h:623
hd_id_t reset
front panel reset status
Definition: hd.h:910
static char * smbios_cache_assoc_[]
Definition: smbios.c:253
unsigned interleave_depth
number of consecutive rows
Definition: hd.h:881
static char * smbios_mouse_type_[]
Definition: smbios.c:446
static char * smbios_cache_sram_[]
Definition: smbios.c:261
hd_id_t ch_type
chassis type
Definition: hd.h:624
hd_bitmap_t sram
current SRAM type
Definition: hd.h:685
unsigned socketed
0/1: not socketed/socketed
Definition: hd.h:679
hd_id_t mode
operational mode
Definition: hd.h:676
unsigned start
start address
Definition: hd.h:568
char * version
version (free form)
Definition: hd.h:565
str_list_t * add_str_list(str_list_t **sl, char *str)
Definition: hd.c:2479
hd_id_t pr_type
processor type
Definition: hd.h:649
@ sm_memarraymap
Definition: hd.h:536
@ sm_end
Definition: hd.h:541
static char * smbios_memdevice_type_[]
Definition: smbios.c:480
unsigned range
range, within which the error can be determined; 0x80000000: unknown
Definition: hd.h:944
static sm_num2str_t smbios_connect_port_type_[]
Definition: smbios.c:313
uint64_t start_addr
memory range start address
Definition: hd.h:877
hd_id_t granularity
memory array or memory partition
Definition: hd.h:939
unsigned array_addr
fault address rel.
Definition: hd.h:846
unsigned row_pos
position of the referenced memory device in a row of the address partition
Definition: hd.h:879
smbios_onboard_t onboard
Definition: hd.h:960
@ sm_config
Definition: hd.h:535
static char * smbios_chassis_sec_states_[]
Definition: smbios.c:148
@ sm_memarray
Definition: hd.h:536
int array_handle
memory array this device belongs to
Definition: hd.h:821
char * name
group name
Definition: hd.h:784
hd_id_t board_type
board type
Definition: hd.h:603
char * serial
serial number
Definition: hd.h:646
@ sm_power
Definition: hd.h:538
char * i_des
internal reference designator
Definition: hd.h:698
static char * smbios_system_wakeups_[]
Definition: smbios.c:105
smbios_group_t group
Definition: hd.h:964
char * serial
serial number
Definition: hd.h:584
Holds all data accumulated during hardware probing.
Definition: hd.h:2604
char * version
version
Definition: hd.h:645
void * new_mem(size_t size)
Definition: hd.c:1535
smbios_mouse_t mouse
Definition: hd.h:970
static void smbios_str_print(FILE *f, char *str, char *label)
Definition: smbios.c:585
unsigned status
0: disabled, 1: enabled
Definition: hd.h:735
char * socket
socket
Definition: hd.h:642
static char * smbios_cache_location_[]
Definition: smbios.c:232
hd_id_t cpu_status
cpu status
Definition: hd.h:657
unsigned max_size
maximum memory size in kB
Definition: hd.h:801
hd_id_t location
memory device location
Definition: hd.h:798
static char * smbios_slot_length_[]
Definition: smbios.c:397
#define READ_MEM64(ptr)
Definition: smbios.c:57
char * str
Some string data.
Definition: hd.h:408
void * free_mem(void *p)
Definition: hd.c:1594
@ sm_memdevice
Definition: hd.h:536
unsigned interleave_pos
dto, in an interleave
Definition: hd.h:880
@ sm_processor
Definition: hd.h:533