System Management BIOS (SMBIOS)
Implementation internals » Information gathering

System Management BIOS functions. More...

## Data Structures

struct | sm_num2str_t
struct | sm_str_map_t

## Macros

#define | SMBIOS_PRINT_ID(a, b)
#define | SMBIOS_PRINT_STR(a, b)
#define | SMBIOS_PRINT_BITMAP_SHORT(a, b)
#define | SMBIOS_PRINT_BITMAP_LONG(a, b)
#define | SMBIOS_DEF_MAP(a)
#define | READ_MEM16(ptr)
#define | READ_MEM32(ptr)
#define | READ_MEM64(ptr)
#define | smbios_memarray_ecc smbios_cache_ecc

## Enumerations

enum | sm_map_type { sm_map_str , sm_map_num2str }

## Functions

static char * | get_string (str_list_t *sl, int index)
static void | smbios_bitmap_print (FILE *f, hd_bitmap_t *hbm, char *label, int style)
static void | smbios_id_print (FILE *f, hd_id_t *hid, char *label)
static void | smbios_str_print (FILE *f, char *str, char *label)
static void | smbios_id2str (hd_id_t *hid, sm_str_map_t *map, unsigned def)
static void | smbios_bitmap2str (hd_bitmap_t *hbm, sm_str_map_t *map)
static char * | smbios_decode_uuid (uuid_t uuid)
| SMBIOS_DEF_MAP (smbios_bios_feature)
| SMBIOS_DEF_MAP (smbios_system_wakeups)
| SMBIOS_DEF_MAP (smbios_board_feature)
| SMBIOS_DEF_MAP (smbios_board_types)
| SMBIOS_DEF_MAP (smbios_chassis_types)
| SMBIOS_DEF_MAP (smbios_chassis_states)
| SMBIOS_DEF_MAP (smbios_chassis_sec_states)
| SMBIOS_DEF_MAP (smbios_proc_upgrades)
| SMBIOS_DEF_MAP (smbios_proc_cpu_status)
| SMBIOS_DEF_MAP (smbios_proc_types)
| SMBIOS_DEF_MAP (smbios_proc_families)
| SMBIOS_DEF_MAP (smbios_cache_mode)
| SMBIOS_DEF_MAP (smbios_cache_location)
| SMBIOS_DEF_MAP (smbios_cache_ecc)
| SMBIOS_DEF_MAP (smbios_cache_type)
| SMBIOS_DEF_MAP (smbios_cache_assoc)
| SMBIOS_DEF_MAP (smbios_cache_sram)
| SMBIOS_DEF_MAP (smbios_connect_conn_type)
| SMBIOS_DEF_MAP (smbios_connect_port_type)
| SMBIOS_DEF_MAP (smbios_slot_type)
| SMBIOS_DEF_MAP (smbios_slot_bus_width)
| SMBIOS_DEF_MAP (smbios_slot_usage)
| SMBIOS_DEF_MAP (smbios_slot_length)
| SMBIOS_DEF_MAP (smbios_slot_feature)
| SMBIOS_DEF_MAP (smbios_onboard_type)
| SMBIOS_DEF_MAP (smbios_memarray_location)
| SMBIOS_DEF_MAP (smbios_memarray_use)
| SMBIOS_DEF_MAP (smbios_mouse_type)
| SMBIOS_DEF_MAP (smbios_mouse_interface)
| SMBIOS_DEF_MAP (smbios_memdevice_form)
| SMBIOS_DEF_MAP (smbios_memdevice_type)
| SMBIOS_DEF_MAP (smbios_memdevice_detail)
| SMBIOS_DEF_MAP (smbios_memerror_type)
| SMBIOS_DEF_MAP (smbios_memerror_granularity)
| SMBIOS_DEF_MAP (smbios_memerror_operation)
| SMBIOS_DEF_MAP (smbios_secure_state)
void | smbios_parse (hd_data_t *hd_data)
hd_smbios_t * | smbios_add_entry (hd_smbios_t **sm, hd_smbios_t *new_sm)
hd_smbios_t * | smbios_free (hd_smbios_t *sm)
void | smbios_dump (hd_data_t *hd_data, FILE *f)

## Variables

static sm_num2str_t | smbios_bios_feature_ []
static char * | smbios_system_wakeups_ []
static char * | smbios_board_feature_ []
static char * | smbios_board_types_ []
static char * | smbios_chassis_types_ []
static char * | smbios_chassis_states_ []
static char * | smbios_chassis_sec_states_ []
static char * | smbios_proc_upgrades_ []
static char * | smbios_proc_cpu_status_ [8]
static char * | smbios_proc_types_ []
static sm_num2str_t | smbios_proc_families_ []
static char * | smbios_cache_mode_ []
static char * | smbios_cache_location_ []
static char * | smbios_cache_ecc_ []
static char * | smbios_cache_type_ []
static char * | smbios_cache_assoc_ []
static char * | smbios_cache_sram_ []
static sm_num2str_t | smbios_connect_conn_type_ []
static sm_num2str_t | smbios_connect_port_type_ []
static sm_num2str_t | smbios_slot_type_ []
static char * | smbios_slot_bus_width_ []
static char * | smbios_slot_usage_ []
static char * | smbios_slot_length_ []
static char * | smbios_slot_feature_ []
static char * | smbios_onboard_type_ []
static sm_num2str_t | smbios_memarray_location_ []
static char * | smbios_memarray_use_ []
static char * | smbios_mouse_type_ []
static sm_num2str_t | smbios_mouse_interface_ []
static char * | smbios_memdevice_form_ []
static char * | smbios_memdevice_type_ []
static char * | smbios_memdevice_detail_ []
static char * | smbios_memerror_type_ []
static char * | smbios_memerror_granularity_ []
static char * | smbios_memerror_operation_ []
static char * | smbios_secure_state_ []

