00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef DELLMAGIC_H
00019 #define DELLMAGIC_H
00020
00021
00022 #define NvramByte1_Token 0x83
00023 #define NvramByte2_Token 0x84
00024 #define BIOS_Information_Version_Offset 0x05
00025 #define System_Information_Manufacturer_Offset 0x04
00026 #define System_Information_Product_Name_Offset 0x05
00027 #define System_Information_Serial_Number_Offset 0x07
00028 #define System_Enclosure_or_Chassis_Service_Offset 0x07
00029 #define System_Enclosure_or_Chassis_Asset_Offset 0x08
00030 #define ID_Byte_Location 0xFE845
00031 #define ID_Word_Location 0xFE840
00032 #define Cmos_Asset_Token 0xC000
00033 #define Cmos_Service_Token 0xC003
00034 #define OEM_String_Field_Number 1
00035 #define Bayonet_Detect_String "Dell System"
00036 #define DELL_SYSTEM_STRING_LOC 0xFE076
00037 #define DELL_SYSTEM_STRING "Dell System"
00038 #define DELL_SYSTEM_STRING_LEN 12
00039 #define TWO_BYTE_STRUCT_LOC 0xFE840
00040 #define DELL_SYSTEM_STRING_LOC_DIAMOND_1 0xD8044
00041 #define DELL_SYSTEM_STRING_LOC_DIAMOND_2 0xDC044
00042 #define ID_BYTE_LOC_DIAMOND_1 0xD8040
00043 #define ID_BYTE_LOC_DIAMOND_2 0xDC040
00044 #define SYSTEM_ID_DIAMOND 0x8C
00045 #define OEM_Dell_String "Dell"
00046 #define OEM_String_Location 0xFE076
00047 #define SVC_TAG_CMOS_LEN_MAX 5
00048 #define SVC_TAG_LEN_MAX 7
00049 #define ASSET_TAG_CMOS_LEN_MAX 10
00050 #define ASSET_TAG_LEN_MAX 10
00051
00052 namespace smbios
00053 {
00054 #if defined(_MSC_VER)
00055 #pragma pack(push,1)
00056 #endif
00057
00058
00059
00060 struct up_info
00061 {
00062 char anchor[4];
00063 u16 stuff1;
00064 u8 offset;
00065 u16 stuff2;
00066 u8 flag;
00067 }
00068 LIBSMBIOS_PACKED_ATTR;
00069
00070 struct one_byte_structure
00071 {
00072 u8 bios_version[3];
00073 u8 system_id;
00074 u8 platform_revision;
00075 u8 checksum;
00076 }
00077 LIBSMBIOS_PACKED_ATTR;
00078
00079 struct two_byte_structure
00080 {
00081 u16 two_byte_id;
00082 u8 bios_version[3];
00083 u8 system_id;
00084 u8 platform_revision;
00085 u8 checksum;
00086 u8 Reserved1;
00087 u8 Reserved2;
00088 u8 extended_checksum;
00089 u8 extension_byte_count;
00090 u8 first_extended_byte;
00091
00092 }
00093 LIBSMBIOS_PACKED_ATTR;
00094
00095 #if defined(_MSC_VER)
00096 #pragma pack(pop)
00097 #endif
00098 }
00099
00100 #endif