+#define IPMI_SEL_SYSTEM_RECORD 0x02\r
+#define IPMI_SEL_OEM_TIME_STAMP_RECORD_START 0xC0\r
+#define IPMI_SEL_OEM_TIME_STAMP_RECORD_END 0xDF\r
+#define IPMI_SEL_OEM_NO_TIME_STAMP_RECORD_START 0xE0\r
+#define IPMI_SEL_OEM_NO_TIME_STAMP_RECORD_END 0xFF\r
+\r
+#define IPMI_SEL_EVENT_DIR(EventDirType) (EventDirType >> 7)\r
+#define IPMI_SEL_EVENT_DIR_ASSERTION_EVENT 0x00\r
+#define IPMI_SEL_EVENT_DIR_DEASSERTION_EVENT 0x01\r
+\r
+#define IPMI_SEL_EVENT_TYPE(EventDirType) (EventDirType & 0x7F)\r
+//\r
+// Event/Reading Type Code Ranges (Chapter 42)\r
+//\r
+#define IPMI_SEL_EVENT_TYPE_UNSPECIFIED 0x00\r
+#define IPMI_SEL_EVENT_TYPE_THRESHOLD 0x01\r
+#define IPMI_SEL_EVENT_TYPE_GENERIC_START 0x02\r
+#define IPMI_SEL_EVENT_TYPE_GENERIC_END 0x0C\r
+#define IPMI_SEL_EVENT_TYPE_SENSOR_SPECIFIC 0x6F\r
+#define IPMI_SEL_EVENT_TYPE_OEM_START 0x70\r
+#define IPMI_SEL_EVENT_TYPE_OEM_END 0x7F\r
+\r
+#define SOFTWARE_ID_FROM_GENERATOR_ID(GeneratorId) ((GeneratorId & 0xFF) >> 1)\r
+//\r
+// System Software IDs definitions (Section 5.5)\r
+//\r
+#define IPMI_SWID_BIOS_RANGE_START 0x00\r
+#define IPMI_SWID_BIOS_RANGE_END 0x0F\r
+#define IPMI_SWID_SMI_HANDLER_RANGE_START 0x10\r
+#define IPMI_SWID_SMI_HANDLER_RANGE_END 0x1F\r
+#define IPMI_SWID_SMS_RANGE_START 0x20\r
+#define IPMI_SWID_SMS_RANGE_END 0x2F\r
+#define IPMI_SWID_OEM_RANGE_START 0x30\r
+#define IPMI_SWID_OEM_RANGE_END 0x3F\r
+#define IPMI_SWID_REMOTE_CONSOLE_RANGE_START 0x40\r
+#define IPMI_SWID_REMOTE_CONSOLE_RANGE_END 0x46\r
+#define IPMI_SWID_TERMINAL_REMOTE_CONSOLE_ID 0x47\r
+\r
+#define SLAVE_ADDRESS_FROM_GENERATOR_ID(GeneratorId) ((GeneratorId & 0xFF) >> 1)\r
+#define LUN_FROM_GENERATOR_ID(GeneratorId) ((GeneratorId >> 8) & 0x03)\r
+#define CHANNEL_NUMBER_FROM_GENERATOR_ID(GeneratorId) ((GeneratorId >> 12) & 0x0F)\r
+\r
+#define IPMI_EVM_REVISION 0x04\r
+#define IPMI_BIOS_ID 0x18\r
+#define IPMI_FORMAT_REV 0x00\r
+#define IPMI_FORMAT_REV1 0x01\r
+#define IPMI_SOFTWARE_ID 0x01\r
+#define IPMI_PLATFORM_VAL_ID 0x01\r
+#define IPMI_GENERATOR_ID(i,f) ((i << 1) | (f << 1) | IPMI_SOFTWARE_ID)\r
+\r
+#define IPMI_SENSOR_TYPE_EVENT_CODE_DISCRETE 0x6F\r
+\r
+#define IPMI_OEM_SPECIFIC_DATA 0x02\r
+#define IPMI_SENSOR_SPECIFIC_DATA 0x03\r