1/* ----------------------------------------------------------------------- *
2 *
3 *   Copyright 2009 Erwan Velu - 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/*
30 * vpdtest.c
31 *
32 * VPD demo program using libcom32
33 */
34
35#include <string.h>
36#include <stdio.h>
37#include <console.h>
38#include "vpd/vpd.h"
39
40int main(void)
41{
42    s_vpd vpd;
43
44    if (vpd_decode(&vpd) == -ENOVPDTABLE) {
45	printf("No VPD Structure found\n");
46	return -1;
47    } else {
48	printf("VPD present at address : 0x%s\n", vpd.base_address);
49    }
50    if (strlen(vpd.bios_build_id) > 0)
51	printf("Bios Build ID                 : %s\n", vpd.bios_build_id);
52    if (strlen(vpd.bios_release_date) > 0)
53	printf("Bios Release Date             : %s\n", vpd.bios_release_date);
54    if (strlen(vpd.bios_version) > 0)
55	printf("Bios Version                  : %s\n", vpd.bios_version);
56    if (strlen(vpd.default_flash_filename) > 0)
57	printf("Default Flash Filename        : %s\n",
58	       vpd.default_flash_filename);
59    if (strlen(vpd.box_serial_number) > 0)
60	printf("Box Serial Number             : %s\n", vpd.box_serial_number);
61    if (strlen(vpd.motherboard_serial_number) > 0)
62	printf("Motherboard Serial Number     : %s\n",
63	       vpd.motherboard_serial_number);
64    if (strlen(vpd.machine_type_model) > 0)
65	printf("Machine Type/Model            : %s\n", vpd.machine_type_model);
66
67    return 0;
68}
69