## Detailed Description

System Management BIOS functions.

## Macro Definition Documentation

## READ_MEM16

#define READ_MEM16 | ( |  | ptr | ) |

Value:
((ptr)[0] + ((ptr)[1] << 8))

Referenced by smbios_parse().

## READ_MEM32

#define READ_MEM32 | ( |  | ptr | ) |

Value:
((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))

Referenced by smbios_parse().

## READ_MEM64

#define READ_MEM64 | ( |  | ptr | ) |

Value:
(READ_MEM32(ptr) + ((uint64_t) READ_MEM32(ptr + 4) << 32))
READ_MEM32
#define READ_MEM32(ptr)
Definition smbios.c:63

Referenced by smbios_parse().

## SMBIOS_DEF_MAP

#define SMBIOS_DEF_MAP | ( |  | a | ) |

Value:
static sm_str_map_t a = { \
sizeof *a ## _ == sizeof (sm_num2str_t) ? sm_map_num2str : sm_map_str, \
sizeof a ## _ / sizeof *a ## _, \
{ (void *) a ## _ } \
};
sm_map_num2str
@ sm_map_num2str
Definition smbios.c:22
sm_map_str
@ sm_map_str
Definition smbios.c:22
sm_num2str_t
Definition smbios.c:24
sm_str_map_t
Definition smbios.c:26

## smbios_memarray_ecc

#define smbios_memarray_ecc smbios_cache_ecc

Referenced by smbios_parse().

## SMBIOS_PRINT_BITMAP_LONG

#define SMBIOS_PRINT_BITMAP_LONG | ( |  | a,
|  |  | b )

Value:
smbios_bitmap_print(f, &sm->a, b, 1)
smbios_bitmap_print
static void smbios_bitmap_print(FILE *f, hd_bitmap_t *hbm, char *label, int style)
Definition smbios.c:556

Referenced by smbios_dump().

## SMBIOS_PRINT_BITMAP_SHORT

#define SMBIOS_PRINT_BITMAP_SHORT | ( |  | a,
|  |  | b )

Value:
smbios_bitmap_print(f, &sm->a, b, 0)

Referenced by smbios_dump().

## SMBIOS_PRINT_ID

#define SMBIOS_PRINT_ID | ( |  | a,
|  |  | b )

Value:
smbios_id_print(f, &sm->a, b)
smbios_id_print
static void smbios_id_print(FILE *f, hd_id_t *hid, char *label)
Definition smbios.c:583

Referenced by smbios_dump().

## SMBIOS_PRINT_STR

#define SMBIOS_PRINT_STR | ( |  | a,
|  |  | b )

Value:
smbios_str_print(f, sm->a, b)
smbios_str_print
static void smbios_str_print(FILE *f, char *str, char *label)
Definition smbios.c:592

Referenced by smbios_dump().

## Enumeration Type Documentation

## sm_map_type

enum sm_map_type

Enumerator
sm_map_str |
sm_map_num2str |

## Function Documentation

## get_string()

char * get_string | ( | str_list_t * | sl,
|  | int | index )

static

References new_str(), s_str_list_t::next, and s_str_list_t::str.

Referenced by smbios_parse().

## smbios_add_entry()

hd_smbios_t * smbios_add_entry | ( | hd_smbios_t ** | sm,
|  | hd_smbios_t * | new_sm )

References u_hd_smbios_t::next.

## smbios_bitmap2str()

void smbios_bitmap2str | ( | hd_bitmap_t * | hbm,
|  | sm_str_map_t * | map )

static

References add_str_list(), hd_bitmap_t::bitmap, hd_bitmap_t::bits, sm_str_map_t::len, sm_str_map_t::list, hd_bitmap_t::not_empty, sm_num2str_t::num, sm_str_map_t::num2str, sm_map_str, hd_bitmap_t::str, sm_num2str_t::str, sm_str_map_t::str, and sm_str_map_t::type.

Referenced by smbios_parse().

## smbios_bitmap_print()

void smbios_bitmap_print | ( | FILE * | f,
|  | hd_bitmap_t * | hbm,
|  | char * | label,
|  | int | style )

static

References hd_bitmap_t::bitmap, hd_bitmap_t::bits, s_str_list_t::next, hd_bitmap_t::not_empty, hd_bitmap_t::str, and s_str_list_t::str.

## smbios_decode_uuid()

char * smbios_decode_uuid | ( | uuid_t | uuid | ) |

static

References UUID_STR_LEN.

Referenced by smbios_dump().

## SMBIOS_DEF_MAP() [1/36]

SMBIOS_DEF_MAP | ( | smbios_bios_feature |  | ) |

