#ifndef OPENBMC_IPMI_FRU_PARSER_H
#define OPENBMC_IPMI_FRU_PARSER_H

#include <systemd/sd-bus.h>
#include <array>


enum ipmi_fru_area_type
{
    IPMI_FRU_AREA_INTERNAL_USE = 0x00,
    IPMI_FRU_AREA_CHASSIS_INFO,
    IPMI_FRU_AREA_BOARD_INFO,
    IPMI_FRU_AREA_PRODUCT_INFO,
    IPMI_FRU_AREA_MULTI_RECORD,
    IPMI_FRU_AREA_TYPE_MAX
};


enum openbmc_vpd_key_id
{
  OPENBMC_VPD_KEY_CHASSIS_TYPE = 1, /* not a type/len */
  OPENBMC_VPD_KEY_CHASSIS_PART_NUM,
  OPENBMC_VPD_KEY_CHASSIS_SERIAL_NUM,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM1,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM2,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM3,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM4,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM5,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM6,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM7,
  OPENBMC_VPD_KEY_CHASSIS_CUSTOM8,
  OPENBMC_VPD_KEY_CHASSIS_MAX = OPENBMC_VPD_KEY_CHASSIS_CUSTOM8,
  /* TODO: chassis_custom_fields */

  OPENBMC_VPD_KEY_BOARD_MFG_DATE, /* not a type/len */
  OPENBMC_VPD_KEY_BOARD_MFR,
  OPENBMC_VPD_KEY_BOARD_NAME,
  OPENBMC_VPD_KEY_BOARD_SERIAL_NUM,
  OPENBMC_VPD_KEY_BOARD_PART_NUM,
  OPENBMC_VPD_KEY_BOARD_FRU_FILE_ID,
  OPENBMC_VPD_KEY_BOARD_CUSTOM1,
  OPENBMC_VPD_KEY_BOARD_CUSTOM2,
  OPENBMC_VPD_KEY_BOARD_CUSTOM3,
  OPENBMC_VPD_KEY_BOARD_CUSTOM4,
  OPENBMC_VPD_KEY_BOARD_CUSTOM5,
  OPENBMC_VPD_KEY_BOARD_CUSTOM6,
  OPENBMC_VPD_KEY_BOARD_CUSTOM7,
  OPENBMC_VPD_KEY_BOARD_CUSTOM8,
  OPENBMC_VPD_KEY_BOARD_MAX = OPENBMC_VPD_KEY_BOARD_CUSTOM8,
  /* TODO: board_custom_fields */

  OPENBMC_VPD_KEY_PRODUCT_MFR,
  OPENBMC_VPD_KEY_PRODUCT_NAME,
  OPENBMC_VPD_KEY_PRODUCT_PART_MODEL_NUM,
  OPENBMC_VPD_KEY_PRODUCT_VER,
  OPENBMC_VPD_KEY_PRODUCT_SERIAL_NUM,
  OPENBMC_VPD_KEY_PRODUCT_ASSET_TAG,
  OPENBMC_VPD_KEY_PRODUCT_FRU_FILE_ID,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM1,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM2,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM3,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM4,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM5,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM6,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM7,
  OPENBMC_VPD_KEY_PRODUCT_CUSTOM8,
  OPENBMC_VPD_KEY_PRODUCT_MAX = OPENBMC_VPD_KEY_PRODUCT_CUSTOM8,

  OPENBMC_VPD_KEY_MAX,
  OPENBMC_VPD_KEY_CUSTOM_FIELDS_MAX=8,

};

using IPMIFruInfo = std::array<std::pair<std::string,std::string>,
                           OPENBMC_VPD_KEY_MAX>;


/* Parse an IPMI write fru data message into a dictionary containing name value pair of VPD entries.*/
int parse_fru (const void* msgbuf, sd_bus_message* vpdtbl);

int parse_fru_area (const uint8_t area, const void* msgbuf,
                    const size_t len, IPMIFruInfo& info);

#endif
