176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* ----------------------------------------------------------------------- * 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Copyright 2006 Erwan Velu - All Rights Reserved 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * This program is free software; you can redistribute it and/or modify 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * it under the terms of the GNU General Public License as published by 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * the Free Software Foundation, Inc., 53 Temple Place Ste 330, 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Boston MA 02111-1307, USA; either version 2 of the License, or 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * (at your option) any later version; incorporated herein by reference. 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * ----------------------------------------------------------------------- */ 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef DMI_SYSTEM_H 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define DMI_SYSTEM_H 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_MANUFACTURER_SIZE 65 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_PRODUCT_NAME_SIZE 65 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_VERSION_SIZE 65 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_SERIAL_SIZE 65 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_UUID_SIZE 40 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_WAKEUP_TYPE_SIZE 32 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_SKU_NUMBER_SIZE 65 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_FAMILY_SIZE 65 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_BOOT_STATUS_SIZE 50 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define SYSTEM_CONFIGURATION_OPTIONS_SIZE 50 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmantypedef struct { 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char manufacturer[SYSTEM_MANUFACTURER_SIZE]; 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char product_name[SYSTEM_PRODUCT_NAME_SIZE]; 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char version[SYSTEM_VERSION_SIZE]; 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char serial[SYSTEM_SERIAL_SIZE]; 3376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char uuid[SYSTEM_UUID_SIZE]; 3476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char wakeup_type[SYSTEM_WAKEUP_TYPE_SIZE]; 3576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char sku_number[SYSTEM_SKU_NUMBER_SIZE]; 3676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char family[SYSTEM_FAMILY_SIZE]; 3776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* The filled field have to be set to true when the dmitable implement that item */ 3876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman bool filled; 3976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char system_boot_status[SYSTEM_BOOT_STATUS_SIZE]; 4076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char configuration_options[SYSTEM_CONFIGURATION_OPTIONS_SIZE]; 4176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman struct { 4276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman bool filled; 4376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint8_t status; 4476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman uint8_t watchdog; 4576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char boot_option[17]; 4676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char boot_option_on_limit[17]; 4776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char reset_count[8]; 4876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char reset_limit[8]; 4976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char timer_interval[8]; 5076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char timeout[8]; 5176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman } system_reset; 5276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} s_system; 5376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 54