## SMBIOS_DEF_MAP() [2/36]

SMBIOS_DEF_MAP | ( | smbios_board_feature |  | ) |

## SMBIOS_DEF_MAP() [3/36]

SMBIOS_DEF_MAP | ( | smbios_board_types |  | ) |

## SMBIOS_DEF_MAP() [4/36]

SMBIOS_DEF_MAP | ( | smbios_cache_assoc |  | ) |

## SMBIOS_DEF_MAP() [5/36]

SMBIOS_DEF_MAP | ( | smbios_cache_ecc |  | ) |

## SMBIOS_DEF_MAP() [6/36]

SMBIOS_DEF_MAP | ( | smbios_cache_location |  | ) |

## SMBIOS_DEF_MAP() [7/36]

SMBIOS_DEF_MAP | ( | smbios_cache_mode |  | ) |

## SMBIOS_DEF_MAP() [8/36]

SMBIOS_DEF_MAP | ( | smbios_cache_sram |  | ) |

## SMBIOS_DEF_MAP() [9/36]

SMBIOS_DEF_MAP | ( | smbios_cache_type |  | ) |

## SMBIOS_DEF_MAP() [10/36]

SMBIOS_DEF_MAP | ( | smbios_chassis_sec_states |  | ) |

## SMBIOS_DEF_MAP() [11/36]

SMBIOS_DEF_MAP | ( | smbios_chassis_states |  | ) |

## SMBIOS_DEF_MAP() [12/36]

SMBIOS_DEF_MAP | ( | smbios_chassis_types |  | ) |

## SMBIOS_DEF_MAP() [13/36]

SMBIOS_DEF_MAP | ( | smbios_connect_conn_type |  | ) |

## SMBIOS_DEF_MAP() [14/36]

SMBIOS_DEF_MAP | ( | smbios_connect_port_type |  | ) |

## SMBIOS_DEF_MAP() [15/36]

SMBIOS_DEF_MAP | ( | smbios_memarray_location |  | ) |

## SMBIOS_DEF_MAP() [16/36]

SMBIOS_DEF_MAP | ( | smbios_memarray_use |  | ) |

## SMBIOS_DEF_MAP() [17/36]

SMBIOS_DEF_MAP | ( | smbios_memdevice_detail |  | ) |

## SMBIOS_DEF_MAP() [18/36]

SMBIOS_DEF_MAP | ( | smbios_memdevice_form |  | ) |

## SMBIOS_DEF_MAP() [19/36]

SMBIOS_DEF_MAP | ( | smbios_memdevice_type |  | ) |

## SMBIOS_DEF_MAP() [20/36]

SMBIOS_DEF_MAP | ( | smbios_memerror_granularity |  | ) |

## SMBIOS_DEF_MAP() [21/36]

SMBIOS_DEF_MAP | ( | smbios_memerror_operation |  | ) |

## SMBIOS_DEF_MAP() [22/36]

SMBIOS_DEF_MAP | ( | smbios_memerror_type |  | ) |

## SMBIOS_DEF_MAP() [23/36]

SMBIOS_DEF_MAP | ( | smbios_mouse_interface |  | ) |

## SMBIOS_DEF_MAP() [24/36]

SMBIOS_DEF_MAP | ( | smbios_mouse_type |  | ) |

## SMBIOS_DEF_MAP() [25/36]

SMBIOS_DEF_MAP | ( | smbios_onboard_type |  | ) |

## SMBIOS_DEF_MAP() [26/36]

SMBIOS_DEF_MAP | ( | smbios_proc_cpu_status |  | ) |

## SMBIOS_DEF_MAP() [27/36]

SMBIOS_DEF_MAP | ( | smbios_proc_families |  | ) |

## SMBIOS_DEF_MAP() [28/36]

SMBIOS_DEF_MAP | ( | smbios_proc_types |  | ) |

## SMBIOS_DEF_MAP() [29/36]

SMBIOS_DEF_MAP | ( | smbios_proc_upgrades |  | ) |

## SMBIOS_DEF_MAP() [30/36]

SMBIOS_DEF_MAP | ( | smbios_secure_state |  | ) |

## SMBIOS_DEF_MAP() [31/36]

SMBIOS_DEF_MAP | ( | smbios_slot_bus_width |  | ) |

## SMBIOS_DEF_MAP() [32/36]

SMBIOS_DEF_MAP | ( | smbios_slot_feature |  | ) |

## SMBIOS_DEF_MAP() [33/36]

SMBIOS_DEF_MAP | ( | smbios_slot_length |  | ) |

## SMBIOS_DEF_MAP() [34/36]

SMBIOS_DEF_MAP | ( | smbios_slot_type |  | ) |

## SMBIOS_DEF_MAP() [35/36]

SMBIOS_DEF_MAP | ( | smbios_slot_usage |  | ) |

## SMBIOS_DEF_MAP() [36/36]

SMBIOS_DEF_MAP | ( | smbios_system_wakeups |  | ) |

## smbios_dump()

void smbios_dump | ( | hd_data_t * | hd_data,
|  | FILE * | f )

