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_CHASSIS_H 14 #define DMI_CHASSIS_H 15 16 #define CHASSIS_MANUFACTURER_SIZE 65 17 #define CHASSIS_TYPE_SIZE 16 18 #define CHASSIS_LOCK_SIZE 16 19 #define CHASSIS_VERSION_SIZE 65 20 #define CHASSIS_SERIAL_SIZE 65 21 #define CHASSIS_ASSET_TAG_SIZE 65 22 #define CHASSIS_BOOT_UP_STATE_SIZE 32 23 #define CHASSIS_POWER_SUPPLY_STATE_SIZE 32 24 #define CHASSIS_THERMAL_STATE_SIZE 32 25 #define CHASSIS_SECURITY_STATUS_SIZE 32 26 #define CHASSIS_OEM_INFORMATION_SIZE 32 27 28 typedef struct { 29 char manufacturer[CHASSIS_MANUFACTURER_SIZE]; 30 char type[CHASSIS_TYPE_SIZE]; 31 char lock[CHASSIS_LOCK_SIZE]; 32 char version[CHASSIS_VERSION_SIZE]; 33 char serial[CHASSIS_SERIAL_SIZE]; 34 char asset_tag[CHASSIS_ASSET_TAG_SIZE]; 35 char boot_up_state[CHASSIS_BOOT_UP_STATE_SIZE]; 36 char power_supply_state[CHASSIS_POWER_SUPPLY_STATE_SIZE]; 37 char thermal_state[CHASSIS_THERMAL_STATE_SIZE]; 38 char security_status[CHASSIS_SECURITY_STATUS_SIZE]; 39 char oem_information[CHASSIS_OEM_INFORMATION_SIZE]; 40 uint16_t height; 41 uint16_t nb_power_cords; 42 /* The filled field have to be set to true when the dmitable implement that item */ 43 bool filled; 44 } s_chassis; 45 46 const char *dmi_chassis_type(uint8_t code); 47 const char *dmi_chassis_lock(uint8_t code); 48 const char *dmi_chassis_state(uint8_t code); 49 const char *dmi_chassis_security_status(uint8_t code); 50 #endif 51