switchtec-user-sys 0.4.1

Rust wrapper for the switchtec-user C library
Documentation
pub use super::ffi::{
    switchtec_boot_phase, switchtec_boot_phase_SWITCHTEC_BOOT_PHASE_BL1,
    switchtec_boot_phase_SWITCHTEC_BOOT_PHASE_BL2, switchtec_boot_phase_SWITCHTEC_BOOT_PHASE_FW,
    switchtec_boot_phase_SWITCHTEC_BOOT_PHASE_UNKNOWN, switchtec_bwcntr_res,
    switchtec_bwcntr_res_switchtec_bwcntr_dir, switchtec_close, switchtec_cmd, switchtec_dev,
    switchtec_device_info, switchtec_die_temp, switchtec_evcntr_get_both, switchtec_evcntr_setup,
    switchtec_evcntr_type_str, switchtec_event_summary, switchtec_fw_body_read_fd,
    switchtec_fw_file_info, switchtec_fw_file_secure_version_newer, switchtec_fw_image_info,
    switchtec_fw_image_type, switchtec_fw_img_write_hdr, switchtec_fw_is_boot_ro,
    switchtec_fw_part_summary, switchtec_fw_part_summary_free,
    switchtec_fw_part_summary_switchtec_fw_part_type, switchtec_fw_ro_SWITCHTEC_FW_RO,
    switchtec_fw_ro_SWITCHTEC_FW_RW, switchtec_fw_set_boot_ro,
    switchtec_fw_toggle_active_partition, switchtec_fw_type_SWITCHTEC_FW_TYPE_BL2,
    switchtec_fw_type_SWITCHTEC_FW_TYPE_BOOT, switchtec_fw_type_SWITCHTEC_FW_TYPE_CFG,
    switchtec_fw_type_SWITCHTEC_FW_TYPE_IMG, switchtec_fw_type_SWITCHTEC_FW_TYPE_KEY,
    switchtec_fw_type_SWITCHTEC_FW_TYPE_MAP, switchtec_fw_type_SWITCHTEC_FW_TYPE_NVLOG,
    switchtec_fw_type_SWITCHTEC_FW_TYPE_SEEPROM, switchtec_fw_type_SWITCHTEC_FW_TYPE_UNKNOWN,
    switchtec_fw_write_fd, switchtec_fw_write_file, switchtec_gen, switchtec_gen_SWITCHTEC_GEN3,
    switchtec_gen_SWITCHTEC_GEN4, switchtec_gen_SWITCHTEC_GEN5,
    switchtec_gen_SWITCHTEC_GEN_UNKNOWN, switchtec_get_fw_version, switchtec_hard_reset,
    switchtec_name, switchtec_open, switchtec_partition, switchtec_port_id, switchtec_status,
    switchtec_status_free, switchtec_strerror, SWITCHTEC_MAX_EVENT_COUNTERS, SWITCHTEC_MAX_LANES,
    SWITCHTEC_MAX_PARTITIONS, SWITCHTEC_MAX_PARTS, SWITCHTEC_MAX_PHY_PORTS, SWITCHTEC_MAX_PORTS,
    SWITCHTEC_MAX_STACKS,
};