References u_hd_smbios_t::any, smbios_mem64error_t::array_addr, smbios_memerror_t::array_addr, smbios_memarraymap_t::array_handle, smbios_memdevice_t::array_handle, smbios_memdevicemap_t::arraymap_handle, smbios_boardinfo_t::asset, smbios_chassis_t::asset, u_hd_smbios_t::biosinfo, u_hd_smbios_t::boardinfo, smbios_mouse_t::buttons, u_hd_smbios_t::cache, smbios_boardinfo_t::chassis, u_hd_smbios_t::chassis, u_hd_smbios_t::config, smbios_processor_t::cpu_id, smbios_lang_t::current, smbios_cache_t::current_size, smbios_processor_t::current_speed, smbios_any_t::data, smbios_any_t::data_len, smbios_biosinfo_t::date, smbios_power_t::day, smbios_onboard_t::dev, smbios_onboard_t::dev_len, smbios_mem64error_t::device_addr, smbios_memerror_t::device_addr, smbios_memdevice_t::eccbits, smbios_memarraymap_t::end_addr, smbios_memdevicemap_t::end_addr, smbios_memarray_t::error_handle, smbios_memdevice_t::error_handle, smbios_processor_t::ext_clock, free_mem(), u_hd_smbios_t::group, smbios_any_t::handle, hd_data, hexdump(), smbios_power_t::hour, hd_id_t::id, smbios_slot_t::id, smbios_memdevicemap_t::interleave_depth, smbios_memdevicemap_t::interleave_pos, smbios_group_t::item_handles, smbios_group_t::items_len, smbios_processor_t::l1_cache, smbios_processor_t::l2_cache, smbios_processor_t::l3_cache, u_hd_smbios_t::lang, smbios_cache_t::level, smbios_boardinfo_t::location, smbios_cache_t::location, smbios_chassis_t::lock, smbios_boardinfo_t::manuf, smbios_chassis_t::manuf, smbios_sysinfo_t::manuf, smbios_cache_t::max_size, smbios_memarray_t::max_size, smbios_processor_t::max_speed, u_hd_smbios_t::mem64error, u_hd_smbios_t::memarray, u_hd_smbios_t::memarraymap, u_hd_smbios_t::memdevice, smbios_memdevicemap_t::memdevice_handle, u_hd_smbios_t::memdevicemap, u_hd_smbios_t::memerror, smbios_power_t::minute, smbios_power_t::month, u_hd_smbios_t::mouse, hd_id_t::name, smbios_group_t::name, smbios_onboard_t::name, s_str_list_t::next, u_hd_smbios_t::next, smbios_boardinfo_t::objects, smbios_boardinfo_t::objects_len, smbios_chassis_t::oem, u_hd_smbios_t::oem, smbios_oem_t::oem_strings, u_hd_smbios_t::onboard, smbios_config_t::options, smbios_memarraymap_t::part_width, u_hd_smbios_t::power, u_hd_smbios_t::processor, smbios_boardinfo_t::product, smbios_sysinfo_t::product, smbios_mem64error_t::range, smbios_memerror_t::range, smbios_biosinfo_t::rom_size, smbios_memdevicemap_t::row_pos, smbios_power_t::second, smbios_boardinfo_t::serial, smbios_chassis_t::serial, smbios_sysinfo_t::serial, smbios_memdevice_t::size, u_hd_smbios_t::slot, smbios_memarray_t::slots, sm_biosinfo, sm_boardinfo, sm_cache, sm_chassis, sm_config, sm_connect, sm_end, sm_group, sm_inactive, sm_lang, sm_mem64error, sm_memarray, sm_memarraymap, sm_memdevice, sm_memdevicemap, sm_memerror, sm_mouse, sm_oem, sm_onboard, sm_power, sm_processor, sm_secure, sm_slot, sm_sysinfo, smbios_decode_uuid(), SMBIOS_PRINT_BITMAP_LONG, SMBIOS_PRINT_BITMAP_SHORT, SMBIOS_PRINT_ID, SMBIOS_PRINT_STR, smbios_processor_t::sock_status, smbios_cache_t::socketed, smbios_cache_t::speed, smbios_memdevice_t::speed, smbios_biosinfo_t::start, smbios_memarraymap_t::start_addr, smbios_memdevicemap_t::start_addr, smbios_cache_t::state, smbios_onboard_t::status, s_str_list_t::str, smbios_any_t::strings, smbios_lang_t::strings, smbios_mem64error_t::syndrome, smbios_memerror_t::syndrome, u_hd_smbios_t::sysinfo, smbios_any_t::type, smbios_onboard_t::type, smbios_sysinfo_t::uuid, smbios_biosinfo_t::vendor, smbios_biosinfo_t::version, smbios_boardinfo_t::version, smbios_chassis_t::version, smbios_sysinfo_t::version, smbios_processor_t::voltage, and smbios_memdevice_t::width.

Referenced by dump_bios().

## smbios_free()

hd_smbios_t * smbios_free | ( | hd_smbios_t * | sm | ) |

