1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29#include "hdt-menu.h"
30
31
32
33
34void compute_vpd(struct s_my_menu *menu, struct s_hardware *hardware)
35{
36 char buffer[SUBMENULEN + 1];
37 char statbuffer[STATLEN + 1];
38
39 menu->menu = add_menu(" VPD ", -1);
40 menu->items_count = 0;
41 set_menu_pos(SUBMENU_Y, SUBMENU_X);
42
43 snprintf(buffer, sizeof buffer, "Address : %s",
44 hardware->vpd.base_address);
45 snprintf(statbuffer, sizeof statbuffer, "Address: %s",
46 hardware->cpu.vendor);
47 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
48 menu->items_count++;
49
50 if (strlen(hardware->vpd.bios_build_id) > 0) {
51 snprintf(buffer, sizeof buffer, "Bios Build ID : %s",
52 hardware->vpd.bios_build_id);
53 snprintf(statbuffer, sizeof statbuffer, "Bios Build ID: %s",
54 hardware->vpd.bios_build_id);
55 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
56 menu->items_count++;
57 }
58
59 if (strlen(hardware->vpd.bios_release_date) > 0) {
60 snprintf(buffer, sizeof buffer, "Bios Release Date : %s",
61 hardware->vpd.bios_release_date);
62 snprintf(statbuffer, sizeof statbuffer, "Bios Release Date: %s",
63 hardware->vpd.bios_release_date);
64 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
65 menu->items_count++;
66 }
67
68 if (strlen(hardware->vpd.bios_version) > 0) {
69 snprintf(buffer, sizeof buffer, "Bios Version : %s",
70 hardware->vpd.bios_version);
71 snprintf(statbuffer, sizeof statbuffer, "Bios Version: %s",
72 hardware->vpd.bios_version);
73 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
74 menu->items_count++;
75 }
76
77 if (strlen(hardware->vpd.default_flash_filename) > 0) {
78 snprintf(buffer, sizeof buffer, "Default Flash Filename : %s",
79 hardware->vpd.default_flash_filename);
80 snprintf(statbuffer, sizeof statbuffer, "Default Flash Filename: %s",
81 hardware->vpd.default_flash_filename);
82 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
83 menu->items_count++;
84 }
85
86 if (strlen(hardware->vpd.box_serial_number) > 0) {
87 snprintf(buffer, sizeof buffer, "Box Serial Number : %s",
88 hardware->vpd.box_serial_number);
89 snprintf(statbuffer, sizeof statbuffer, "Box Serial Number: %s",
90 hardware->vpd.box_serial_number);
91 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
92 menu->items_count++;
93 }
94
95 if (strlen(hardware->vpd.motherboard_serial_number) > 0) {
96 snprintf(buffer, sizeof buffer, "Motherboard Serial Number: %s",
97 hardware->vpd.motherboard_serial_number);
98 snprintf(statbuffer, sizeof statbuffer, "Motherboard Serial Number: %s",
99 hardware->vpd.motherboard_serial_number);
100 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
101 menu->items_count++;
102 }
103
104 if (strlen(hardware->vpd.machine_type_model) > 0) {
105 snprintf(buffer, sizeof buffer, "Machine Type/Model : %s",
106 hardware->vpd.machine_type_model);
107 snprintf(statbuffer, sizeof statbuffer, "Machine Type/Model: %s",
108 hardware->vpd.machine_type_model);
109 add_item(buffer, statbuffer, OPT_INACTIVE, NULL, 0);
110 menu->items_count++;
111 }
112
113 printf("MENU: VPD menu done (%d items)\n", menu->items_count);
114}
115