syslinux/com32/hdt/hdt-menu-vpd.c
<<
>>
Prefs
   1/* ----------------------------------------------------------------------- *
   2 *
   3 *   Copyright 2009 Pierre-Alexandre Meyer - All Rights Reserved
   4 *
   5 *   Permission is hereby granted, free of charge, to any person
   6 *   obtaining a copy of this software and associated documentation
   7 *   files (the "Software"), to deal in the Software without
   8 *   restriction, including without limitation the rights to use,
   9 *   copy, modify, merge, publish, distribute, sublicense, and/or
  10 *   sell copies of the Software, and to permit persons to whom
  11 *   the Software is furnished to do so, subject to the following
  12 *   conditions:
  13 *
  14 *   The above copyright notice and this permission notice shall
  15 *   be included in all copies or substantial portions of the Software.
  16 *
  17 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  18 *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  19 *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  20 *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  21 *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  22 *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  23 *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  24 *   OTHER DEALINGS IN THE SOFTWARE.
  25 *
  26 * -----------------------------------------------------------------------
  27 */
  28
  29#include "hdt-menu.h"
  30
  31/**
  32 * compute_vpd - generate vpd menu
  33 **/
  34void compute_vpd(struct s_my_menu *menu, struct s_hardware *hardware)
  35{
  36    char buffer[SUBMENULEN + 1];
  37    char statbuffer[STATLEN + 1];       /* Status bar */
  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
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.