References smbios_secure_t::admin, u_hd_smbios_t::any, smbios_boardinfo_t::asset, smbios_chassis_t::asset, smbios_memdevice_t::asset, smbios_processor_t::asset, smbios_cache_t::assoc, smbios_memdevice_t::bank, u_hd_smbios_t::biosinfo, smbios_boardinfo_t::board_type, u_hd_smbios_t::boardinfo, smbios_chassis_t::bootup, smbios_slot_t::bus_width, u_hd_smbios_t::cache, smbios_cache_t::cache_type, smbios_chassis_t::ch_type, u_hd_smbios_t::chassis, u_hd_smbios_t::config, u_hd_smbios_t::connect, smbios_processor_t::cpu_status, smbios_lang_t::current, smbios_any_t::data, smbios_biosinfo_t::date, smbios_slot_t::desig, smbios_onboard_t::dev, smbios_onboard_t::dev_len, smbios_cache_t::ecc, smbios_memarray_t::ecc, smbios_mem64error_t::err_type, smbios_memerror_t::err_type, smbios_processor_t::family, smbios_biosinfo_t::feature, smbios_boardinfo_t::feature, smbios_slot_t::feature, smbios_memdevice_t::form, free_mem(), free_str_list(), smbios_mem64error_t::granularity, smbios_memerror_t::granularity, u_hd_smbios_t::group, smbios_connect_t::i_des, smbios_connect_t::i_type, smbios_mouse_t::interface, smbios_group_t::item_handles, smbios_secure_t::keyboard, u_hd_smbios_t::lang, smbios_slot_t::length, smbios_boardinfo_t::location, smbios_cache_t::location, smbios_memarray_t::location, smbios_memdevice_t::location, smbios_boardinfo_t::manuf, smbios_chassis_t::manuf, smbios_memdevice_t::manuf, smbios_processor_t::manuf, smbios_sysinfo_t::manuf, u_hd_smbios_t::mem64error, smbios_memdevice_t::mem_type, u_hd_smbios_t::memarray, u_hd_smbios_t::memdevice, u_hd_smbios_t::memerror, smbios_cache_t::mode, u_hd_smbios_t::mouse, smbios_mouse_t::mtype, hd_id_t::name, smbios_group_t::name, smbios_onboard_t::name, u_hd_smbios_t::next, smbios_boardinfo_t::objects, u_hd_smbios_t::oem, smbios_oem_t::oem_strings, u_hd_smbios_t::onboard, smbios_mem64error_t::operation, smbios_memerror_t::operation, smbios_config_t::options, smbios_memdevice_t::part, smbios_processor_t::part, smbios_connect_t::port_type, smbios_chassis_t::power, smbios_secure_t::power, smbios_processor_t::pr_type, u_hd_smbios_t::processor, smbios_boardinfo_t::product, smbios_sysinfo_t::product, smbios_secure_t::reset, u_hd_smbios_t::secure, smbios_chassis_t::security, smbios_boardinfo_t::serial, smbios_chassis_t::serial, smbios_memdevice_t::serial, smbios_processor_t::serial, smbios_sysinfo_t::serial, u_hd_smbios_t::slot, smbios_slot_t::slot_type, sm_biosinfo, sm_boardinfo, sm_cache, sm_chassis, sm_config, sm_connect, sm_group, sm_lang, sm_mem64error, sm_memarray, sm_memdevice, sm_memerror, sm_mouse, sm_oem, sm_onboard, sm_processor, sm_secure, sm_slot, sm_sysinfo, smbios_cache_t::socket, smbios_processor_t::socket, smbios_cache_t::sram, hd_bitmap_t::str, smbios_any_t::strings, smbios_cache_t::supp_sram, u_hd_smbios_t::sysinfo, smbios_chassis_t::thermal, smbios_any_t::type, smbios_onboard_t::type, smbios_memdevice_t::type_detail, smbios_processor_t::upgrade, smbios_slot_t::usage, smbios_memarray_t::use, smbios_biosinfo_t::vendor, smbios_biosinfo_t::version, smbios_boardinfo_t::version, smbios_chassis_t::version, smbios_processor_t::version, smbios_sysinfo_t::version, smbios_sysinfo_t::wake_up, smbios_connect_t::x_des, and smbios_connect_t::x_type.

Referenced by hd_free_hd_data().

## smbios_id2str()

void smbios_id2str | ( | hd_id_t * | hid,
|  | sm_str_map_t * | map,
|  | unsigned | def )

static

References hd_id_t::id, sm_str_map_t::len, sm_str_map_t::list, hd_id_t::name, new_str(), sm_num2str_t::num, sm_str_map_t::num2str, sm_map_str, sm_num2str_t::str, sm_str_map_t::str, and sm_str_map_t::type.

Referenced by smbios_parse().

## smbios_id_print()

void smbios_id_print | ( | FILE * | f,
|  | hd_id_t * | hid,
|  | char * | label )

static

References hd_id_t::id, and hd_id_t::name.

## smbios_parse()

void smbios_parse | ( | hd_data_t * | hd_data | ) |