/// Re-exported items from `libswitchtec` that relate to MRPC
pub mod mrpc {
    pub use crate::ffi::{
        mrpc_bg_status, mrpc_bg_status_MRPC_BG_STAT_DONE, mrpc_bg_status_MRPC_BG_STAT_ERROR,
        mrpc_bg_status_MRPC_BG_STAT_IDLE, mrpc_bg_status_MRPC_BG_STAT_INPROGRESS,
        mrpc_bg_status_MRPC_BG_STAT_OFFSET, mrpc_cmd, mrpc_cmd_MRPC_ACT_IMG_IDX_GET,
        mrpc_cmd_MRPC_ACT_IMG_IDX_SET, mrpc_cmd_MRPC_AER_GEN, mrpc_cmd_MRPC_ARB,
        mrpc_cmd_MRPC_BOOTUP_RESUME, mrpc_cmd_MRPC_CROSS_HAIR, mrpc_cmd_MRPC_DBG_UNLOCK,
        mrpc_cmd_MRPC_DEVICE_MANAGE_CMD, mrpc_cmd_MRPC_DEV_INFO_GET, mrpc_cmd_MRPC_DIAG_PMC_START,
        mrpc_cmd_MRPC_DIAG_PORT_EYE, mrpc_cmd_MRPC_DIAG_PORT_LN_ADPT,
        mrpc_cmd_MRPC_DIAG_PORT_LTSSM_LOG, mrpc_cmd_MRPC_DIAG_PORT_TLP_ANL,
        mrpc_cmd_MRPC_DIAG_POT_VHIST, mrpc_cmd_MRPC_DIAG_TLP_INJECT, mrpc_cmd_MRPC_DIETEMP,
        mrpc_cmd_MRPC_ECHO, mrpc_cmd_MRPC_EP_RESOURCE_ACCESS, mrpc_cmd_MRPC_EP_TUNNEL_CFG,
        mrpc_cmd_MRPC_EVENTS_QUERY, mrpc_cmd_MRPC_EXT_RCVR_OBJ_DUMP, mrpc_cmd_MRPC_EYE_OBSERVE,
        mrpc_cmd_MRPC_FWDNLD, mrpc_cmd_MRPC_FWLOGRD, mrpc_cmd_MRPC_FW_TX, mrpc_cmd_MRPC_GAS_READ,
        mrpc_cmd_MRPC_GAS_WRITE, mrpc_cmd_MRPC_GET_PAX_ID, mrpc_cmd_MRPC_GFMS_BIND_UNBIND,
        mrpc_cmd_MRPC_GFMS_DB_DUMP, mrpc_cmd_MRPC_GFMS_EVENT, mrpc_cmd_MRPC_I2C_TWI_PING,
        mrpc_cmd_MRPC_INT_LOOPBACK, mrpc_cmd_MRPC_KMSK_ENTRY_SET, mrpc_cmd_MRPC_LNKSTAT,
        mrpc_cmd_MRPC_LOG_DEF_GET, mrpc_cmd_MRPC_MAILBOX_GET, mrpc_cmd_MRPC_MAX_ID,
        mrpc_cmd_MRPC_MCOVRLY, mrpc_cmd_MRPC_MRPC_ERR_INJ, mrpc_cmd_MRPC_MRPC_PERM_TABLE_GET,
        mrpc_cmd_MRPC_MULTI_CFG, mrpc_cmd_MRPC_NT_MCG_CAPABLE_CONFIG,
        mrpc_cmd_MRPC_NVME_ADMIN_PASSTHRU, mrpc_cmd_MRPC_PART_INFO, mrpc_cmd_MRPC_PAT_GEN,
        mrpc_cmd_MRPC_PCIE_GEN_1_2_DUMP, mrpc_cmd_MRPC_PCIE_GEN_1_2_TUNE, mrpc_cmd_MRPC_PMON,
        mrpc_cmd_MRPC_PORTARB, mrpc_cmd_MRPC_PORTLN, mrpc_cmd_MRPC_PORTPARTP2P,
        mrpc_cmd_MRPC_PORT_CONFIG, mrpc_cmd_MRPC_PORT_CONTROL, mrpc_cmd_MRPC_PORT_EQ_CTRL,
        mrpc_cmd_MRPC_PORT_EQ_STATUS, mrpc_cmd_MRPC_PWM, mrpc_cmd_MRPC_RCVR_OBJ_DUMP,
        mrpc_cmd_MRPC_RD_FLASH, mrpc_cmd_MRPC_RECV_DETECT_STATUS, mrpc_cmd_MRPC_REFCLK_S,
        mrpc_cmd_MRPC_RESERVED1, mrpc_cmd_MRPC_RESERVED2, mrpc_cmd_MRPC_RESERVED3,
        mrpc_cmd_MRPC_RESET, mrpc_cmd_MRPC_ROUTE_TO_SELF, mrpc_cmd_MRPC_SECURE_STATE_SET,
        mrpc_cmd_MRPC_SECURITY_CONFIG_GET, mrpc_cmd_MRPC_SECURITY_CONFIG_GET_EXT,
        mrpc_cmd_MRPC_SECURITY_CONFIG_GET_GEN5, mrpc_cmd_MRPC_SECURITY_CONFIG_SET,
        mrpc_cmd_MRPC_SECURITY_CONFIG_SET_GEN5, mrpc_cmd_MRPC_SES, mrpc_cmd_MRPC_SMBUS,
        mrpc_cmd_MRPC_SN_VER_GET, mrpc_cmd_MRPC_SPI_ECC, mrpc_cmd_MRPC_SRDS_EQ_CTRL,
        mrpc_cmd_MRPC_SRDS_LN_TUNING_MODE, mrpc_cmd_MRPC_SRDS_PCIE_PEAK, mrpc_cmd_MRPC_STACKBIF,
        mrpc_cmd_MRPC_SYNTH_EP, mrpc_cmd_MRPC_TCH, mrpc_cmd_MRPC_TOPO_INFO_DUMP, mrpc_cmd_MRPC_TWI,
        mrpc_cmd_MRPC_VGPIO, mrpc_regs, mrpc_status, mrpc_status_SWITCHTEC_MRPC_STATUS_DONE,
        mrpc_status_SWITCHTEC_MRPC_STATUS_ERROR, mrpc_status_SWITCHTEC_MRPC_STATUS_INPROGRESS,
        mrpc_status_SWITCHTEC_MRPC_STATUS_INTERRUPTED, mrpc_sub_cmd,
        mrpc_sub_cmd_MRPC_CROSS_HAIR_DISABLE, mrpc_sub_cmd_MRPC_CROSS_HAIR_ENABLE,
        mrpc_sub_cmd_MRPC_CROSS_HAIR_GET, mrpc_sub_cmd_MRPC_DBG_UNLOCK_DATA,
        mrpc_sub_cmd_MRPC_DBG_UNLOCK_PKEY, mrpc_sub_cmd_MRPC_DBG_UNLOCK_UPDATE,
        mrpc_sub_cmd_MRPC_DIETEMP_GET, mrpc_sub_cmd_MRPC_DIETEMP_GET_GEN4,
        mrpc_sub_cmd_MRPC_DIETEMP_SET_CLOCK, mrpc_sub_cmd_MRPC_DIETEMP_SET_MEAS,
        mrpc_sub_cmd_MRPC_DIETEMP_STOP, mrpc_sub_cmd_MRPC_EP_TUNNEL_DISABLE,
        mrpc_sub_cmd_MRPC_EP_TUNNEL_ENABLE, mrpc_sub_cmd_MRPC_EP_TUNNEL_STATUS,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_EQ_TX_TABLE_PREV,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_FAR_END_TX_COEFF_PREV,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_FAR_END_TX_FSLF_PREV,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_LOCAL_TX_COEFF_PREV,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_LOCAL_TX_FSLF_PREV,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_PREV, mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_RCVR_EXT,
        mrpc_sub_cmd_MRPC_EXT_RCVR_OBJ_DUMP_RCVR_EXT_PREV, mrpc_sub_cmd_MRPC_EYE_OBSERVE_CANCEL,
        mrpc_sub_cmd_MRPC_EYE_OBSERVE_FETCH, mrpc_sub_cmd_MRPC_EYE_OBSERVE_GET_DATA_MODE,
        mrpc_sub_cmd_MRPC_EYE_OBSERVE_SET_DATA_MODE, mrpc_sub_cmd_MRPC_EYE_OBSERVE_START,
        mrpc_sub_cmd_MRPC_FWDNLD_BOOT_RO, mrpc_sub_cmd_MRPC_FWDNLD_DOWNLOAD,
        mrpc_sub_cmd_MRPC_FWDNLD_GET_STATUS, mrpc_sub_cmd_MRPC_FWDNLD_TOGGLE,
        mrpc_sub_cmd_MRPC_FWLOGRD_FLASH, mrpc_sub_cmd_MRPC_FWLOGRD_FLASH_GEN5,
        mrpc_sub_cmd_MRPC_FWLOGRD_FLASH_WITH_FLAG, mrpc_sub_cmd_MRPC_FWLOGRD_INVAL,
        mrpc_sub_cmd_MRPC_FWLOGRD_MEMLOG, mrpc_sub_cmd_MRPC_FWLOGRD_NVHDR,
        mrpc_sub_cmd_MRPC_FWLOGRD_RAM, mrpc_sub_cmd_MRPC_FWLOGRD_RAM_GEN5,
        mrpc_sub_cmd_MRPC_FWLOGRD_RAM_WITH_FLAG, mrpc_sub_cmd_MRPC_FWLOGRD_REGS,
        mrpc_sub_cmd_MRPC_FWLOGRD_SYS_STACK, mrpc_sub_cmd_MRPC_FWLOGRD_THRD,
        mrpc_sub_cmd_MRPC_FWLOGRD_THRD_STACK, mrpc_sub_cmd_MRPC_FW_TX_EXEC,
        mrpc_sub_cmd_MRPC_FW_TX_FLASH, mrpc_sub_cmd_MRPC_FW_TX_TOGGLE, mrpc_sub_cmd_MRPC_GFMS_BIND,
        mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_EP_PORT, mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_FABRIC,
        mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_FAB_PORT, mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_HVD,
        mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_HVD_DETAIL, mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_PAX,
        mrpc_sub_cmd_MRPC_GFMS_DB_DUMP_PAX_ALL, mrpc_sub_cmd_MRPC_GFMS_UNBIND,
        mrpc_sub_cmd_MRPC_KMSK_ENTRY_SET_KMSK, mrpc_sub_cmd_MRPC_KMSK_ENTRY_SET_PKEY,
        mrpc_sub_cmd_MRPC_KMSK_ENTRY_SET_SIG, mrpc_sub_cmd_MRPC_LOG_DEF_APP,
        mrpc_sub_cmd_MRPC_LOG_DEF_MAILBOX, mrpc_sub_cmd_MRPC_LOOPBACK_GET_INT_LOOPBACK,
        mrpc_sub_cmd_MRPC_LOOPBACK_GET_LTSSM_LOOPBACK, mrpc_sub_cmd_MRPC_LOOPBACK_SET_INT_LOOPBACK,
        mrpc_sub_cmd_MRPC_LOOPBACK_SET_LTSSM_LOOPBACK, mrpc_sub_cmd_MRPC_MULTI_CFG_ACTIVE,
        mrpc_sub_cmd_MRPC_MULTI_CFG_COUNT, mrpc_sub_cmd_MRPC_MULTI_CFG_LENGTH,
        mrpc_sub_cmd_MRPC_MULTI_CFG_START_ADDR, mrpc_sub_cmd_MRPC_MULTI_CFG_SUPPORTED,
        mrpc_sub_cmd_MRPC_NVME_ADMIN_PASSTHRU_DATA, mrpc_sub_cmd_MRPC_NVME_ADMIN_PASSTHRU_END,
        mrpc_sub_cmd_MRPC_NVME_ADMIN_PASSTHRU_START, mrpc_sub_cmd_MRPC_PART_INFO_GET_ALL_INFO,
        mrpc_sub_cmd_MRPC_PART_INFO_GET_METADATA, mrpc_sub_cmd_MRPC_PART_INFO_GET_SEEPROM,
        mrpc_sub_cmd_MRPC_PAT_GEN_GET_GEN, mrpc_sub_cmd_MRPC_PAT_GEN_GET_MON,
        mrpc_sub_cmd_MRPC_PAT_GEN_INJ_ERR, mrpc_sub_cmd_MRPC_PAT_GEN_SET_GEN,
        mrpc_sub_cmd_MRPC_PAT_GEN_SET_MON, mrpc_sub_cmd_MRPC_PMON_GET_BW_COUNTER,
        mrpc_sub_cmd_MRPC_PMON_GET_EV_COUNTER, mrpc_sub_cmd_MRPC_PMON_GET_EV_COUNTER_SETUP,
        mrpc_sub_cmd_MRPC_PMON_GET_LAT_COUNTER, mrpc_sub_cmd_MRPC_PMON_GET_LAT_COUNTER_SETUP,
        mrpc_sub_cmd_MRPC_PMON_RULE_ERROR_TLP, mrpc_sub_cmd_MRPC_PMON_RULE_TLP_MATCH,
        mrpc_sub_cmd_MRPC_PMON_RULE_TLP_TO_DSP, mrpc_sub_cmd_MRPC_PMON_RULE_TLP_TO_USP,
        mrpc_sub_cmd_MRPC_PMON_SETUP_EV_COUNTER, mrpc_sub_cmd_MRPC_PMON_SETUP_LAT_COUNTER,
        mrpc_sub_cmd_MRPC_PMON_SET_BW_COUNTER, mrpc_sub_cmd_MRPC_PORT_BIND,
        mrpc_sub_cmd_MRPC_PORT_CONFIG_GET, mrpc_sub_cmd_MRPC_PORT_CONFIG_SET,
        mrpc_sub_cmd_MRPC_PORT_EQ_FAR_END_TX_COEFF_DUMP,
        mrpc_sub_cmd_MRPC_PORT_EQ_FAR_END_TX_EQ_TABLE_DUMP,
        mrpc_sub_cmd_MRPC_PORT_EQ_FAR_END_TX_FSLF_DUMP,
        mrpc_sub_cmd_MRPC_PORT_EQ_LOCAL_TX_COEFF_DUMP,
        mrpc_sub_cmd_MRPC_PORT_EQ_LOCAL_TX_FSLF_DUMP, mrpc_sub_cmd_MRPC_PORT_INFO,
        mrpc_sub_cmd_MRPC_PORT_UNBIND, mrpc_sub_cmd_MRPC_REFCLK_S_DISABLE,
        mrpc_sub_cmd_MRPC_REFCLK_S_ENABLE, mrpc_sub_cmd_MRPC_STACKBIF_GET,
        mrpc_sub_cmd_MRPC_STACKBIF_SET, mrpc_sub_cmd_MRPC_TOPO_INFO_DUMP_DATA_GET,
        mrpc_sub_cmd_MRPC_TOPO_INFO_DUMP_DATA_GET_GEN5, mrpc_sub_cmd_MRPC_TOPO_INFO_DUMP_FINISH,
        mrpc_sub_cmd_MRPC_TOPO_INFO_DUMP_START, mrpc_sub_cmd_MRPC_TOPO_INFO_DUMP_STATUS_GET,
        switchtec_mrpc,
    };
}