/* Offsets into payload message 
 * (0-leading as these are used as index arrays, 
 * 0th element always completion code)
 */
#define IPMI_RPLY_SDRREP_VER_OFFSET                    1     /* SDR Repository Info */    
#define IPMI_RPLY_SDRREP_CNT_LSB_OFFSET                2     /* Number of records in repository, LSB */
#define IPMI_RPLY_SDRREP_CNT_MSB_OFFSET                3     /* Number of records in repository, MSB */
#define IPMI_RPLY_SDRREP_ADD_TS_OFFSET                 6     /* Timestamp of most recent addition, LSB first */
#define IPMI_RPLY_SDRREP_DEL_TS_OFFSET                 10    /* Timestamp of most recent deletion, LSB first */
#define IPMI_RPLY_DEV_SDR_CNT_OFFSET                   1     /* Number of SDRs for device */
#define IPMI_RPLY_DEV_SDR_FLAGS_OFFSET                 2     /* SDR flags */
#define IPMI_RPLY_GET_SDR_NEXT_ID_LSB_OFFSET           1     /* ID of next sensor in repository, LSB */
#define IPMI_RPLY_GET_SDR_NEXT_ID_MSB_OFFSET           2     /* ID of next sensor in repository, MSB */
#define IPMI_RPLY_GET_SDR_DATA_OFFSET                  3     /* Requested SDR data */
#define IPMI_RPLY_GET_SDR_RES_LSB_OFFSET               1     /* Reservation ID returned by Reserve SDR Rep */
#define IPMI_RPLY_GET_SDR_RES_MSB_OFFSET               2     /* Reservation ID returned by Reserve SDR Rep */
#define IPMI_RPLY_FRU_AREA_SIZE_LSB_OFFSET             1     /* FRU inventory area size in bytes, LSB */
#define IPMI_RPLY_FRU_AREA_SIZE_MSB_OFFSET             2     /* FRU inventory area size in bytes, MSB */
#define IPMI_RPLY_FRU_AREA_ACCESS_OFFSET               3     /* Bit 0 indicates if device is accessed by bytes (0) or words (1) */
#define IPMI_RPLY_FRU_DATA_READ_OFFSET                 2     /* FRU data */
#define IPMI_RPLY_SENSOR_READING_OFFSET                1     /* Sensor reading (1 byte) */
#define IPMI_RPLY_DISCRETE_SENSOR_READING_OFFSET       3     /* Discrete multi-state sensor value in threshold/assertions byte */
#define IPMI_RPLY_SENSOR_ENABLE_BITS_OFFSET            2     /* Sensor enable bits: event msgs; scanning; reading/state */
#define IPMI_RPLY_SENSOR_THRESH_MASK_OFFSET            1     /* Mask of readable thresholds */
#define IPMI_RPLY_SENSOR_THRESH_LNC_OFFSET             2     /* Lower non-critical threshold */
#define IPMI_RPLY_SENSOR_THRESH_LC_OFFSET              3     /* Lower critical threshold */
#define IPMI_RPLY_SENSOR_THRESH_LNR_OFFSET             4     /* Lower non-recoverable threshold */
#define IPMI_RPLY_SENSOR_THRESH_UNC_OFFSET             5     /* Upper non-critical threshold */
#define IPMI_RPLY_SENSOR_THRESH_UC_OFFSET              6     /* Upper critical threshold */
#define IPMI_RPLY_SENSOR_THRESH_UNR_OFFSET             7     /* Upper non-recoverable threshold */

/* Response message data; offsets from beginning of message; 
 * These defaults work for single-bridged replies from Vadatech MCH.
 * Non-bridged or NAT replies require different offsets
 */
/* new offsets need to be tested with utca */
#define IPMI_RPLY_IMSG2_AUTH_CAP_CHAN_OFFSET    1   /* Get Authentication Capabilities response - channel number */
#define IPMI_RPLY_IMSG2_AUTH_CAP_AUTH_OFFSET    2   /* Get Authentication Capabilities response - authentication type support */
#define IPMI_RPLY_AUTH_CAP_CHAN_OFFSET          21  /* Get Authentication Capabilities response - channel number */
#define IPMI_RPLY_AUTH_CAP_AUTH_OFFSET          22  /* Get Authentication Capabilities response - authentication type support */
#define IPMI_RPLY_TEMP_ID_OFFSET                21  /* Temporary session ID */
#define IPMI_RPLY_IMSG2_GET_SESS_TEMP_ID_OFFSET 1   /* Temporary session ID */
#define IPMI_RPLY_TEMP_ID_LENGTH                4
#define IPMI_RPLY_STR_OFFSET                    25  /* Challenge string */
#define IPMI_RPLY_IMSG2_GET_SESS_STR_OFFSET     5   /* Challenge string */
#define IPMI_RPLY_STR_LENGTH                    16
#define IPMI_RPLY_AUTH_TYPE_OFFSET              21  /* Authentication type */
#define IPMI_RPLY_IMSG2_ACT_SESSAUTH_TYPE_OFFSET 1  /* Authentication type */
#define IPMI_RPLY_AUTH_TYPE_LENGTH              1
#define IPMI_RPLY_ID_OFFSET                     22  /* Session ID for remainder of session */
#define IPMI_RPLY_IMSG2_ACT_SESS_ID_OFFSET      2   /* Session ID for remainder of session */
#define IPMI_RPLY_ID_LENGTH                     4
#define IPMI_RPLY_INIT_SEND_SEQ_OFFSET          26       /* Start sequence number for messages to MCH */
#define IPMI_RPLY_IMSG2_ACT_SESS_INIT_SEND_SEQ_OFFSET 6  /* Start sequence number for messages to MCH */
#define IPMI_RPLY_INIT_SEND_SEQ_LENGTH          4
#define IPMI_RPLY_MAX_PRIV_OFFSET               30  /* Maximum privilege level allowed for session */
#define IPMI_RPLY_IMSG2_ACT_SESS_MAX_PRIV_OFFSET 10 /* Maximum privilege level allowed for session */
#define IPMI_RPLY_MAX_PRIV_LENGTH               1
#define IPMI_RPLY_SEQ_OFFSET                    5   /* From-MCH sequence number (in reply to non-bridged message) */
#define IPMI_RPLY_HDR_SESS_SEQ_OFFSET           1   /* From-MCH session sequence number (in reply to non-bridged message) */
#define IPMI_RPLY_SEQ_LENGTH                    4
#define IPMI_RPLY_SEQLUN_OFFSET                 18  /* MS 6 bits: IPMI sequence, LS 2 bits: LUN */
#define IPMI_RPLY_IMSG1_SEQLUN_OFFSET           4   /* MS 6 bits: IPMI sequence, LS 2 bits: LUN */
#define IPMI_RPLY_MANUF_ID_LENGTH               3    