References add_str_list(), smbios_secure_t::admin, u_hd_smbios_t::any, smbios_mem64error_t::array_addr, smbios_memerror_t::array_addr, smbios_memarraymap_t::array_handle, smbios_memdevice_t::array_handle, smbios_memdevicemap_t::arraymap_handle, smbios_boardinfo_t::asset, smbios_chassis_t::asset, smbios_memdevice_t::asset, smbios_processor_t::asset, smbios_cache_t::assoc, smbios_memdevice_t::bank, u_hd_smbios_t::biosinfo, hd_bitmap_t::bitmap, hd_bitmap_t::bits, smbios_boardinfo_t::board_type, u_hd_smbios_t::boardinfo, smbios_chassis_t::bootup, smbios_slot_t::bus_width, smbios_mouse_t::buttons, u_hd_smbios_t::cache, smbios_cache_t::cache_type, smbios_chassis_t::ch_type, smbios_boardinfo_t::chassis, u_hd_smbios_t::chassis, u_hd_smbios_t::config, u_hd_smbios_t::connect, smbios_processor_t::cpu_id, smbios_processor_t::cpu_status, smbios_lang_t::current, smbios_cache_t::current_size, smbios_processor_t::current_speed, smbios_any_t::data, smbios_any_t::data_len, smbios_biosinfo_t::date, smbios_power_t::day, smbios_slot_t::desig, smbios_onboard_t::dev, smbios_onboard_t::dev_len, smbios_mem64error_t::device_addr, smbios_memerror_t::device_addr, smbios_cache_t::ecc, smbios_memarray_t::ecc, smbios_memdevice_t::eccbits, smbios_memarraymap_t::end_addr, smbios_memdevicemap_t::end_addr, smbios_mem64error_t::err_type, smbios_memerror_t::err_type, smbios_memarray_t::error_handle, smbios_memdevice_t::error_handle, smbios_processor_t::ext_clock, smbios_processor_t::family, smbios_biosinfo_t::feature, smbios_boardinfo_t::feature, smbios_slot_t::feature, smbios_memdevice_t::form, get_string(), smbios_mem64error_t::granularity, smbios_memerror_t::granularity, u_hd_smbios_t::group, hd_data, smbios_power_t::hour, smbios_connect_t::i_des, smbios_connect_t::i_type, hd_id_t::id, smbios_slot_t::id, smbios_mouse_t::interface, smbios_memdevicemap_t::interleave_depth, smbios_memdevicemap_t::interleave_pos, smbios_group_t::item_handles, smbios_group_t::items_len, smbios_secure_t::keyboard, smbios_processor_t::l1_cache, smbios_processor_t::l2_cache, smbios_processor_t::l3_cache, u_hd_smbios_t::lang, smbios_slot_t::length, smbios_cache_t::level, smbios_boardinfo_t::location, smbios_cache_t::location, smbios_memarray_t::location, smbios_memdevice_t::location, smbios_chassis_t::lock, smbios_boardinfo_t::manuf, smbios_chassis_t::manuf, smbios_memdevice_t::manuf, smbios_processor_t::manuf, smbios_sysinfo_t::manuf, smbios_cache_t::max_size, smbios_memarray_t::max_size, smbios_processor_t::max_speed, u_hd_smbios_t::mem64error, smbios_memdevice_t::mem_type, u_hd_smbios_t::memarray, u_hd_smbios_t::memarraymap, u_hd_smbios_t::memdevice, smbios_memdevicemap_t::memdevice_handle, u_hd_smbios_t::memdevicemap, u_hd_smbios_t::memerror, smbios_power_t::minute, smbios_cache_t::mode, smbios_power_t::month, u_hd_smbios_t::mouse, smbios_mouse_t::mtype, smbios_group_t::name, smbios_onboard_t::name, new_mem(), s_str_list_t::next, u_hd_smbios_t::next, smbios_boardinfo_t::objects, smbios_boardinfo_t::objects_len, smbios_chassis_t::oem, u_hd_smbios_t::oem, smbios_oem_t::oem_strings, u_hd_smbios_t::onboard, smbios_mem64error_t::operation, smbios_memerror_t::operation, smbios_config_t::options, smbios_memdevice_t::part, smbios_processor_t::part, smbios_memarraymap_t::part_width, smbios_connect_t::port_type, smbios_chassis_t::power, smbios_secure_t::power, u_hd_smbios_t::power, smbios_processor_t::pr_type, u_hd_smbios_t::processor, smbios_boardinfo_t::product, smbios_sysinfo_t::product, smbios_mem64error_t::range, smbios_memerror_t::range, READ_MEM16, READ_MEM32, READ_MEM64, smbios_secure_t::reset, smbios_biosinfo_t::rom_size, smbios_memdevicemap_t::row_pos, smbios_power_t::second, u_hd_smbios_t::secure, smbios_chassis_t::security, smbios_boardinfo_t::serial, smbios_chassis_t::serial, smbios_memdevice_t::serial, smbios_processor_t::serial, smbios_sysinfo_t::serial, smbios_memdevice_t::set, smbios_memdevice_t::size, u_hd_smbios_t::slot, smbios_slot_t::slot_type, smbios_memarray_t::slots, sm_biosinfo, sm_boardinfo, sm_cache, sm_chassis, sm_config, sm_connect, sm_group, sm_lang, sm_mem64error, sm_memarray, sm_memarraymap, sm_memdevice, sm_memdevicemap, sm_memerror, sm_mouse, sm_oem, sm_onboard, sm_power, sm_processor, sm_secure, sm_slot, sm_sysinfo, smbios_bitmap2str(), smbios_id2str(), smbios_memarray_ecc, smbios_processor_t::sock_status, smbios_cache_t::socket, smbios_processor_t::socket, smbios_cache_t::socketed, smbios_cache_t::speed, smbios_memdevice_t::speed, smbios_cache_t::sram, smbios_biosinfo_t::start, smbios_memarraymap_t::start_addr, smbios_memdevicemap_t::start_addr, smbios_cache_t::state, smbios_onboard_t::status, s_str_list_t::str, smbios_any_t::strings, smbios_cache_t::supp_sram, smbios_mem64error_t::syndrome, smbios_memerror_t::syndrome, u_hd_smbios_t::sysinfo, smbios_chassis_t::thermal, smbios_any_t::type, smbios_onboard_t::type, smbios_memdevice_t::type_detail, smbios_processor_t::upgrade, smbios_slot_t::usage, smbios_memarray_t::use, smbios_sysinfo_t::uuid, smbios_biosinfo_t::vendor, smbios_biosinfo_t::version, smbios_boardinfo_t::version, smbios_chassis_t::version, smbios_processor_t::version, smbios_sysinfo_t::version, smbios_processor_t::voltage, smbios_sysinfo_t::wake_up, smbios_memdevice_t::width, smbios_connect_t::x_des, and smbios_connect_t::x_type.

