1 /* ----------------------------------------------------------------------- * 2 * 3 * Copyright 2006 Erwan Velu - All Rights Reserved 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330, 8 * Boston MA 02111-1307, USA; either version 2 of the License, or 9 * (at your option) any later version; incorporated herein by reference. 10 * 11 * ----------------------------------------------------------------------- */ 12 13 #ifndef DMI_SYSTEM_H 14 #define DMI_SYSTEM_H 15 16 #define SYSTEM_MANUFACTURER_SIZE 65 17 #define SYSTEM_PRODUCT_NAME_SIZE 65 18 #define SYSTEM_VERSION_SIZE 65 19 #define SYSTEM_SERIAL_SIZE 65 20 #define SYSTEM_UUID_SIZE 40 21 #define SYSTEM_WAKEUP_TYPE_SIZE 32 22 #define SYSTEM_SKU_NUMBER_SIZE 65 23 #define SYSTEM_FAMILY_SIZE 65 24 25 #define SYSTEM_BOOT_STATUS_SIZE 50 26 #define SYSTEM_CONFIGURATION_OPTIONS_SIZE 50 27 28 typedef struct { 29 char manufacturer[SYSTEM_MANUFACTURER_SIZE]; 30 char product_name[SYSTEM_PRODUCT_NAME_SIZE]; 31 char version[SYSTEM_VERSION_SIZE]; 32 char serial[SYSTEM_SERIAL_SIZE]; 33 char uuid[SYSTEM_UUID_SIZE]; 34 char wakeup_type[SYSTEM_WAKEUP_TYPE_SIZE]; 35 char sku_number[SYSTEM_SKU_NUMBER_SIZE]; 36 char family[SYSTEM_FAMILY_SIZE]; 37 /* The filled field have to be set to true when the dmitable implement that item */ 38 bool filled; 39 char system_boot_status[SYSTEM_BOOT_STATUS_SIZE]; 40 char configuration_options[SYSTEM_CONFIGURATION_OPTIONS_SIZE]; 41 struct { 42 bool filled; 43 uint8_t status; 44 uint8_t watchdog; 45 char boot_option[17]; 46 char boot_option_on_limit[17]; 47 char reset_count[8]; 48 char reset_limit[8]; 49 char timer_interval[8]; 50 char timeout[8]; 51 } system_reset; 52 } s_system; 53 #endif 54