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 28typedef 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 46const char *dmi_chassis_type(uint8_t code); 47const char *dmi_chassis_lock(uint8_t code); 48const char *dmi_chassis_state(uint8_t code); 49const char *dmi_chassis_security_status(uint8_t code); 50#endif 51