## smbios_str_print()

void smbios_str_print | ( | FILE * | f,
|  | char * | str,
|  | char * | label )

static

## Variable Documentation

## smbios_bios_feature_

sm_num2str_t smbios_bios_feature_[]

static

## smbios_board_feature_

char* smbios_board_feature_[]

static

Initial value:
= {
"Hosting Board", "Needs One Daughter Board", "Removable", "Replaceable",
"Hot Swappable"
}

## smbios_board_types_

char* smbios_board_types_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Server Blade",
"Connectivity Switch", "System Management Module", "Processor Module", "I/O Module",
"Memory Module", "Daughter Board", "Motherboard", "Processor/Memory Module",
"Processor/IO Module", "Interconnect Board"
}

## smbios_cache_assoc_

char* smbios_cache_assoc_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Direct Mapped",
"2-way Set-Associative", "4-way Set-Associative", "Fully Associative", "8-way Set-Associative",
"16-way Set-Associative"
}

## smbios_cache_ecc_

char* smbios_cache_ecc_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "None",
"Parity", "Single-bit", "Multi-bit", "CRC"
}

## smbios_cache_location_

char* smbios_cache_location_[]

static

Initial value:
= {
"Internal", "External", "Reserved", "Unknown"
}

## smbios_cache_mode_

char* smbios_cache_mode_[]

static

Initial value:
= {
"Write Through", "Write Back", "Varies with Memory Address", "Unknown"
}

## smbios_cache_sram_

char* smbios_cache_sram_[]

static

Initial value:
= {
"Other", "Unknown", "Non-Burst", "Burst",
"Pipeline Burst", "Synchronous", "Asynchronous"
}

## smbios_cache_type_

char* smbios_cache_type_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Instruction",
"Data", "Unified"
}

## smbios_chassis_sec_states_

char* smbios_chassis_sec_states_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "None",
"External interface locked out", "External interface enabled"
}

## smbios_chassis_states_

char* smbios_chassis_states_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Safe",
"Warning", "Critical", "Non-recoverable"
}

## smbios_chassis_types_

char* smbios_chassis_types_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Desktop",
"Low Profile Desktop", "Pizza Box", "Mini Tower", "Tower",
"Portable", "LapTop", "Notebook", "Hand Held",
"Docking Station", "All in One", "Sub Notebook", "Space Saving",
"Lunch Box", "Main Server Chassis", "Expansion Chassis", "SubChassis",
"Bus Expansion Chassis", "Peripheral Chassis", "RAID Chassis", "Rack Mount Chassis",
"Sealed-case PC", "Multi-System Chassis"
}

## smbios_connect_conn_type_

sm_num2str_t smbios_connect_conn_type_[]

static

## smbios_connect_port_type_

sm_num2str_t smbios_connect_port_type_[]

static

## smbios_memarray_location_

sm_num2str_t smbios_memarray_location_[]

static

Initial value:
= {
{ 0x00, NULL },
{ 0x01, "Other" },
{ 0x02, "Unknown" },
{ 0x03, "Motherboard" },
{ 0x04, "ISA add-on card" },
{ 0x05, "EISA add-on card" },
{ 0x06, "PCI add-on card" },
{ 0x07, "MCA add-on card" },
{ 0x08, "PCMCIA add-on card" },
{ 0x09, "Proprietary add-on card" },
{ 0x0a, "NuBus" },
{ 0xa0, "PC-98/C20 add-on card" },
{ 0xa1, "PC-98/C24 add-on card" },
{ 0xa2, "PC-98/E add-on card" },
{ 0xa3, "PC-98/Local bus add-on card" }
}

## smbios_memarray_use_

char* smbios_memarray_use_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "System memory",
"Video memory", "Flash memory", "Non-volatile RAM", "Cache memory"
}

## smbios_memdevice_detail_

char* smbios_memdevice_detail_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Fast-paged",
"Static column", "Pseudo-static", "RAMBUS", "Synchronous",
"CMOS", "EDO", "Window DRAM", "Cache DRAM",
"Non-volatile"
}

## smbios_memdevice_form_

