40#define MK_ENUM(S, F, SUFFIX) S ## _ ## F ## SUFFIX
42#define GEN_GETTER(LS, US, LF, UF) \
44LS ## _get_ ## LF(struct LS *elem) { \
45 return ((elem->bytes[MK_ENUM(US,UF,_BYTE)] & MK_ENUM(US,UF,_MASK)) \
46 >> MK_ENUM(US,UF,_SHIFT)); \
49#define GEN_SETTER(LS, US, LF, UF) \
51LS ## _set_ ## LF(struct LS *elem, int val) { \
52 elem->bytes[MK_ENUM(US,UF,_BYTE)] &= ~MK_ENUM(US,UF,_MASK); \
53 elem->bytes[MK_ENUM(US,UF,_BYTE)] |= \
54 (val << MK_ENUM(US,UF,_SHIFT)) & MK_ENUM(US,UF,_MASK); \
57#define GEN_HDR_GETTER(LS, US, LF, UF) \
59LS ## _get_ ## LF(struct LS *page) { \
60 return ((page->hdr.page_specific_flags & MK_ENUM(US,UF,_MASK)) \
61 >> MK_ENUM(US,UF,_SHIFT)); \
64#define GEN_HDR_SETTER(LS, US, LF, UF) \
66LS ## _set_ ## LF(struct LS *page, int val) { \
67 page->hdr.page_specific_flags &= ~MK_ENUM(US,UF,_MASK); \
68 page->hdr.page_specific_flags |= \
69 (val << MK_ENUM(US,UF,_SHIFT)) & MK_ENUM(US,UF,_MASK); \
72#define GEN_ACCESSORS(LS, US, LF, UF) \
73GEN_GETTER(LS, US, LF, UF) \
74GEN_SETTER(LS, US, LF, UF)
76#define GEN_HDR_ACCESSORS(LS, US, LF, UF) \
77GEN_HDR_GETTER(LS, US, LF, UF) \
78GEN_HDR_SETTER(LS, US, LF, UF)
119static inline uint8_t *
134 return (&encdesc->
length <= last_buf_byte
181#define GEN_SES_CTRL_COMMON_ACCESSORS(LCASE, UCASE) \
182 GEN_ACCESSORS(ses_ctrl_common, SES_CTRL_COMMON, LCASE, UCASE)
187#undef GEN_SES_CTRL_COMMON_ACCESSORS
236#define GEN_SES_CTRL_DEV_SLOT_ACCESSORS(LCASE, UCASE) \
237 GEN_ACCESSORS(ses_ctrl_dev_slot, SES_CTRL_DEV_SLOT, LCASE, UCASE)
249#undef GEN_SES_CTRL_DEV_SLOT_ACCESSORS
296#define GEN_SES_CTRL_ARRAY_DEV_SLOT_ACCESSORS(LCASE, UCASE) \
297 GEN_ACCESSORS(ses_ctrl_array_dev_slot, SES_CTRL_ARRAY_DEV_SLOT, \
305 RQST_IN_FAILED_ARRAY)
308 RQST_REBUILD_REMAP_ABORT)
309#undef GEN_SES_CTRL_ARRAY_DEV_SLOT_ACCESSORS
331#define GEN_SES_CTRL_POWER_SUPPLY_ACCESSORS(LCASE, UCASE) \
332 GEN_ACCESSORS(ses_ctrl_power_supply, SES_CTRL_POWER_SUPPLY, LCASE, UCASE)
336#undef GEN_SES_CTRL_POWER_SUPPLY_ACCESSORS
365#define GEN_SES_CTRL_COOLING_ACCESSORS(LCASE, UCASE) \
366 GEN_ACCESSORS(ses_ctrl_cooling, SES_CTRL_COOLING, LCASE, UCASE)
371#undef GEN_SES_CTRL_COOLING_ACCESSORS
389#define GEN_SES_CTRL_TEMP_SENSOR_ACCESSORS(LCASE, UCASE) \
390 GEN_ACCESSORS(ses_ctrl_temp_sensor, SES_CTRL_TEMP_SENSOR, LCASE, UCASE)
393#undef GEN_SES_CTRL_TEMP_SENSOR_ACCESSORS
415#define GEN_SES_CTRL_DOOR_LOCK_ACCESSORS(LCASE, UCASE) \
416 GEN_ACCESSORS(ses_ctrl_door_lock, SES_CTRL_DOOR_LOCK, LCASE, UCASE)
420#undef GEN_SES_CTRL_DOOR_LOCK_ACCESSORS
454#define GEN_SES_CTRL_AUDIBLE_ALARM_ACCESSORS(LCASE, UCASE) \
455 GEN_ACCESSORS(ses_ctrl_audible_alarm, SES_CTRL_AUDIBLE_ALARM, LCASE, UCASE)
461#undef GEN_SES_CTRL_AUDIBLE_ALARM_ACCESSORS
483#define GEN_SES_CTRL_ECC_ELECTRONICS_ACCESSORS(LCASE, UCASE) \
484 GEN_ACCESSORS(ses_ctrl_ecc_electronics, SES_CTRL_ECC_ELECTRONICS, \
489#undef GEN_SES_CTRL_ECC_ELECTRONICS_ACCESSORS
507#define GEN_SES_CTRL_SCC_ELECTRONICS_ACCESSORS(LCASE, UCASE) \
508 GEN_ACCESSORS(ses_ctrl_scc_electronics, SES_CTRL_SCC_ELECTRONICS, \
512#undef GEN_SES_CTRL_SCC_ELECTRONICS_ACCESSORS
530#define GEN_SES_CTRL_NV_CACHE_ACCESSORS(LCASE, UCASE) \
531 GEN_ACCESSORS(ses_ctrl_nv_cache, SES_CTRL_NV_CACHE, LCASE, UCASE)
534#undef GEN_SES_CTRL_NV_CACHE_ACCESSORS
560#define GEN_SES_CTRL_UPS_ACCESSORS(LCASE, UCASE) \
561 GEN_ACCESSORS(ses_ctrl_ups, SES_CTRL_UPS, LCASE, UCASE)
564#undef GEN_SES_CTRL_UPS_ACCESSORS
590#define GEN_SES_CTRL_DISPLAY_ACCESSORS(LCASE, UCASE) \
591 GEN_ACCESSORS(ses_ctrl_display, SES_CTRL_DISPLAY, LCASE, UCASE)
595#undef GEN_SES_CTRL_DISPLAY_ACCESSORS
613#define GEN_SES_CTRL_KEY_PAD_ENTRY_ACCESSORS(LCASE, UCASE) \
614 GEN_ACCESSORS(ses_ctrl_key_pad_entry, SES_CTRL_KEY_PAD_ENTRY, LCASE, UCASE)
617#undef GEN_SES_CTRL_KEY_PAD_ENTRY_ACCESSORS
657#define GEN_SES_CTRL_ENCLOSURE_ACCESSORS(LCASE, UCASE) \
658 GEN_ACCESSORS(ses_ctrl_enclosure, SES_CTRL_ENCLOSURE, LCASE, UCASE)
665#undef GEN_SES_CTRL_ENCLOSURE_ACCESSORS
687#define GEN_SES_CTRL_SCSI_PORT_OR_XCVR_ACCESSORS(LCASE, UCASE) \
688 GEN_ACCESSORS(ses_ctrl_scsi_port_or_xcvr, SES_CTRL_SCSI_PORT_OR_XCVR,\
693#undef GEN_SES_CTRL_SCSI_PORT_OR_XCVR_ACCESSORS
708#define GEN_SES_CTRL_LANGUAGE_ACCESSORS(LCASE, UCASE) \
709 GEN_ACCESSORS(ses_ctrl_language, SES_CTRL_LANGUAGE, LCASE, UCASE)
711#undef GEN_SES_CTRL_LANGUAGE_ACCESSORS
733#define GEN_SES_CTRL_COMM_PORT_ACCESSORS(LCASE, UCASE) \
734 GEN_ACCESSORS(ses_ctrl_comm_port, SES_CTRL_COMM_PORT, LCASE, UCASE)
738#undef GEN_SES_CTRL_COMM_PORT_ACCESSORS
756#define GEN_SES_CTRL_VOLTAGE_SENSOR_ACCESSORS(LCASE, UCASE) \
757 GEN_ACCESSORS(ses_ctrl_voltage_sensor, SES_CTRL_VOLTAGE_SENSOR, \
761#undef GEN_SES_CTRL_VOLTAGE_SENSOR_ACCESSORS
779#define GEN_SES_CTRL_CURRENT_SENSOR_ACCESSORS(LCASE, UCASE) \
780 GEN_ACCESSORS(ses_ctrl_current_sensor, SES_CTRL_CURRENT_SENSOR, \
784#undef GEN_SES_CTRL_CURRENT_SENSOR_ACCESSORS
806#define GEN_SES_CTRL_TARGET_PORT_ACCESSORS(LCASE, UCASE) \
807 GEN_ACCESSORS(ses_ctrl_target_port, SES_CTRL_TARGET_PORT, LCASE, UCASE)
811#undef GEN_SES_CTRL_TARGET_PORT_ACCESSORS
833#define GEN_SES_CTRL_INITIATOR_PORT_ACCESSORS(LCASE, UCASE) \
834 GEN_ACCESSORS(ses_ctrl_initiator_port, SES_CTRL_INITIATOR_PORT, \
839#undef GEN_SES_CTRL_INITIATOR_PORT_ACCESSORS
857#define GEN_SES_CTRL_SIMPlE_SUBSES_ACCESSORS(LCASE, UCASE) \
858 GEN_ACCESSORS(ses_ctrl_simple_subenc, SES_CTRL_SIMPlE_SUBSES, \
862#undef GEN_SES_CTRL_SIMPlE_SUBSES_ACCESSORS
880#define GEN_SES_CTRL_SAS_EXPANDER_ACCESSORS(LCASE, UCASE) \
881 GEN_ACCESSORS(ses_ctrl_sas_expander, SES_CTRL_SAS_EXPANDER, LCASE, UCASE)
884#undef GEN_SES_CTRL_SAS_EXPANDER_ACCESSORS
902#define GEN_SES_CTRL_SAS_CONNECTOR_ACCESSORS(LCASE, UCASE) \
903 GEN_ACCESSORS(ses_ctrl_sas_connector, SES_CTRL_SAS_CONNECTOR, \
907#undef GEN_SES_CTRL_SAS_CONNECTOR_ACCESSORS
958#define GEN_SES_CTRL_PAGE_ACCESSORS(LCASE, UCASE) \
959 GEN_HDR_ACCESSORS(ses_ctrl_page, SES_CTRL_PAGE, LCASE, UCASE)
965#undef GEN_SES_CTRL_PAGE_ACCESSORS
990#define GEN_SES_STATUS_COMMON_ACCESSORS(LCASE, UCASE) \
991 GEN_GETTER(ses_status_common, SES_STATUS_COMMON, LCASE, UCASE)
997#undef GEN_SES_STATUS_COMMON_ACCESSORS
1071#define GEN_SES_STATUS_DEV_SLOT_ACCESSORS(LCASE, UCASE) \
1072 GEN_GETTER(ses_status_dev_slot, SES_STATUS_DEV_SLOT, LCASE, UCASE)
1090#undef GEN_SES_STATUS_DEV_SLOT_ACCESSORS
1137#define GEN_SES_STATUS_ARRAY_DEV_SLOT_ACCESSORS(LCASE, UCASE) \
1138 GEN_GETTER(ses_status_array_dev_slot, SES_STATUS_ARRAY_DEV_SLOT, \
1148 REBUILD_REMAP_ABORT)
1149#undef GEN_SES_STATUS_ARRAY_DEV_SLOT_ACCESSORS
1152struct ses_status_power_supply {
1207#define GEN_SES_STATUS_POWER_SUPPLY_ACCESSORS(LCASE, UCASE) \
1208 GEN_GETTER(ses_status_power_supply, SES_STATUS_POWER_SUPPLY, LCASE, UCASE)
1221#undef GEN_SES_STATUS_POWER_SUPPLY_ACCESSORS
1266#define GEN_SES_STATUS_COOLING_ACCESSORS(LCASE, UCASE) \
1267 GEN_GETTER(ses_status_cooling, SES_STATUS_COOLING, LCASE, UCASE)
1276#undef GEN_SES_STATUS_COOLING_ACCESSORS
1281 return (ses_status_cooling_get_actual_fan_speed_msb(elem) << 8
1282 | ses_status_cooling_get_actual_fan_speed_lsb(elem));
1321#define GEN_SES_STATUS_TEMP_SENSOR_ACCESSORS(LCASE, UCASE) \
1322 GEN_GETTER(ses_status_temp_sensor, SES_STATUS_TEMP_SENSOR, LCASE, UCASE)
1330#undef GEN_SES_STATUS_TEMP_SENSOR_ACCESSORS
1352#define GEN_SES_STATUS_DOOR_LOCK_ACCESSORS(LCASE, UCASE) \
1353 GEN_GETTER(ses_status_door_lock, SES_STATUS_DOOR_LOCK, LCASE, UCASE)
1357#undef GEN_SES_STATUS_DOOR_LOCK_ACCESSORS
1395#define GEN_SES_STATUS_AUDIBLE_ALARM_ACCESSORS(LCASE, UCASE) \
1396 GEN_GETTER(ses_status_audible_alarm, SES_STATUS_AUDIBLE_ALARM, LCASE, UCASE)
1403#undef GEN_SES_STATUS_AUDIBLE_ALARM_ACCESSORS
1429#define GEN_SES_STATUS_ECC_ELECTRONICS_ACCESSORS(LCASE, UCASE) \
1430 GEN_GETTER(ses_status_ecc_electronics, SES_STATUS_ECC_ELECTRONICS, \
1436#undef GEN_SES_STATUS_ECC_ELECTRONICS_ACCESSORS
1458#define GEN_SES_STATUS_SCC_ELECTRONICS_ACCESSORS(LCASE, UCASE) \
1459 GEN_GETTER(ses_status_scc_electronics, SES_STATUS_SCC_ELECTRONICS, \
1464#undef GEN_SES_STATUS_SCC_ELECTRONICS_ACCESSORS
1491#define GEN_SES_STATUS_NV_CACHE_ACCESSORS(LCASE, UCASE) \
1492 GEN_GETTER(ses_status_nv_cache, SES_STATUS_NV_CACHE, LCASE, UCASE)
1496#undef GEN_SES_STATUS_NV_CACHE_ACCESSORS
1498static inline uintmax_t
1501 uintmax_t cache_size;
1506 multiplier = 10 * ses_status_nv_cache_get_size_multiplier(elem);
1507 return (cache_size << multiplier);
1533#define GEN_SES_STATUS_INVALID_OP_REASON_ACCESSORS(LCASE, UCASE) \
1534 GEN_GETTER(ses_status_invalid_op_reason, SES_STATUS_INVALID_OP_REASON, \
1538 PC_ERROR_PC_NOT_SUPPORTED)
1540 PF_ERROR_BIT_NUMBER)
1541#undef GEN_SES_STATUS_INVALID_OP_ACCESSORS
1601#define GEN_SES_STATUS_UPS_ACCESSORS(LCASE, UCASE) \
1602 GEN_GETTER(ses_status_ups, SES_STATUS_UPS, LCASE, UCASE)
1615#undef GEN_SES_STATUS_UPS_ACCESSORS
1641#define GEN_SES_STATUS_DISPLAY_ACCESSORS(LCASE, UCASE) \
1642 GEN_GETTER(ses_status_display, SES_STATUS_DISPLAY, LCASE, UCASE)
1646#undef GEN_SES_STATUS_DISPLAY_ACCESSORS
1664#define GEN_SES_STATUS_KEY_PAD_ENTRY_ACCESSORS(LCASE, UCASE) \
1665 GEN_GETTER(ses_status_key_pad_entry, SES_STATUS_KEY_PAD_ENTRY, LCASE, UCASE)
1668#undef GEN_SES_STATUS_KEY_PAD_ENTRY_ACCESSORS
1708#define GEN_SES_STATUS_ENCLOSURE_ACCESSORS(LCASE, UCASE) \
1709 GEN_GETTER(ses_status_enclosure, SES_STATUS_ENCLOSURE, LCASE, UCASE)
1712 TIME_UNTIL_POWER_CYCLE)
1716 REQUESTED_POWER_OFF_DURATION)
1719#undef GEN_SES_STATUS_ENCLOSURE_ACCESSORS
1753#define GEN_SES_STATUS_SCSI_PORT_OR_XCVR_ACCESSORS(LCASE, UCASE) \
1754 GEN_GETTER(ses_status_scsi_port_or_xcvr, SES_STATUS_SCSI_PORT_OR_XCVR,\
1762#undef GEN_SES_STATUS_SCSI_PORT_OR_XCVR_ACCESSORS
1777#define GEN_SES_STATUS_LANGUAGE_ACCESSORS(LCASE, UCASE) \
1778 GEN_GETTER(ses_status_language, SES_STATUS_LANGUAGE, LCASE, UCASE)
1780#undef GEN_SES_STATUS_LANGUAGE_ACCESSORS
1802#define GEN_SES_STATUS_COMM_PORT_ACCESSORS(LCASE, UCASE) \
1803 GEN_GETTER(ses_status_comm_port, SES_STATUS_COMM_PORT, LCASE, UCASE)
1807#undef GEN_SES_STATUS_COMM_PORT_ACCESSORS
1842#define GEN_SES_STATUS_VOLTAGE_SENSOR_ACCESSORS(LCASE, UCASE) \
1843 GEN_GETTER(ses_status_voltage_sensor, SES_STATUS_VOLTAGE_SENSOR, \
1851#undef GEN_SES_STATUS_VOLTAGE_SENSOR_ACCESSORS
1877#define GEN_SES_STATUS_CURRENT_SENSOR_ACCESSORS(LCASE, UCASE) \
1878 GEN_GETTER(ses_status_current_sensor, SES_STATUS_CURRENT_SENSOR, \
1884#undef GEN_SES_STATUS_CURRENT_SENSOR_ACCESSORS
1910#define GEN_SES_STATUS_TARGET_PORT_ACCESSORS(LCASE, UCASE) \
1911 GEN_GETTER(ses_status_target_port, SES_STATUS_TARGET_PORT, LCASE, UCASE)
1916#undef GEN_SES_STATUS_TARGET_PORT_ACCESSORS
1942#define GEN_SES_STATUS_INITIATOR_PORT_ACCESSORS(LCASE, UCASE) \
1943 GEN_GETTER(ses_status_initiator_port, SES_STATUS_INITIATOR_PORT, \
1949#undef GEN_SES_STATUS_INITIATOR_PORT_ACCESSORS
1968#define GEN_SES_STATUS_SIMPlE_SUBSES_ACCESSORS(LCASE, UCASE) \
1969 GEN_GETTER(ses_status_simple_subses, SES_STATUS_SIMPlE_SUBSES, \
1973#undef GEN_SES_STATUS_SIMPlE_SUBSES_ACCESSORS
1991#define GEN_SES_STATUS_SAS_EXPANDER_ACCESSORS(LCASE, UCASE) \
1992 GEN_GETTER(ses_status_sas_expander, SES_STATUS_SAS_EXPANDER, LCASE, UCASE)
1995#undef GEN_SES_STATUS_SAS_EXPANDER_ACCESSORS
2022#define GEN_SES_STATUS_SAS_CONNECTOR_ACCESSORS(LCASE, UCASE) \
2023 GEN_GETTER(ses_status_sas_connector, SES_STATUS_SAS_CONNECTOR, \
2029#undef GEN_SES_STATUS_SAS_CONNECTOR_ACCESSORS
2070 static const uint8_t mask[][4] = {
2071 { 0x60, 0x00, 0x00, 0x00 },
2072 { 0x60, 0x00, 0x4e, 0x3c },
2073 { 0x60, 0xc0, 0x00, 0x60 },
2074 { 0x60, 0xc0, 0x00, 0x60 },
2075 { 0x60, 0xc0, 0x00, 0x80 },
2076 { 0x60, 0xc0, 0x00, 0x01 },
2077 { 0x60, 0xc0, 0x00, 0x5f },
2078 { 0x60, 0xf0, 0x01, 0x00 },
2079 { 0x60, 0xc0, 0x00, 0x00 },
2080 { 0x60, 0xc0, 0x00, 0x00 },
2081 { 0x60, 0x00, 0x00, 0x00 },
2082 { 0x60, 0x00, 0x00, 0xe0 },
2083 { 0x60, 0xc0, 0xff, 0xff },
2084 { 0x60, 0xc0, 0x00, 0x00 },
2085 { 0x60, 0x80, 0x00, 0xff },
2086 { 0x60, 0xc0, 0x00, 0x10 },
2087 { 0x60, 0x80, 0xff, 0xff },
2088 { 0x60, 0xc0, 0x00, 0x01 },
2089 { 0x60, 0xc0, 0x00, 0x00 },
2090 { 0x60, 0xc0, 0x00, 0x00 },
2091 { 0x60, 0xc0, 0x00, 0x01 },
2092 { 0x60, 0xc0, 0x00, 0x01 },
2093 { 0x60, 0xc0, 0x00, 0x00 },
2094 { 0x60, 0xff, 0x4e, 0x3c },
2095 { 0x60, 0xc0, 0x00, 0x00 },
2096 { 0x60, 0x80, 0x00, 0x40 },
2099 if (type >=
sizeof(mask) /
sizeof(mask[0]))
2101 for (
int i = 0; i < 4; i++)
2102 bytes[i] &= mask[type][i];
2135#define GEN_SES_STATUS_PAGE_ACCESSORS(LCASE, UCASE) \
2136 GEN_HDR_ACCESSORS(ses_status_page, SES_STATUS_PAGE, LCASE, UCASE)
2144#undef GEN_SES_STATUS_PAGE_ACCESSORS
2190#define SES_ENCSTAT_UNRECOV 0x01
2191#define SES_ENCSTAT_CRITICAL 0x02
2192#define SES_ENCSTAT_NONCRITICAL 0x04
2193#define SES_ENCSTAT_INFO 0x08
2194#define SES_ENCSTAT_INVOP 0x10
2196#define SES_STATUS_MASK 0x1f
2197#define SES_SET_STATUS_MASK 0xf
2202#define SES_OBJSTAT_UNSUPPORTED 0
2203#define SES_OBJSTAT_OK 1
2204#define SES_OBJSTAT_CRIT 2
2205#define SES_OBJSTAT_NONCRIT 3
2206#define SES_OBJSTAT_UNRECOV 4
2207#define SES_OBJSTAT_NOTINSTALLED 5
2208#define SES_OBJSTAT_UNKNOWN 6
2209#define SES_OBJSTAT_NOTAVAIL 7
2210#define SES_OBJSTAT_NOACCESS 8
2220#define SESCTL_CSEL 0x80
2221#define SESCTL_PRDFAIL 0x40
2222#define SESCTL_DISABLE 0x20
2223#define SESCTL_RSTSWAP 0x10
2226#define SESCTL_RQSOK 0x80
2227#define SESCTL_RQSRSV 0x40
2228#define SESCTL_RQSSPR 0x20
2229#define SESCTL_RQSCCH 0x10
2230#define SESCTL_RQSCRA 0x08
2231#define SESCTL_RQSFAA 0x04
2232#define SESCTL_RQSRR 0x02
2233#define SESCTL_RQSRRA 0x01
2235#define SESCTL_RQSACT 0x80
2236#define SESCTL_DRVLCK 0x40
2237#define SESCTL_RQSMSN 0x10
2238#define SESCTL_RQSINS 0x08
2239#define SESCTL_RQSRMV 0x04
2240#define SESCTL_RQSID 0x02
2242#define SESCTL_RQSFLT 0x20
2243#define SESCTL_DEVOFF 0x10
2244#define SESCTL_ENBYPA 0x08
2245#define SESCTL_ENBYPB 0x04
2248#define SESCTL_RQSTFAIL 0x40
2249#define SESCTL_RQSTON 0x20
2305#define SES_FC_PORT_BYPASS_UNBYPASSED 0x00
2307#define SES_FC_PORT_BYPASS_LINKFAIL_RATE_TOO_HIGH 0x10
2308#define SES_FC_PORT_BYPASS_SYNC_LOSS_RATE_TOO_HIGH 0x11
2309#define SES_FC_PORT_BYPASS_SIGNAL_LOSS_RATE_TOO_HIGH 0x12
2310#define SES_FC_PORT_BYPASS_SEQPROTO_ERR_RATE_TOO_HIGH 0x13
2311#define SES_FC_PORT_BYPASS_INVAL_XMIT_RATE_TOO_HIGH 0x14
2312#define SES_FC_PORT_BYPASS_CRC_ERR_RATE_TOO_HIGH 0x15
2314#define SES_FC_PORT_BYPASS_ERR_RATE_RESERVED_BEGIN 0x16
2315#define SES_FC_PORT_BYPASS_ERR_RATE_RESERVED_END 0x1F
2317#define SES_FC_PORT_BYPASS_LINKFAIL_COUNT_TOO_HIGH 0x20
2318#define SES_FC_PORT_BYPASS_SYNC_LOSS_COUNT_TOO_HIGH 0x21
2319#define SES_FC_PORT_BYPASS_SIGNAL_LOSS_COUNT_TOO_HIGH 0x22
2320#define SES_FC_PORT_BYPASS_SEQPROTO_ERR_COUNT_TOO_HIGH 0x23
2321#define SES_FC_PORT_BYPASS_INVAL_XMIT_COUNT_TOO_HIGH 0x24
2322#define SES_FC_PORT_BYPASS_CRC_ERR_COUNT_TOO_HIGH 0x25
2324#define SES_FC_PORT_BYPASS_ERR_COUNT_RESERVED_BEGIN 0x26
2325#define SES_FC_PORT_BYPASS_ERR_COUNT_RESERVED_END 0x2F
2327#define SES_FC_PORT_BYPASS_RESERVED_BEGIN 0x30
2328#define SES_FC_PORT_BYPASS_RESERVED_END 0xBF
2330#define SES_FC_PORT_BYPASS_VENDOR_SPECIFIC_BEGIN 0xC0
2331#define SES_FC_PORT_BYPASS_VENDOR_SPECIFIC_END 0xFF
2348#define SES_SASOBJ_DEV_PHY_SMP 0x2
2349#define SES_SASOBJ_DEV_PHY_STP 0x4
2350#define SES_SASOBJ_DEV_PHY_SSP 0x8
2352#define SES_SASOBJ_DEV_PHY_PROTOMASK 0xe
2402#define SES_SASOBJ_TYPE0_NOT_ALL_PHYS(obj) \
2403 ((obj)->byte1 & 0x1)
2441#define SES_SASOBJ_TYPE_SLOT 0
2442#define SES_SASOBJ_TYPE_OTHER 1
2483#define SES_ADDL_EIP_EIIOE_MASK 3
2484#define SES_ADDL_EIP_EIIOE_SES2 0
2485#define SES_ADDL_EIP_EIIOE_GLOB 1
2486#define SES_ADDL_EIP_EIIOE_IND 2
2487#define SES_ADDL_EIP_EIIOE_MIX 3
2488#define SES_ADDL_EIP_EIIOE_EI_GLOB(x) \
2489 (((x) & SES_ADDL_EIP_EIIOE_MASK) == SES_ADDL_EIP_EIIOE_GLOB)
2492#define SES_EIP_HDR_EXTRA_LEN 2
2506#undef GEN_HDR_ACCESSORS
2508#undef GEN_HDR_SETTER
2509#undef GEN_HDR_GETTER
static __inline void swap(cam_pinfo **queue_array, int i, int j)
static __inline uint32_t scsi_2btoul(const uint8_t *bytes)
ses_status_array_dev_slot_field_data
@ SES_STATUS_ARRAY_DEV_SLOT_IN_FAILED_ARRAY_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_HOT_SPARE_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_REBUILD_REMAP_ABORT_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_IN_CRIT_ARRAY_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_IN_FAILED_ARRAY_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_IN_CRIT_ARRAY_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_CONS_CHECK_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_REBUILD_REMAP_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_HOT_SPARE_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_IN_FAILED_ARRAY_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_RSVD_DEVICE_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_REBUILD_REMAP_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_REBUILD_REMAP_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_OK_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_REBUILD_REMAP_ABORT_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_RSVD_DEVICE_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_RSVD_DEVICE_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_REBUILD_REMAP_ABORT_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_OK_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_IN_CRIT_ARRAY_MASK
@ SES_STATUS_ARRAY_DEV_SLOT_OK_BYTE
@ SES_STATUS_ARRAY_DEV_SLOT_HOT_SPARE_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_CONS_CHECK_SHIFT
@ SES_STATUS_ARRAY_DEV_SLOT_CONS_CHECK_BYTE
#define GEN_SES_STATUS_COMM_PORT_ACCESSORS(LCASE, UCASE)
ses_ctrl_enclosure_field_data
@ SES_CTRL_ENCLOSURE_POWER_OFF_DURATION_BYTE
@ SES_CTRL_ENCLOSURE_POWER_OFF_DURATION_MANUAL
@ SES_CTRL_ENCLOSURE_RQST_IDENT_SHIFT
@ SES_CTRL_ENCLOSURE_RQST_WARN_SHIFT
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_RQST_MASK
@ SES_CTRL_ENCLOSURE_RQST_IDENT_MASK
@ SES_CTRL_ENCLOSURE_RQST_WARN_MASK
@ SES_CTRL_ENCLOSURE_RQST_FAIL_SHIFT
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_RQST_NONE
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_DELAY_MASK
@ SES_CTRL_ENCLOSURE_RQST_WARN_BYTE
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_DELAY_SHIFT
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_RQST_CANCEL
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_RQST_SHIFT
@ SES_CTRL_ENCLOSURE_RQST_FAIL_MASK
@ SES_CTRL_ENCLOSURE_POWER_OFF_DURATION_MASK
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_DELAY_BYTE
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_DELAY_MAX
@ SES_CTRL_ENCLOSURE_RQST_IDENT_BYTE
@ SES_CTRL_ENCLOSURE_RQST_FAIL_BYTE
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_RQST_AFTER_DELAY
@ SES_CTRL_ENCLOSURE_POWER_OFF_DURATION_SHIFT
@ SES_CTRL_ENCLOSURE_POWER_CYCLE_RQST_BYTE
@ SES_CTRL_ENCLOSURE_POWER_OFF_DURATION_MAX_AUTO
ses_ctrl_nv_cache_field_data
@ SES_CTRL_NV_CACHE_RQST_IDENT_MASK
@ SES_CTRL_NV_CACHE_RQST_IDENT_BYTE
@ SES_CTRL_NV_CACHE_RQST_IDENT_SHIFT
@ SES_CTRL_NV_CACHE_RQST_FAIL_SHIFT
@ SES_CTRL_NV_CACHE_RQST_FAIL_BYTE
@ SES_CTRL_NV_CACHE_RQST_FAIL_MASK
#define GEN_SES_STATUS_KEY_PAD_ENTRY_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_DEV_SLOT_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_TEMP_SENSOR_ACCESSORS(LCASE, UCASE)
ses_ctrl_scsi_port_or_xcvr_field_data
@ SES_CTRL_SCSI_PORT_OR_XCVR_RQST_IDENT_MASK
@ SES_CTRL_SCSI_PORT_OR_XCVR_DISABLE_BYTE
@ SES_CTRL_SCSI_PORT_OR_XCVR_RQST_FAIL_MASK
@ SES_CTRL_SCSI_PORT_OR_XCVR_RQST_FAIL_SHIFT
@ SES_CTRL_SCSI_PORT_OR_XCVR_DISABLE_SHIFT
@ SES_CTRL_SCSI_PORT_OR_XCVR_RQST_FAIL_BYTE
@ SES_CTRL_SCSI_PORT_OR_XCVR_RQST_IDENT_SHIFT
@ SES_CTRL_SCSI_PORT_OR_XCVR_RQST_IDENT_BYTE
@ SES_CTRL_SCSI_PORT_OR_XCVR_DISABLE_MASK
#define GEN_SES_CTRL_NV_CACHE_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_CURRENT_SENSOR_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_SIMPlE_SUBSES_ACCESSORS(LCASE, UCASE)
ses_status_door_lock_field_data
@ SES_STATUS_DOOR_LOCK_FAIL_SHIFT
@ SES_STATUS_DOOR_LOCK_IDENT_SHIFT
@ SES_STATUS_DOOR_LOCK_FAIL_MASK
@ SES_STATUS_DOOR_LOCK_UNLOCKED_SHIFT
@ SES_STATUS_DOOR_LOCK_UNLOCKED_MASK
@ SES_STATUS_DOOR_LOCK_IDENT_BYTE
@ SES_STATUS_DOOR_LOCK_FAIL_BYTE
@ SES_STATUS_DOOR_LOCK_IDENT_MASK
@ SES_STATUS_DOOR_LOCK_UNLOCKED_BYTE
ses_status_audible_alarm_field_data
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_INFO
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_NON_CRIT
@ SES_STATUS_AUDIBLE_ALARM_MUTED_SHIFT
@ SES_STATUS_AUDIBLE_ALARM_FAIL_SHIFT
@ SES_STATUS_AUDIBLE_ALARM_RQST_MUTE_BYTE
@ SES_STATUS_AUDIBLE_ALARM_MUTED_BYTE
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_SHIFT
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_UNRECOV
@ SES_STATUS_AUDIBLE_ALARM_RQST_MUTE_SHIFT
@ SES_STATUS_AUDIBLE_ALARM_IDENT_SHIFT
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_CRIT
@ SES_STATUS_AUDIBLE_ALARM_FAIL_MASK
@ SES_STATUS_AUDIBLE_ALARM_RQST_MUTE_MASK
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_BYTE
@ SES_STATUS_AUDIBLE_ALARM_REMIND_MASK
@ SES_STATUS_AUDIBLE_ALARM_TONE_INDICATOR_MASK
@ SES_STATUS_AUDIBLE_ALARM_REMIND_SHIFT
@ SES_STATUS_AUDIBLE_ALARM_IDENT_MASK
@ SES_STATUS_AUDIBLE_ALARM_MUTED_MASK
@ SES_STATUS_AUDIBLE_ALARM_FAIL_BYTE
@ SES_STATUS_AUDIBLE_ALARM_IDENT_BYTE
@ SES_STATUS_AUDIBLE_ALARM_REMIND_BYTE
#define GEN_SES_STATUS_DISPLAY_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_DOOR_LOCK_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_DEV_SLOT_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_SCSI_PORT_OR_XCVR_ACCESSORS(LCASE, UCASE)
ses_status_scsi_target_port_field_data
@ SES_STATUS_TARGET_PORT_FAIL_MASK
@ SES_STATUS_TARGET_PORT_FAIL_SHIFT
@ SES_STATUS_TARGET_PORT_IDENT_BYTE
@ SES_STATUS_TARGET_PORT_REPORT_BYTE
@ SES_STATUS_TARGET_PORT_IDENT_SHIFT
@ SES_STATUS_TARGET_PORT_ENABLED_SHIFT
@ SES_STATUS_TARGET_PORT_REPORT_SHIFT
@ SES_STATUS_TARGET_PORT_REPORT_MASK
@ SES_STATUS_TARGET_PORT_IDENT_MASK
@ SES_STATUS_TARGET_PORT_ENABLED_BYTE
@ SES_STATUS_TARGET_PORT_ENABLED_MASK
@ SES_STATUS_TARGET_PORT_FAIL_BYTE
#define GEN_SES_CTRL_COOLING_ACCESSORS(LCASE, UCASE)
ses_ctrl_scc_electronics_field_data
@ SES_CTRL_SCC_ELECTRONICS_RQST_FAIL_MASK
@ SES_CTRL_SCC_ELECTRONICS_RQST_IDENT_MASK
@ SES_CTRL_SCC_ELECTRONICS_RQST_IDENT_SHIFT
@ SES_CTRL_SCC_ELECTRONICS_RQST_IDENT_BYTE
@ SES_CTRL_SCC_ELECTRONICS_RQST_FAIL_BYTE
@ SES_CTRL_SCC_ELECTRONICS_RQST_FAIL_SHIFT
#define GEN_SES_CTRL_SAS_EXPANDER_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_DOOR_LOCK_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_CURRENT_SENSOR_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_KEY_PAD_ENTRY_ACCESSORS(LCASE, UCASE)
ses_status_invalid_op_field_data
@ SES_STATUS_INVALID_OP_REASON_PF_ERROR_BIT_NUMBER_MASK
@ SES_STATUS_INVALID_OP_REASON_TYPE_SHIFT
@ SES_STATUS_INVALID_OP_REASON_TYPE_PC_ERROR
@ SES_STATUS_INVALID_OP_REASON_PC_ERROR_PC_NOT_SUPPORTED_SHIFT
@ SES_STATUS_INVALID_OP_REASON_TYPE_BYTE
@ SES_STATUS_INVALID_OP_REASON_TYPE_MASK
@ SES_STATUS_INVALID_OP_REASON_TYPE_PF_ERROR
@ SES_STATUS_INVALID_OP_REASON_TYPE_VS_ERROR
@ SES_STATUS_INVALID_OP_REASON_PF_ERROR_BIT_NUMBER_SHIFT
@ SES_STATUS_INVALID_OP_REASON_PC_ERROR_PC_NOT_SUPPORTED_BYTE
@ SES_STATUS_INVALID_OP_REASON_PC_ERROR_PC_NOT_SUPPORTED_MASK
@ SES_STATUS_INVALID_OP_REASON_PF_ERROR_BIT_NUMBER_BYTE
#define GEN_SES_STATUS_INVALID_OP_REASON_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_ENCLOSURE_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_DISPLAY_ACCESSORS(LCASE, UCASE)
ses_status_current_sensor_field_data
@ SES_STATUS_CURRENT_SENSOR_CRIT_OVER_SHIFT
@ SES_STATUS_CURRENT_SENSOR_CRIT_OVER_BYTE
@ SES_STATUS_CURRENT_SENSOR_FAIL_SHIFT
@ SES_STATUS_CURRENT_SENSOR_WARN_OVER_MASK
@ SES_STATUS_CURRENT_SENSOR_IDENT_BYTE
@ SES_STATUS_CURRENT_SENSOR_IDENT_MASK
@ SES_STATUS_CURRENT_SENSOR_FAIL_BYTE
@ SES_STATUS_CURRENT_SENSOR_IDENT_SHIFT
@ SES_STATUS_CURRENT_SENSOR_WARN_OVER_BYTE
@ SES_STATUS_CURRENT_SENSOR_CRIT_OVER_MASK
@ SES_STATUS_CURRENT_SENSOR_FAIL_MASK
@ SES_STATUS_CURRENT_SENSOR_WARN_OVER_SHIFT
ses_status_scsi_port_or_xcvr_field_data
@ SES_STATUS_SCSI_PORT_OR_XCVR_FAIL_BYTE
@ SES_STATUS_SCSI_PORT_OR_XCVR_FAIL_MASK
@ SES_STATUS_SCSI_PORT_OR_XCVR_LOL_SHIFT
@ SES_STATUS_SCSI_PORT_OR_XCVR_IDENT_BYTE
@ SES_STATUS_SCSI_PORT_OR_XCVR_DISABLED_MASK
@ SES_STATUS_SCSI_PORT_OR_XCVR_XMIT_FAIL_SHIFT
@ SES_STATUS_SCSI_PORT_OR_XCVR_LOL_MASK
@ SES_STATUS_SCSI_PORT_OR_XCVR_IDENT_SHIFT
@ SES_STATUS_SCSI_PORT_OR_XCVR_DISABLED_BYTE
@ SES_STATUS_SCSI_PORT_OR_XCVR_FAIL_SHIFT
@ SES_STATUS_SCSI_PORT_OR_XCVR_REPORT_MASK
@ SES_STATUS_SCSI_PORT_OR_XCVR_XMIT_FAIL_MASK
@ SES_STATUS_SCSI_PORT_OR_XCVR_IDENT_MASK
@ SES_STATUS_SCSI_PORT_OR_XCVR_XMIT_FAIL_BYTE
@ SES_STATUS_SCSI_PORT_OR_XCVR_LOL_BYTE
@ SES_STATUS_SCSI_PORT_OR_XCVR_DISABLED_SHIFT
@ SES_STATUS_SCSI_PORT_OR_XCVR_REPORT_BYTE
@ SES_STATUS_SCSI_PORT_OR_XCVR_REPORT_SHIFT
#define GEN_SES_STATUS_ECC_ELECTRONICS_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_ARRAY_DEV_SLOT_ACCESSORS(LCASE, UCASE)
static int ses_status_cooling_get_actual_fan_speed(struct ses_status_cooling *elem)
#define GEN_SES_CTRL_LANGUAGE_ACCESSORS(LCASE, UCASE)
ses_status_voltage_sensor_field_data
@ SES_STATUS_VOLTAGE_SENSOR_WARN_OVER_MASK
@ SES_STATUS_VOLTAGE_SENSOR_FAIL_SHIFT
@ SES_STATUS_VOLTAGE_SENSOR_IDENT_BYTE
@ SES_STATUS_VOLTAGE_SENSOR_CRIT_UNDER_BYTE
@ SES_STATUS_VOLTAGE_SENSOR_WARN_OVER_SHIFT
@ SES_STATUS_VOLTAGE_SENSOR_CRIT_UNDER_MASK
@ SES_STATUS_VOLTAGE_SENSOR_IDENT_MASK
@ SES_STATUS_VOLTAGE_SENSOR_CRIT_OVER_SHIFT
@ SES_STATUS_VOLTAGE_SENSOR_WARN_UNDER_MASK
@ SES_STATUS_VOLTAGE_SENSOR_WARN_UNDER_SHIFT
@ SES_STATUS_VOLTAGE_SENSOR_FAIL_MASK
@ SES_STATUS_VOLTAGE_SENSOR_CRIT_OVER_BYTE
@ SES_STATUS_VOLTAGE_SENSOR_IDENT_SHIFT
@ SES_STATUS_VOLTAGE_SENSOR_WARN_OVER_BYTE
@ SES_STATUS_VOLTAGE_SENSOR_CRIT_OVER_MASK
@ SES_STATUS_VOLTAGE_SENSOR_CRIT_UNDER_SHIFT
@ SES_STATUS_VOLTAGE_SENSOR_WARN_UNDER_BYTE
@ SES_STATUS_VOLTAGE_SENSOR_FAIL_BYTE
ses_ctrl_ecc_electronics_field_data
@ SES_CTRL_ECC_ELECTRONICS_RQST_IDENT_SHIFT
@ SES_CTRL_ECC_ELECTRONICS_SELECT_ELEMENT_MASK
@ SES_CTRL_ECC_ELECTRONICS_SELECT_ELEMENT_SHIFT
@ SES_CTRL_ECC_ELECTRONICS_RQST_FAIL_SHIFT
@ SES_CTRL_ECC_ELECTRONICS_RQST_FAIL_BYTE
@ SES_CTRL_ECC_ELECTRONICS_RQST_IDENT_MASK
@ SES_CTRL_ECC_ELECTRONICS_SELECT_ELEMENT_BYTE
@ SES_CTRL_ECC_ELECTRONICS_RQST_FAIL_MASK
@ SES_CTRL_ECC_ELECTRONICS_RQST_IDENT_BYTE
ses_ctrl_voltage_sensor_field_data
@ SES_CTRL_VOLTAGE_SENSOR_RQST_IDENT_BYTE
@ SES_CTRL_VOLTAGE_SENSOR_RQST_FAIL_MASK
@ SES_CTRL_VOLTAGE_SENSOR_RQST_IDENT_SHIFT
@ SES_CTRL_VOLTAGE_SENSOR_RQST_FAIL_SHIFT
@ SES_CTRL_VOLTAGE_SENSOR_RQST_FAIL_BYTE
@ SES_CTRL_VOLTAGE_SENSOR_RQST_IDENT_MASK
ses_ctrl_dev_slot_field_data
@ SES_CTRL_DEV_SLOT_RQST_FAULT_MASK
@ SES_CTRL_DEV_SLOT_RQST_FAULT_BYTE
@ SES_CTRL_DEV_SLOT_RQST_INSERT_BYTE
@ SES_CTRL_DEV_SLOT_RQST_INSERT_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_ACTIVE_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_MISSING_MASK
@ SES_CTRL_DEV_SLOT_RQST_MISSING_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_MISSING_BYTE
@ SES_CTRL_DEV_SLOT_RQST_IDENT_SHIFT
@ SES_CTRL_DEV_SLOT_ENABLE_BYP_B_BYTE
@ SES_CTRL_DEV_SLOT_RQST_REMOVE_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_ACTIVE_MASK
@ SES_CTRL_DEV_SLOT_RQST_FAULT_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_ACTIVE_BYTE
@ SES_CTRL_DEV_SLOT_ENABLE_BYP_A_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_IDENT_BYTE
@ SES_CTRL_DEV_SLOT_RQST_REMOVE_MASK
@ SES_CTRL_DEV_SLOT_RQST_INSERT_MASK
@ SES_CTRL_DEV_SLOT_ENABLE_BYP_A_MASK
@ SES_CTRL_DEV_SLOT_DEVICE_OFF_MASK
@ SES_CTRL_DEV_SLOT_DO_NOT_REMOVE_SHIFT
@ SES_CTRL_DEV_SLOT_DO_NOT_REMOVE_BYTE
@ SES_CTRL_DEV_SLOT_ENABLE_BYP_A_BYTE
@ SES_CTRL_DEV_SLOT_ENABLE_BYP_B_SHIFT
@ SES_CTRL_DEV_SLOT_RQST_REMOVE_BYTE
@ SES_CTRL_DEV_SLOT_DEVICE_OFF_BYTE
@ SES_CTRL_DEV_SLOT_ENABLE_BYP_B_MASK
@ SES_CTRL_DEV_SLOT_DO_NOT_REMOVE_MASK
@ SES_CTRL_DEV_SLOT_RQST_IDENT_MASK
@ SES_CTRL_DEV_SLOT_DEVICE_OFF_SHIFT
ses_ctrl_door_lock_field_data
@ SES_CTRL_DOOR_LOCK_UNLOCK_BYTE
@ SES_CTRL_DOOR_LOCK_RQST_FAIL_BYTE
@ SES_CTRL_DOOR_LOCK_UNLOCK_SHIFT
@ SES_CTRL_DOOR_LOCK_RQST_FAIL_MASK
@ SES_CTRL_DOOR_LOCK_RQST_IDENT_MASK
@ SES_CTRL_DOOR_LOCK_RQST_IDENT_SHIFT
@ SES_CTRL_DOOR_LOCK_UNLOCK_MASK
@ SES_CTRL_DOOR_LOCK_RQST_IDENT_BYTE
@ SES_CTRL_DOOR_LOCK_RQST_FAIL_SHIFT
ses_status_enclosure_field_data
@ SES_STATUS_ENCLOSURE_IDENT_SHIFT
@ SES_STATUS_ENCLOSURE_TIME_UNTIL_POWER_CYCLE_SHIFT
@ SES_STATUS_ENCLOSURE_REQUESTED_POWER_OFF_DURATION_MAX_AUTO
@ SES_STATUS_ENCLOSURE_REQUESTED_WARN_SHIFT
@ SES_STATUS_ENCLOSURE_IDENT_BYTE
@ SES_STATUS_ENCLOSURE_REQUESTED_POWER_OFF_DURATION_MANUAL
@ SES_STATUS_ENCLOSURE_FAIL_SHIFT
@ SES_STATUS_ENCLOSURE_TIME_UNTIL_POWER_CYCLE_BYTE
@ SES_STATUS_ENCLOSURE_WARN_SHIFT
@ SES_STATUS_ENCLOSURE_FAIL_BYTE
@ SES_STATUS_ENCLOSURE_FAIL_MASK
@ SES_STATUS_ENCLOSURE_IDENT_MASK
@ SES_STATUS_ENCLOSURE_REQUESTED_POWER_OFF_DURATION_SHIFT
@ SES_STATUS_ENCLOSURE_WARN_MASK
@ SES_STATUS_ENCLOSURE_REQUESTED_WARN_BYTE
@ SES_STATUS_ENCLOSURE_REQUESTED_POWER_OFF_DURATION_BYTE
@ SES_STATUS_ENCLOSURE_TIME_UNTIL_POWER_CYCLE_MASK
@ SES_STATUS_ENCLOSURE_REQUESTED_POWER_OFF_DURATION_MASK
@ SES_STATUS_ENCLOSURE_REQUESTED_FAIL_SHIFT
@ SES_STATUS_ENCLOSURE_REQUESTED_FAIL_MASK
@ SES_STATUS_ENCLOSURE_REQUESTED_WARN_MASK
@ SES_STATUS_ENCLOSURE_WARN_BYTE
@ SES_STATUS_ENCLOSURE_REQUESTED_FAIL_BYTE
int ses_elm_sas_dev_phy_sata_dev(struct ses_elm_sas_device_phy *)
ses_status_nv_cache_field_data
@ SES_STATUS_NV_CACHE_FAIL_BYTE
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_MASK
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_MBYTES
@ SES_STATUS_NV_CACHE_FAIL_MASK
@ SES_STATUS_NV_CACHE_FAIL_SHIFT
@ SES_STATUS_NV_CACHE_IDENT_MASK
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_SHIFT
@ SES_STATUS_NV_CACHE_IDENT_BYTE
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_KBYTES
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_BYTE
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_GBYTES
@ SES_STATUS_NV_CACHE_SIZE_MULTIPLIER_BYTES
@ SES_STATUS_NV_CACHE_IDENT_SHIFT
static uint8_t * ses_enc_desc_last_byte(struct ses_enc_desc *encdesc)
ses_ctrl_comm_port_field_data
@ SES_CTRL_COMM_PORT_RQST_FAIL_MASK
@ SES_CTRL_COMM_PORT_DISABLE_MASK
@ SES_CTRL_COMM_PORT_DISABLE_SHIFT
@ SES_CTRL_COMM_PORT_DISABLE_BYTE
@ SES_CTRL_COMM_PORT_RQST_FAIL_SHIFT
@ SES_CTRL_COMM_PORT_RQST_IDENT_BYTE
@ SES_CTRL_COMM_PORT_RQST_IDENT_SHIFT
@ SES_CTRL_COMM_PORT_RQST_FAIL_BYTE
@ SES_CTRL_COMM_PORT_RQST_IDENT_MASK
#define GEN_SES_CTRL_VOLTAGE_SENSOR_ACCESSORS(LCASE, UCASE)
ses_status_temp_sensor_field_data
@ SES_STATUS_TEMP_SENSOR_OT_WARNING_BYTE
@ SES_STATUS_TEMP_SENSOR_UT_FAILURE_BYTE
@ SES_STATUS_TEMP_SENSOR_UT_FAILURE_SHIFT
@ SES_STATUS_TEMP_SENSOR_FAIL_SHIFT
@ SES_STATUS_TEMP_SENSOR_TEMPERATURE_MASK
@ SES_STATUS_TEMP_SENSOR_UT_WARNING_BYTE
@ SES_STATUS_TEMP_SENSOR_IDENT_BYTE
@ SES_STATUS_TEMP_SENSOR_OT_FAILURE_SHIFT
@ SES_STATUS_TEMP_SENSOR_OT_WARNING_MASK
@ SES_STATUS_TEMP_SENSOR_TEMPERATURE_BYTE
@ SES_STATUS_TEMP_SENSOR_OT_WARNING_SHIFT
@ SES_STATUS_TEMP_SENSOR_FAIL_MASK
@ SES_STATUS_TEMP_SENSOR_UT_WARNING_MASK
@ SES_STATUS_TEMP_SENSOR_IDENT_MASK
@ SES_STATUS_TEMP_SENSOR_UT_FAILURE_MASK
@ SES_STATUS_TEMP_SENSOR_IDENT_SHIFT
@ SES_STATUS_TEMP_SENSOR_OT_FAILURE_BYTE
@ SES_STATUS_TEMP_SENSOR_OT_FAILURE_MASK
@ SES_STATUS_TEMP_SENSOR_TEMPERATURE_SHIFT
@ SES_STATUS_TEMP_SENSOR_UT_WARNING_SHIFT
@ SES_STATUS_TEMP_SENSOR_FAIL_BYTE
#define GEN_SES_STATUS_SCC_ELECTRONICS_ACCESSORS(LCASE, UCASE)
static uintmax_t ses_status_nv_cache_get_cache_size(struct ses_status_nv_cache *elem)
ses_status_sas_connector_field_data
@ SES_STATUS_SAS_CONNECTOR_TYPE_BYTE
@ SES_STATUS_SAS_CONNECTOR_PHYS_LINK_ALL
@ SES_STATUS_SAS_CONNECTOR_PHYS_LINK_MASK
@ SES_STATUS_SAS_CONNECTOR_FAIL_SHIFT
@ SES_STATUS_SAS_CONNECTOR_IDENT_SHIFT
@ SES_STATUS_SAS_CONNECTOR_IDENT_MASK
@ SES_STATUS_SAS_CONNECTOR_PHYS_LINK_BYTE
@ SES_STATUS_SAS_CONNECTOR_TYPE_SHIFT
@ SES_STATUS_SAS_CONNECTOR_FAIL_BYTE
@ SES_STATUS_SAS_CONNECTOR_TYPE_MASK
@ SES_STATUS_SAS_CONNECTOR_IDENT_BYTE
@ SES_STATUS_SAS_CONNECTOR_FAIL_MASK
@ SES_STATUS_SAS_CONNECTOR_PHYS_LINK_SHIFT
ses_ctrl_power_supply_field_data
@ SES_CTRL_POWER_SUPPLY_RQST_ON_BYTE
@ SES_CTRL_POWER_SUPPLY_RQST_FAIL_SHIFT
@ SES_CTRL_POWER_SUPPLY_RQST_ON_SHIFT
@ SES_CTRL_POWER_SUPPLY_RQST_IDENT_MASK
@ SES_CTRL_POWER_SUPPLY_RQST_FAIL_MASK
@ SES_CTRL_POWER_SUPPLY_RQST_FAIL_BYTE
@ SES_CTRL_POWER_SUPPLY_RQST_ON_MASK
@ SES_CTRL_POWER_SUPPLY_RQST_IDENT_BYTE
@ SES_CTRL_POWER_SUPPLY_RQST_IDENT_SHIFT
ses_ctrl_common_field_data
@ SES_CTRL_COMMON_SELECT_SHIFT
@ SES_CTRL_COMMON_PRDFAIL_MASK
@ SES_CTRL_COMMON_RST_SWAP_MASK
@ SES_CTRL_COMMON_DISABLE_BYTE
@ SES_CTRL_COMMON_PRDFAIL_BYTE
@ SES_CTRL_COMMON_DISABLE_MASK
@ SES_CTRL_COMMON_RST_SWAP_BYTE
@ SES_CTRL_COMMON_RST_SWAP_SHIFT
@ SES_CTRL_COMMON_DISABLE_SHIFT
@ SES_CTRL_COMMON_SELECT_MASK
@ SES_CTRL_COMMON_SELECT_BYTE
@ SES_CTRL_COMMON_PRDFAIL_SHIFT
#define GEN_SES_STATUS_ARRAY_DEV_SLOT_ACCESSORS(LCASE, UCASE)
ses_ctrl_sas_expander_field_data
@ SES_CTRL_SAS_EXPANDER_RQST_IDENT_SHIFT
@ SES_CTRL_SAS_EXPANDER_RQST_FAIL_SHIFT
@ SES_CTRL_SAS_EXPANDER_RQST_IDENT_BYTE
@ SES_CTRL_SAS_EXPANDER_RQST_IDENT_MASK
@ SES_CTRL_SAS_EXPANDER_RQST_FAIL_BYTE
@ SES_CTRL_SAS_EXPANDER_RQST_FAIL_MASK
ses_status_cooling_field_data
@ SES_STATUS_COOLING_OFF_SHIFT
@ SES_STATUS_COOLING_ACTUAL_FAN_SPEED_MSB_SHIFT
@ SES_STATUS_COOLING_REQUESTED_ON_MASK
@ SES_STATUS_COOLING_FAIL_SHIFT
@ SES_STATUS_COOLING_REQUESTED_ON_BYTE
@ SES_STATUS_COOLING_ACTUAL_FAN_SPEED_MSB_MASK
@ SES_STATUS_COOLING_HOT_SWAP_SHIFT
@ SES_STATUS_COOLING_OFF_BYTE
@ SES_STATUS_COOLING_ACTUAL_SPEED_CODE_LOWEST
@ SES_STATUS_COOLING_ACTUAL_FAN_SPEED_MSB_BYTE
@ SES_STATUS_COOLING_ACTUAL_SPEED_CODE_MASK
@ SES_STATUS_COOLING_HOT_SWAP_BYTE
@ SES_STATUS_COOLING_ACTUAL_FAN_SPEED_LSB_BYTE
@ SES_STATUS_COOLING_ACTUAL_SPEED_CODE_SHIFT
@ SES_STATUS_COOLING_IDENT_MASK
@ SES_STATUS_COOLING_ACTUAL_SPEED_CODE_BYTE
@ SES_STATUS_COOLING_ACTUAL_FAN_SPEED_LSB_MASK
@ SES_STATUS_COOLING_OFF_MASK
@ SES_STATUS_COOLING_HOT_SWAP_MASK
@ SES_STATUS_COOLING_ACTUAL_SPEED_CODE_STOPPED
@ SES_STATUS_COOLING_ACTUAL_SPEED_CODE_HIGHEST
@ SES_STATUS_COOLING_IDENT_SHIFT
@ SES_STATUS_COOLING_REQUESTED_ON_SHIFT
@ SES_STATUS_COOLING_FAIL_MASK
@ SES_STATUS_COOLING_ACTUAL_FAN_SPEED_LSB_SHIFT
@ SES_STATUS_COOLING_FAIL_BYTE
@ SES_STATUS_COOLING_IDENT_BYTE
ses_status_page_field_data
@ SES_STATUS_PAGE_INVOP_MASK
@ SES_STATUS_PAGE_INVOP_SHIFT
@ SES_STATUS_PAGE_UNRECOV_MASK
@ SES_STATUS_PAGE_INFO_SHIFT
@ SES_STATUS_PAGE_CHANGED_MASK
@ SES_STATUS_PAGE_CRIT_MASK
@ SES_STATUS_PAGE_NON_CRIT_SHIFT
@ SES_STATUS_PAGE_UNRECOV_SHIFT
@ SES_STATUS_PAGE_CRIT_SHIFT
@ SES_STATUS_PAGE_NON_CRIT_MASK
@ SES_STATUS_PAGE_INFO_MASK
@ SES_STATUS_PAGE_CHANGED_SHIFT
#define GEN_SES_CTRL_SAS_CONNECTOR_ACCESSORS(LCASE, UCASE)
ses_ctrl_initiator_port_field_data
@ SES_CTRL_INITIATOR_PORT_RQST_FAIL_BYTE
@ SES_CTRL_INITIATOR_PORT_ENABLE_BYTE
@ SES_CTRL_INITIATOR_PORT_RQST_IDENT_BYTE
@ SES_CTRL_INITIATOR_PORT_ENABLE_MASK
@ SES_CTRL_INITIATOR_PORT_RQST_IDENT_SHIFT
@ SES_CTRL_INITIATOR_PORT_RQST_IDENT_MASK
@ SES_CTRL_INITIATOR_PORT_ENABLE_SHIFT
@ SES_CTRL_INITIATOR_PORT_RQST_FAIL_SHIFT
@ SES_CTRL_INITIATOR_PORT_RQST_FAIL_MASK
int ses_elm_sas_dev_phy_dev_type(struct ses_elm_sas_device_phy *)
#define GEN_SES_STATUS_INITIATOR_PORT_ACCESSORS(LCASE, UCASE)
ses_ctrl_array_dev_slot_field_data
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_CONS_CHECK_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_RSVD_DEVICE_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_RSVD_DEVICE_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_HOT_SPARE_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_HOT_SPARE_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_IN_CRIT_ARRAY_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_IN_CRIT_ARRAY_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_IN_FAILED_ARRAY_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_REBUILD_REMAP_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_REBUILD_REMAP_ABORT_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_REBUILD_REMAP_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_RSVD_DEVICE_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_IN_CRIT_ARRAY_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_HOT_SPARE_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_REBUILD_REMAP_ABORT_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_IN_FAILED_ARRAY_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_CONS_CHECK_BYTE
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_OK_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_IN_FAILED_ARRAY_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_REBUILD_REMAP_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_OK_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_REBUILD_REMAP_ABORT_SHIFT
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_CONS_CHECK_MASK
@ SES_CTRL_ARRAY_DEV_SLOT_RQST_OK_BYTE
@ SES_CTRL_PAGE_NON_CRIT_SHIFT
@ SES_CTRL_PAGE_CRIT_SHIFT
@ SES_CTRL_PAGE_INFO_MASK
@ SES_CTRL_PAGE_UNRECOV_SHIFT
@ SES_CTRL_PAGE_UNRECOV_MASK
@ SES_CTRL_PAGE_CRIT_MASK
@ SES_CTRL_PAGE_INFO_SHIFT
@ SES_CTRL_PAGE_NON_CRIT_MASK
ses_status_scc_electronics_field_data
@ SES_STATUS_SCC_ELECTRONICS_REPORT_BYTE
@ SES_STATUS_SCC_ELECTRONICS_FAIL_BYTE
@ SES_STATUS_SCC_ELECTRONICS_FAIL_MASK
@ SES_STATUS_SCC_ELECTRONICS_IDENT_MASK
@ SES_STATUS_SCC_ELECTRONICS_IDENT_BYTE
@ SES_STATUS_SCC_ELECTRONICS_FAIL_SHIFT
@ SES_STATUS_SCC_ELECTRONICS_IDENT_SHIFT
@ SES_STATUS_SCC_ELECTRONICS_REPORT_SHIFT
@ SES_STATUS_SCC_ELECTRONICS_REPORT_MASK
ses_status_key_pad_entry_field_data
@ SES_STATUS_KEY_PAD_ENTRY_IDENT_BYTE
@ SES_STATUS_KEY_PAD_ENTRY_FAIL_MASK
@ SES_STATUS_KEY_PAD_ENTRY_FAIL_BYTE
@ SES_STATUS_KEY_PAD_ENTRY_FAIL_SHIFT
@ SES_STATUS_KEY_PAD_ENTRY_IDENT_MASK
@ SES_STATUS_KEY_PAD_ENTRY_IDENT_SHIFT
ses_status_dev_slot_field_data
@ SES_STATUS_DEV_SLOT_ENCLOSURE_BYPED_A_BYTE
@ SES_STATUS_DEV_SLOT_IDENT_MASK
@ SES_STATUS_DEV_SLOT_FAULT_REQUESTED_BYTE
@ SES_STATUS_DEV_SLOT_REMOVE_MASK
@ SES_STATUS_DEV_SLOT_REPORT_SHIFT
@ SES_STATUS_DEV_SLOT_ENCLOSURE_BYPED_A_SHIFT
@ SES_STATUS_DEV_SLOT_DO_NOT_REMOVE_MASK
@ SES_STATUS_DEV_SLOT_DEVICE_BYPED_A_BYTE
@ SES_STATUS_DEV_SLOT_DEVICE_BYPED_B_BYTE
@ SES_STATUS_DEV_SLOT_REMOVE_SHIFT
@ SES_STATUS_DEV_SLOT_APP_CLIENT_BYPED_B_SHIFT
@ SES_STATUS_DEV_SLOT_ENCLOSURE_BYPED_A_MASK
@ SES_STATUS_DEV_SLOT_FAULT_SENSED_MASK
@ SES_STATUS_DEV_SLOT_BYPED_A_SHIFT
@ SES_STATUS_DEV_SLOT_DEVICE_BYPED_B_MASK
@ SES_STATUS_DEV_SLOT_REPORT_MASK
@ SES_STATUS_DEV_SLOT_DEVICE_BYPED_A_SHIFT
@ SES_STATUS_DEV_SLOT_INSERT_READY_BYTE
@ SES_STATUS_DEV_SLOT_ENCLOSURE_BYPED_B_SHIFT
@ SES_STATUS_DEV_SLOT_APP_CLIENT_BYPED_A_BYTE
@ SES_STATUS_DEV_SLOT_ENCLOSURE_BYPED_B_BYTE
@ SES_STATUS_DEV_SLOT_REMOVE_BYTE
@ SES_STATUS_DEV_SLOT_REPORT_BYTE
@ SES_STATUS_DEV_SLOT_BYPED_A_BYTE
@ SES_STATUS_DEV_SLOT_DEVICE_BYPED_A_MASK
@ SES_STATUS_DEV_SLOT_FAULT_REQUESTED_MASK
@ SES_STATUS_DEV_SLOT_DEVICE_OFF_MASK
@ SES_STATUS_DEV_SLOT_ENCLOSURE_BYPED_B_MASK
@ SES_STATUS_DEV_SLOT_INSERT_READY_MASK
@ SES_STATUS_DEV_SLOT_BYPED_A_MASK
@ SES_STATUS_DEV_SLOT_APP_CLIENT_BYPED_A_SHIFT
@ SES_STATUS_DEV_SLOT_INSERT_READY_SHIFT
@ SES_STATUS_DEV_SLOT_DO_NOT_REMOVE_SHIFT
@ SES_STATUS_DEV_SLOT_DEVICE_BYPED_B_SHIFT
@ SES_STATUS_DEV_SLOT_APP_CLIENT_BYPED_B_MASK
@ SES_STATUS_DEV_SLOT_IDENT_BYTE
@ SES_STATUS_DEV_SLOT_IDENT_SHIFT
@ SES_STATUS_DEV_SLOT_DO_NOT_REMOVE_BYTE
@ SES_STATUS_DEV_SLOT_DEVICE_OFF_BYTE
@ SES_STATUS_DEV_SLOT_APP_CLIENT_BYPED_A_MASK
@ SES_STATUS_DEV_SLOT_DEVICE_OFF_SHIFT
@ SES_STATUS_DEV_SLOT_FAULT_SENSED_BYTE
@ SES_STATUS_DEV_SLOT_BYPED_B_BYTE
@ SES_STATUS_DEV_SLOT_BYPED_B_SHIFT
@ SES_STATUS_DEV_SLOT_FAULT_REQUESTED_SHIFT
@ SES_STATUS_DEV_SLOT_BYPED_B_MASK
@ SES_STATUS_DEV_SLOT_APP_CLIENT_BYPED_B_BYTE
@ SES_STATUS_DEV_SLOT_FAULT_SENSED_SHIFT
#define GEN_SES_STATUS_ENCLOSURE_ACCESSORS(LCASE, UCASE)
int ses_elm_addlstatus_eip(struct ses_elm_addlstatus_base_hdr *)
static int ses_enc_desc_is_complete(struct ses_enc_desc *encdesc, uint8_t *last_buf_byte)
@ SES_CTRL_UPS_RQST_IDENT_MASK
@ SES_CTRL_UPS_RQST_FAIL_BYTE
@ SES_CTRL_UPS_RQST_FAIL_SHIFT
@ SES_CTRL_UPS_RQST_FAIL_MASK
@ SES_CTRL_UPS_RQST_IDENT_SHIFT
@ SES_CTRL_UPS_RQST_IDENT_BYTE
#define GEN_SES_STATUS_SCSI_PORT_OR_XCVR_ACCESSORS(LCASE, UCASE)
int ses_elm_sas_dev_phy_sata_port(struct ses_elm_sas_device_phy *)
ses_status_power_supply_field_data
@ SES_STATUS_POWER_SUPPLY_DC_OVER_CURRENT_MASK
@ SES_STATUS_POWER_SUPPLY_OVERTMP_FAIL_SHIFT
@ SES_STATUS_POWER_SUPPLY_REQUESTED_ON_MASK
@ SES_STATUS_POWER_SUPPLY_OFF_BYTE
@ SES_STATUS_POWER_SUPPLY_TEMP_WARN_BYTE
@ SES_STATUS_POWER_SUPPLY_OFF_MASK
@ SES_STATUS_POWER_SUPPLY_IDENT_BYTE
@ SES_STATUS_POWER_SUPPLY_AC_FAIL_BYTE
@ SES_STATUS_POWER_SUPPLY_OVERTMP_FAIL_BYTE
@ SES_STATUS_POWER_SUPPLY_OVERTMP_FAIL_MASK
@ SES_STATUS_POWER_SUPPLY_FAIL_MASK
@ SES_STATUS_POWER_SUPPLY_HOT_SWAP_SHIFT
@ SES_STATUS_POWER_SUPPLY_TEMP_WARN_SHIFT
@ SES_STATUS_POWER_SUPPLY_DC_UNDER_VOLTAGE_SHIFT
@ SES_STATUS_POWER_SUPPLY_AC_FAIL_SHIFT
@ SES_STATUS_POWER_SUPPLY_TEMP_WARN_MASK
@ SES_STATUS_POWER_SUPPLY_DC_FAIL_BYTE
@ SES_STATUS_POWER_SUPPLY_FAIL_BYTE
@ SES_STATUS_POWER_SUPPLY_REQUESTED_ON_BYTE
@ SES_STATUS_POWER_SUPPLY_DC_OVER_CURRENT_BYTE
@ SES_STATUS_POWER_SUPPLY_REQUESTED_ON_SHIFT
@ SES_STATUS_POWER_SUPPLY_DC_OVER_VOLTAGE_BYTE
@ SES_STATUS_POWER_SUPPLY_AC_FAIL_MASK
@ SES_STATUS_POWER_SUPPLY_FAIL_SHIFT
@ SES_STATUS_POWER_SUPPLY_DC_OVER_VOLTAGE_SHIFT
@ SES_STATUS_POWER_SUPPLY_OFF_SHIFT
@ SES_STATUS_POWER_SUPPLY_HOT_SWAP_BYTE
@ SES_STATUS_POWER_SUPPLY_IDENT_MASK
@ SES_STATUS_POWER_SUPPLY_DC_OVER_CURRENT_SHIFT
@ SES_STATUS_POWER_SUPPLY_IDENT_SHIFT
@ SES_STATUS_POWER_SUPPLY_DC_UNDER_VOLTAGE_MASK
@ SES_STATUS_POWER_SUPPLY_DC_FAIL_SHIFT
@ SES_STATUS_POWER_SUPPLY_DC_FAIL_MASK
@ SES_STATUS_POWER_SUPPLY_HOT_SWAP_MASK
@ SES_STATUS_POWER_SUPPLY_DC_UNDER_VOLTAGE_BYTE
@ SES_STATUS_POWER_SUPPLY_DC_OVER_VOLTAGE_MASK
#define GEN_SES_CTRL_TEMP_SENSOR_ACCESSORS(LCASE, UCASE)
static int ses_cfg_page_get_num_subenc(struct ses_cfg_page *page)
ses_status_display_field_data
@ SES_STATUS_DISPLAY_FAIL_SHIFT
@ SES_STATUS_DISPLAY_FAIL_BYTE
@ SES_STATUS_DISPLAY_IDENT_SHIFT
@ SES_STATUS_DISPLAY_DISPLAY_MODE_DC_FIELD_SUPP
@ SES_STATUS_DISPLAY_DISPLAY_MODE_DC_FIELD
@ SES_STATUS_DISPLAY_FAIL_MASK
@ SES_STATUS_DISPLAY_DISPLAY_MODE_DC_FIELD_UNSUPP
@ SES_STATUS_DISPLAY_IDENT_BYTE
@ SES_STATUS_DISPLAY_DISPLAY_MODE_BYTE
@ SES_STATUS_DISPLAY_IDENT_MASK
@ SES_STATUS_DISPLAY_DISPLAY_MODE_SHIFT
@ SES_STATUS_DISPLAY_DISPLAY_MODE_MASK
ses_ctrl_cooling_field_data
@ SES_CTRL_COOLING_RQST_FAIL_SHIFT
@ SES_CTRL_COOLING_RQST_ON_BYTE
@ SES_CTRL_COOLING_RQSTED_SPEED_CODE_HIGHEST
@ SES_CTRL_COOLING_RQST_IDENT_MASK
@ SES_CTRL_COOLING_RQSTED_SPEED_CODE_UNCHANGED
@ SES_CTRL_COOLING_RQST_IDENT_SHIFT
@ SES_CTRL_COOLING_RQST_IDENT_BYTE
@ SES_CTRL_COOLING_RQST_FAIL_BYTE
@ SES_CTRL_COOLING_RQST_ON_MASK
@ SES_CTRL_COOLING_RQSTED_SPEED_CODE_BYTE
@ SES_CTRL_COOLING_RQST_FAIL_MASK
@ SES_CTRL_COOLING_RQST_ON_SHIFT
@ SES_CTRL_COOLING_RQSTED_SPEED_CODE_MASK
@ SES_CTRL_COOLING_RQSTED_SPEED_CODE_LOWEST
@ SES_CTRL_COOLING_RQSTED_SPEED_CODE_SHIFT
#define GEN_SES_CTRL_SCC_ELECTRONICS_ACCESSORS(LCASE, UCASE)
ses_status_language_field_data
@ SES_STATUS_LANGUAGE_IDENT_BYTE
@ SES_STATUS_LANGUAGE_IDENT_MASK
@ SES_STATUS_LANGUAGE_IDENT_SHIFT
#define GEN_SES_CTRL_UPS_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_COMMON_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_PAGE_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_ECC_ELECTRONICS_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_VOLTAGE_SENSOR_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_SIMPlE_SUBSES_ACCESSORS(LCASE, UCASE)
ses_ctrl_simple_subenc_field_data
@ SES_CTRL_SIMPlE_SUBSES_RQST_FAIL_SHIFT
@ SES_CTRL_SIMPlE_SUBSES_RQST_IDENT_SHIFT
@ SES_CTRL_SIMPlE_SUBSES_RQST_IDENT_BYTE
@ SES_CTRL_SIMPlE_SUBSES_RQST_FAIL_BYTE
@ SES_CTRL_SIMPlE_SUBSES_RQST_IDENT_MASK
@ SES_CTRL_SIMPlE_SUBSES_RQST_FAIL_MASK
ses_status_common_field_data
@ SES_STATUS_COMMON_SWAP_SHIFT
@ SES_STATUS_COMMON_ELEMENT_STATUS_CODE_SHIFT
@ SES_STATUS_COMMON_DISABLED_MASK
@ SES_STATUS_COMMON_DISABLED_SHIFT
@ SES_STATUS_COMMON_SWAP_BYTE
@ SES_STATUS_COMMON_ELEMENT_STATUS_CODE_BYTE
@ SES_STATUS_COMMON_PRDFAIL_SHIFT
@ SES_STATUS_COMMON_PRDFAIL_BYTE
@ SES_STATUS_COMMON_PRDFAIL_MASK
@ SES_STATUS_COMMON_SWAP_MASK
@ SES_STATUS_COMMON_ELEMENT_STATUS_CODE_MASK
@ SES_STATUS_COMMON_DISABLED_BYTE
ses_status_ecc_electronics_field_data
@ SES_STATUS_ECC_ELECTRONICS_IDENT_BYTE
@ SES_STATUS_ECC_ELECTRONICS_FAIL_BYTE
@ SES_STATUS_ECC_ELECTRONICS_FAIL_SHIFT
@ SES_STATUS_ECC_ELECTRONICS_REPORT_SHIFT
@ SES_STATUS_ECC_ELECTRONICS_HOT_SWAP_BYTE
@ SES_STATUS_ECC_ELECTRONICS_HOT_SWAP_MASK
@ SES_STATUS_ECC_ELECTRONICS_FAIL_MASK
@ SES_STATUS_ECC_ELECTRONICS_REPORT_BYTE
@ SES_STATUS_ECC_ELECTRONICS_IDENT_SHIFT
@ SES_STATUS_ECC_ELECTRONICS_IDENT_MASK
@ SES_STATUS_ECC_ELECTRONICS_HOT_SWAP_SHIFT
@ SES_STATUS_ECC_ELECTRONICS_REPORT_MASK
ses_ctrl_display_field_data
@ SES_CTRL_DISPLAY_DISPLAY_MODE_BYTE
@ SES_CTRL_DISPLAY_DISPLAY_MODE_ESP
@ SES_CTRL_DISPLAY_DISPLAY_MODE_DC_FIELD
@ SES_CTRL_DISPLAY_DISPLAY_MODE_UNCHANGED
@ SES_CTRL_DISPLAY_RQST_FAIL_SHIFT
@ SES_CTRL_DISPLAY_RQST_IDENT_SHIFT
@ SES_CTRL_DISPLAY_DISPLAY_MODE_SHIFT
@ SES_CTRL_DISPLAY_RQST_IDENT_BYTE
@ SES_CTRL_DISPLAY_DISPLAY_MODE_MASK
@ SES_CTRL_DISPLAY_RQST_IDENT_MASK
@ SES_CTRL_DISPLAY_RQST_FAIL_MASK
@ SES_CTRL_DISPLAY_RQST_FAIL_BYTE
#define GEN_SES_STATUS_COMMON_ACCESSORS(LCASE, UCASE)
int ses_elm_addlstatus_proto(struct ses_elm_addlstatus_base_hdr *)
ses_status_sas_expander_field_data
@ SES_STATUS_SAS_EXPANDER_IDENT_BYTE
@ SES_STATUS_SAS_EXPANDER_FAIL_BYTE
@ SES_STATUS_SAS_EXPANDER_IDENT_SHIFT
@ SES_STATUS_SAS_EXPANDER_FAIL_SHIFT
@ SES_STATUS_SAS_EXPANDER_FAIL_MASK
@ SES_STATUS_SAS_EXPANDER_IDENT_MASK
#define GEN_SES_STATUS_TARGET_PORT_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_COOLING_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_PAGE_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_AUDIBLE_ALARM_ACCESSORS(LCASE, UCASE)
ses_ctrl_current_sensor_field_data
@ SES_CTRL_CURRENT_SENSOR_RQST_FAIL_SHIFT
@ SES_CTRL_CURRENT_SENSOR_RQST_IDENT_BYTE
@ SES_CTRL_CURRENT_SENSOR_RQST_IDENT_MASK
@ SES_CTRL_CURRENT_SENSOR_RQST_FAIL_BYTE
@ SES_CTRL_CURRENT_SENSOR_RQST_FAIL_MASK
@ SES_CTRL_CURRENT_SENSOR_RQST_IDENT_SHIFT
ses_ctrl_scsi_target_port_field_data
@ SES_CTRL_TARGET_PORT_RQST_IDENT_BYTE
@ SES_CTRL_TARGET_PORT_RQST_FAIL_MASK
@ SES_CTRL_TARGET_PORT_ENABLE_MASK
@ SES_CTRL_TARGET_PORT_RQST_FAIL_SHIFT
@ SES_CTRL_TARGET_PORT_RQST_FAIL_BYTE
@ SES_CTRL_TARGET_PORT_ENABLE_BYTE
@ SES_CTRL_TARGET_PORT_RQST_IDENT_MASK
@ SES_CTRL_TARGET_PORT_ENABLE_SHIFT
@ SES_CTRL_TARGET_PORT_RQST_IDENT_SHIFT
ses_status_ups_field_data
@ SES_STATUS_UPS_DC_FAIL_SHIFT
@ SES_STATUS_UPS_AC_LO_SHIFT
@ SES_STATUS_UPS_AC_FAIL_BYTE
@ SES_STATUS_UPS_AC_HI_MASK
@ SES_STATUS_UPS_AC_HI_SHIFT
@ SES_STATUS_UPS_BPF_MASK
@ SES_STATUS_UPS_INTF_FAIL_SHIFT
@ SES_STATUS_UPS_UPS_FAIL_SHIFT
@ SES_STATUS_UPS_AC_QUAL_BYTE
@ SES_STATUS_UPS_AC_FAIL_MASK
@ SES_STATUS_UPS_DC_FAIL_BYTE
@ SES_STATUS_UPS_UPS_FAIL_MASK
@ SES_STATUS_UPS_AC_QUAL_MASK
@ SES_STATUS_UPS_FAIL_BYTE
@ SES_STATUS_UPS_BPF_BYTE
@ SES_STATUS_UPS_BPF_SHIFT
@ SES_STATUS_UPS_AC_QUAL_SHIFT
@ SES_STATUS_UPS_AC_LO_MASK
@ SES_STATUS_UPS_IDENT_SHIFT
@ SES_STATUS_UPS_UPS_FAIL_BYTE
@ SES_STATUS_UPS_WARN_MASK
@ SES_STATUS_UPS_FAIL_SHIFT
@ SES_STATUS_UPS_BATT_FAIL_SHIFT
@ SES_STATUS_UPS_BATT_FAIL_BYTE
@ SES_STATUS_UPS_FAIL_MASK
@ SES_STATUS_UPS_IDENT_MASK
@ SES_STATUS_UPS_INTF_FAIL_BYTE
@ SES_STATUS_UPS_INTF_FAIL_MASK
@ SES_STATUS_UPS_AC_LO_BYTE
@ SES_STATUS_UPS_AC_FAIL_SHIFT
@ SES_STATUS_UPS_WARN_BYTE
@ SES_STATUS_UPS_WARN_SHIFT
@ SES_STATUS_UPS_IDENT_BYTE
@ SES_STATUS_UPS_BATT_FAIL_MASK
@ SES_STATUS_UPS_AC_HI_BYTE
@ SES_STATUS_UPS_DC_FAIL_MASK
int ses_elm_addlstatus_invalid(struct ses_elm_addlstatus_base_hdr *)
ses_ctrl_language_field_data
@ SES_CTRL_LANGUAGE_RQST_IDENT_BYTE
@ SES_CTRL_LANGUAGE_RQST_IDENT_MASK
@ SES_CTRL_LANGUAGE_RQST_IDENT_SHIFT
ses_ctrl_audible_alarm_field_data
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_BYTE
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_MASK
@ SES_CTRL_AUDIBLE_ALARM_RQST_FAIL_SHIFT
@ SES_CTRL_AUDIBLE_ALARM_RQST_FAIL_BYTE
@ SES_CTRL_AUDIBLE_ALARM_SET_REMIND_MASK
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_INFO
@ SES_CTRL_AUDIBLE_ALARM_RQST_FAIL_MASK
@ SES_CTRL_AUDIBLE_ALARM_SET_MUTE_SHIFT
@ SES_CTRL_AUDIBLE_ALARM_RQST_IDENT_SHIFT
@ SES_CTRL_AUDIBLE_ALARM_SET_REMIND_SHIFT
@ SES_CTRL_AUDIBLE_ALARM_RQST_IDENT_BYTE
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_NON_CRIT
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_CRIT
@ SES_CTRL_AUDIBLE_ALARM_SET_REMIND_BYTE
@ SES_CTRL_AUDIBLE_ALARM_SET_MUTE_BYTE
@ SES_CTRL_AUDIBLE_ALARM_RQST_IDENT_MASK
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_UNRECOV
@ SES_CTRL_AUDIBLE_ALARM_SET_MUTE_MASK
@ SES_CTRL_AUDIBLE_ALARM_TONE_CONTROL_SHIFT
int ses_elm_sas_descr_type(union ses_elm_sas_hdr *)
#define GEN_SES_CTRL_INITIATOR_PORT_ACCESSORS(LCASE, UCASE)
static size_t ses_page_length(const struct ses_page_hdr *hdr)
int ses_elm_sas_type0_not_all_phys(union ses_elm_sas_hdr *)
static void ses_status_to_ctrl(uint8_t type, uint8_t *bytes)
#define GEN_SES_CTRL_COMM_PORT_ACCESSORS(LCASE, UCASE)
ses_ctrl_key_pad_entry_field_data
@ SES_CTRL_KEY_PAD_ENTRY_RQST_IDENT_SHIFT
@ SES_CTRL_KEY_PAD_ENTRY_RQST_IDENT_BYTE
@ SES_CTRL_KEY_PAD_ENTRY_RQST_FAIL_BYTE
@ SES_CTRL_KEY_PAD_ENTRY_RQST_FAIL_MASK
@ SES_CTRL_KEY_PAD_ENTRY_RQST_FAIL_SHIFT
@ SES_CTRL_KEY_PAD_ENTRY_RQST_IDENT_MASK
#define GEN_SES_CTRL_TARGET_PORT_ACCESSORS(LCASE, UCASE)
#define GEN_SES_CTRL_POWER_SUPPLY_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_LANGUAGE_ACCESSORS(LCASE, UCASE)
ses_status_scsi_initiator_port_field_data
@ SES_STATUS_INITIATOR_PORT_FAIL_MASK
@ SES_STATUS_INITIATOR_PORT_IDENT_MASK
@ SES_STATUS_INITIATOR_PORT_REPORT_MASK
@ SES_STATUS_INITIATOR_PORT_FAIL_BYTE
@ SES_STATUS_INITIATOR_PORT_REPORT_BYTE
@ SES_STATUS_INITIATOR_PORT_ENABLED_BYTE
@ SES_STATUS_INITIATOR_PORT_ENABLED_MASK
@ SES_STATUS_INITIATOR_PORT_IDENT_SHIFT
@ SES_STATUS_INITIATOR_PORT_FAIL_SHIFT
@ SES_STATUS_INITIATOR_PORT_IDENT_BYTE
@ SES_STATUS_INITIATOR_PORT_ENABLED_SHIFT
@ SES_STATUS_INITIATOR_PORT_REPORT_SHIFT
#define GEN_SES_STATUS_SAS_CONNECTOR_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_POWER_SUPPLY_ACCESSORS(LCASE, UCASE)
ses_status_simple_subses_field_data
@ SES_STATUS_SIMPlE_SUBSES_FAIL_SHIFT
@ SES_STATUS_SIMPlE_SUBSES_FAIL_BYTE
@ SES_STATUS_SIMPlE_SUBSES_IDENT_SHIFT
@ SES_STATUS_SIMPlE_SUBSES_FAIL_MASK
@ SES_STATUS_SIMPlE_SUBSES_IDENT_MASK
@ SES_STATUS_SIMPlE_SUBSES_IDENT_BYTE
#define GEN_SES_STATUS_SAS_EXPANDER_ACCESSORS(LCASE, UCASE)
#define GEN_SES_STATUS_NV_CACHE_ACCESSORS(LCASE, UCASE)
static struct ses_enc_desc * ses_enc_desc_next(struct ses_enc_desc *encdesc)
ses_status_comm_port_field_data
@ SES_STATUS_COMM_PORT_DISABLED_MASK
@ SES_STATUS_COMM_PORT_DISABLED_BYTE
@ SES_STATUS_COMM_PORT_FAIL_MASK
@ SES_STATUS_COMM_PORT_IDENT_MASK
@ SES_STATUS_COMM_PORT_FAIL_SHIFT
@ SES_STATUS_COMM_PORT_FAIL_BYTE
@ SES_STATUS_COMM_PORT_IDENT_SHIFT
@ SES_STATUS_COMM_PORT_DISABLED_SHIFT
@ SES_STATUS_COMM_PORT_IDENT_BYTE
#define GEN_SES_CTRL_AUDIBLE_ALARM_ACCESSORS(LCASE, UCASE)
ses_ctrl_temp_sensor_field_data
@ SES_CTRL_TEMP_SENSOR_RQST_IDENT_BYTE
@ SES_CTRL_TEMP_SENSOR_RQST_IDENT_MASK
@ SES_CTRL_TEMP_SENSOR_RQST_FAIL_SHIFT
@ SES_CTRL_TEMP_SENSOR_RQST_FAIL_BYTE
@ SES_CTRL_TEMP_SENSOR_RQST_FAIL_MASK
@ SES_CTRL_TEMP_SENSOR_RQST_IDENT_SHIFT
#define GEN_SES_STATUS_UPS_ACCESSORS(LCASE, UCASE)
ses_ctrl_sas_connector_field_data
@ SES_CTRL_SAS_CONNECTOR_RQST_IDENT_SHIFT
@ SES_CTRL_SAS_CONNECTOR_RQST_IDENT_MASK
@ SES_CTRL_SAS_CONNECTOR_RQST_FAIL_SHIFT
@ SES_CTRL_SAS_CONNECTOR_RQST_FAIL_MASK
@ SES_CTRL_SAS_CONNECTOR_RQST_IDENT_BYTE
@ SES_CTRL_SAS_CONNECTOR_RQST_FAIL_BYTE
struct ses_enc_desc subencs[]
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
uint8_t display_character[2]
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
union ses_ctrl_element elements[]
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_ctrl_common common
struct ses_elem_descr descrs[]
struct ses_elm_addlstatus_base_hdr base
uint8_t port_loop_position
uint8_t port_req_hard_addr
struct ses_elm_sas_type0_base_hdr base
uint8_t page_specific_flags
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
uint8_t display_character[2]
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
union ses_status_element elements[]
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
uint8_t short_enclosure_status
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_status_common common
struct ses_ctrl_sas_connector sas_connector
struct ses_ctrl_current_sensor current_sensor
struct ses_ctrl_array_dev_slot array_dev_slot
struct ses_ctrl_sas_expander sas_expander
struct ses_ctrl_language language
struct ses_ctrl_initiator_port initiator_port
struct ses_ctrl_power_supply power_supply
struct ses_ctrl_common common
struct ses_ctrl_comm_port comm_port
struct ses_ctrl_nv_cache nv_cache
struct ses_ctrl_cooling cooling
struct ses_ctrl_scsi_port_or_xcvr scsi_port_or_xcvr
struct ses_ctrl_target_port target_port
struct ses_ctrl_simple_subenc simple_subenc
struct ses_ctrl_display display
struct ses_ctrl_key_pad_entry key_pad_entry
struct ses_ctrl_ecc_electronics ecc_electronics
struct ses_ctrl_voltage_sensor voltage_sensor
struct ses_ctrl_door_lock door_lock
struct ses_ctrl_dev_slot dev_slot
struct ses_ctrl_invalid_op_reason invalid_op_reason
struct ses_ctrl_temp_sensor temp_sensor
struct ses_ctrl_scc_electronics scc_electronics
struct ses_ctrl_audible_alarm audible_alarm
struct ses_elm_addlstatus_eip_hdr eip
struct ses_elm_addlstatus_base_hdr base
union ses_elm_sas_hdr sas
struct ses_elm_fc_eip_hdr eip_hdr
struct ses_elm_fc_base_hdr base_hdr
struct ses_elm_fc_noneip_hdr noneip_hdr
struct ses_elm_sas_type0_eip_hdr type0_eip
struct ses_elm_sas_base_hdr base_hdr
struct ses_elm_sas_type1_nonexpander_hdr type1_nonexp
struct ses_elm_sas_type0_base_hdr type0_noneip
struct ses_elm_sas_type1_expander_hdr type1_exp
struct ses_status_sas_expander sas_expander
struct ses_status_key_pad_entry key_pad_entry
struct ses_status_power_supply power_supply
struct ses_status_scsi_port_or_xcvr scsi_port_or_xcvr
struct ses_status_door_lock door_lock
struct ses_status_audible_alarm audible_alarm
struct ses_status_current_sensor current_sensor
struct ses_status_comm_port comm_port
struct ses_status_common common
struct ses_status_ecc_electronics ecc_electronics
struct ses_status_sas_connector sas_connector
struct ses_status_nv_cache nv_cache
struct ses_status_initiator_port initiator_port
struct ses_status_cooling cooling
struct ses_status_display display
struct ses_status_scc_electronics scc_electronics
struct ses_status_language language
struct ses_status_temp_sensor temp_sensor
struct ses_status_ups ups
struct ses_status_array_dev_slot array_dev_slot
struct ses_status_target_port target_port
struct ses_status_dev_slot dev_slot
struct ses_status_voltage_sensor voltage_sensor
struct ses_status_simple_subses simple_subses
struct ses_status_invalid_op_reason invalid_op_reason