char* smbios_memdevice_form_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "SIMM",
"SIP", "Chip", "DIP", "ZIP",
"Proprietary Card", "DIMM", "TSOP", "Row of Chips",
"RIMM", "SODIMM", "SRIMM", "FB-DIMM"
}

## smbios_memdevice_type_

char* smbios_memdevice_type_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "DRAM",
"EDRAM", "VRAM", "SRAM", "RAM",
"ROM", "FLASH", "EEPROM", "FEPROM",
"EPROM", "CDRAM", "3DRAM", "SDRAM",
"SGRAM", "RDRAM", "DDR"
}

## smbios_memerror_granularity_

char* smbios_memerror_granularity_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Device level",
"Memory partition level"
}

## smbios_memerror_operation_

char* smbios_memerror_operation_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Read",
"Write", "Partial write"
}

## smbios_memerror_type_

char* smbios_memerror_type_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "OK",
"Bad read", "Parity error", "Single-bit error", "Double-bit error",
"Multi-bit error", "Nibble error", "Checksum error", "CRC error",
"Corrected single-bit error", "Corrected error", "Uncorrectable error"
}

## smbios_mouse_interface_

sm_num2str_t smbios_mouse_interface_[]

static

Initial value:
= {
{ 0x00, NULL },
{ 0x01, "Other" },
{ 0x02, "Unknown" },
{ 0x03, "Serial" },
{ 0x04, "PS/2" },
{ 0x05, "Infrared" },
{ 0x06, "HP-HIL" },
{ 0x07, "Bus Mouse" },
{ 0x08, "ADB" },
{ 0xa0, "Bus mouse DB-9" },
{ 0xa1, "Bus mouse micro-DIN" },
{ 0xa2, "USB" }
}

## smbios_mouse_type_

char* smbios_mouse_type_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Mouse",
"Track Ball", "Track Point", "Glide Point", "Touch Pad",
"Touch Screen", "Optical Sensor"
}

## smbios_onboard_type_

char* smbios_onboard_type_[]

static

Initial value:
= {
"Other", "Other", "Unknown", "Video",
"SCSI Controller", "Ethernet", "Token Ring", "Sound"
}

## smbios_proc_cpu_status_

char* smbios_proc_cpu_status_[8]

static

Initial value:
= {
"Unknown", "Enabled", "Disabled by User", "Disabled by BIOS",
"Idle", "Reserved", "Reserved", "Other"
}

## smbios_proc_families_

sm_num2str_t smbios_proc_families_[]

static

## smbios_proc_types_

char* smbios_proc_types_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "CPU",
"Math", "DSP", "Video"
}

## smbios_proc_upgrades_

char* smbios_proc_upgrades_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Daughter Board",
"ZIF Socket", "Replaceable Piggy Back", "None", "LIF Socket",
"Slot 1", "Slot 2", "370-Pin Socket", "Slot A",
"Slot M", "Socket 423", "Socket A (Socket 462)", "Socket 478",
"Socket 754", "Socket 940"
}

## smbios_secure_state_

char* smbios_secure_state_[]

static

Initial value:
= {
"Disabled", "Enabled", "Not Implemented", "Unknown"
}

## smbios_slot_bus_width_

char* smbios_slot_bus_width_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "8 bit",
"16 bit", "32 bit", "64 bit", "128 bit"
}

## smbios_slot_feature_

char* smbios_slot_feature_[]

static

Initial value:
= {
"Unknown", "5.0 V", "3.3 V", "Shared",
"PC Card-16", "CardBus", "Zoom Video", "Modem Ring Resume",
"PME#", "Hot-Plug"
}

## smbios_slot_length_

char* smbios_slot_length_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Short",
"Long"
}

## smbios_slot_type_

sm_num2str_t smbios_slot_type_[]

static

Initial value:
= {
{ 0x00, NULL },
{ 0x01, "Other" },
{ 0x02, "Unknown" },
{ 0x03, "ISA" },
{ 0x04, "MCA" },
{ 0x05, "EISA" },
{ 0x06, "PCI" },
{ 0x07, "PC Card [PCMCIA]" },
{ 0x08, "VL-VESA" },
{ 0x09, "Proprietary" },
{ 0x0a, "Processor Card" },
{ 0x0b, "Proprietary Memory Card" },
{ 0x0c, "I/O Riser Card" },
{ 0x0d, "NuBus" },
{ 0x0e, "PCI - 66MHz Capable" },
{ 0x0f, "AGP" },
{ 0x10, "AGP 2X" },
{ 0x11, "AGP 4X" },
{ 0x12, "PCI-X" },
{ 0x13, "AGP 8X" },
{ 0xa0, "PC-98/C20" },
{ 0xa1, "PC-98/C24" },
{ 0xa2, "PC-98/E" },
{ 0xa3, "PC-98/Local Bus" },
{ 0xa4, "PC-98/Card" }
}

## smbios_slot_usage_

char* smbios_slot_usage_[]

static

Initial value:
= {
NULL, "Other", "Unknown", "Available",
"In Use"
}

## smbios_system_wakeups_

char* smbios_system_wakeups_[]

static

Initial value:
= {
"Reserved", "Other", "Unknown", "APM Timer",
"Modem Ring", "LAN Remote", "Power Switch", "PCI PME#",
"AC Power Restored"
}