📄 i2types.h
字号:
/* bga scheduler */
typedef bga_schedules_t req_data_bga_schedule_t;
/* Enclosure and FRU */
typedef struct
{
DataBufferHeader_t rdei_dbhHeader;
MEI_t rdei_meiEnclInfo;
} req_data_encl_info_t;
typedef struct
{
DataBufferHeader_t rdes_dbhHeader;
MGSS_t rdes_mgssEnclSettings;
} req_data_encl_settings_t;
typedef struct
{
DataBufferHeader_t rdbi_dbhHeader;
MBI_t rdbi_mbiBatInfo;
} req_data_bat_info_t;
typedef struct
{
DataBufferHeader_t rdfi_dbhHeader;
MFRU_t rdfi_mfruFRUInfo;
} req_data_fru_info_t;
/* user management */
typedef struct
{
DataBufferHeader_t rdud_dbhHeader;
} req_data_user_info_t;
typedef struct
{
u8 rpu_u8Username[MAX_USER_NAME_LENGTH];
} req_param_user_name_t;
typedef struct
{
user_info_t rpua_uiUser;
} req_param_user_info_t;
typedef struct
{
user_info_t rpuam_uiUser;
} req_param_user_add_mod_t;
typedef struct
{
u8 rpp_u8Username[MAX_USER_NAME_LENGTH];
u8 rpp_u8OldPassword[MAX_PASSWORD_LENGTH];
u8 rpp_u8NewPassword[MAX_PASSWORD_LENGTH];
} req_param_pwd_t;
/* lock management */
typedef struct
{
boolean_t rpl_bExtendLock;
boolean_t rpl_bForceLock;
u8 rpl_u8LockKey;
u8 rpl_u8Reserved;
u32 rpl_u32LockTime; /* in number of seconds */
} req_param_lock_t;
typedef struct
{
boolean_t rdl_bOwner;
u8 rdl_u8LockKey;
u8 rdl_u8Reserved[6];
u64 rdl_u64ExpirationTime; /* in number of seconds since 0:0:0 Jan 1, 1970 */
} req_data_lock_t;
typedef struct
{
DataBufferHeader_t rdet_dbhHeader;
micGetErrTableData_t rdet_micTable;
} req_data_error_table_t;
/* sw component management */
typedef struct
{
u8 rsdi_u8NumDaemon;
swmgt_daemon_info_t rsdi_sdiDaemonInfo[MAX_NUM_DAEMON];
} req_swmgt_daemon_info_t;
typedef struct
{
u8 rpd_u8DaemonName[MAX_DAEMON_NAME_LEN];
u8 rpd_u8DameonStatusType;
} req_param_daemon_t;
/* email event notifiy */
typedef struct
{
email_config_t rec_ecEmailConfig;
} req_email_config_t;
typedef struct
{
u8 rup_u8Username[MAX_USER_NAME_LENGTH];
user_preference_t rup_upUserPreference;
} req_user_preference_t;
/* import export */
typedef struct
{
export_param_t re_epExport;
} req_export_t;
typedef struct
{
import_param_t rip_ipImport;
} req_import_param_t;
typedef struct
{
import_status_t rid_isImport;
} req_import_data_t;
/* statistics */
typedef struct
{
DataBufferHeader_t rdss_dbhHeader;
micStatsSubsystem_t rdss_micStats;
} req_data_subsys_stats_t;
typedef struct
{
DataBufferHeader_t rdcs_dbhHeader;
micStatsController_t rdcs_micStats;
} req_data_ctrl_stats_t;
typedef struct
{
DataBufferHeader_t rdes_dbhHeader;
micStatsEnclosure_t rdes_micStats;
} req_data_encl_stats_t;
typedef struct
{
DataBufferHeader_t rdps_dbhHeader;
micStatsPhysicalDrive_t rdps_micStats;
} req_data_phydrv_stats_t;
typedef struct
{
DataBufferHeader_t rdls_dbhHeader;
micStatsLogicalDrive_t rdls_micStats;
} req_data_logdrv_stats_t;
typedef struct
{
DataBufferHeader_t rdt_dbhHeader;
micCtlTime_t rdt_micTime;
} req_data_time_t;
/*Following added for HBA driver version */
/*
typedef struct
{
u8 rddi_u8DRVMajorNo;
u8 rddi_u8DRVMinorNo;
u8 rddi_u8DRVBuildNo;
u8 rddi_u8DRVBuildMonth;
u8 rddi_u8DRVBuildDate;
u8 rddi_u8DRVOEMCode;
u16 rddi_u8DRVBuildYear;
u8 rddi_u8Reserved[56];
} req_data_driver_info_t;
*/
typedef struct
{
u32 rddi_u32DRVMajorNo;
u32 rddi_u32DRVMinorNo;
u32 rddi_u32DRVOEMCode;
u32 rddi_u32DRVBuildNo;
u8 rddi_u8DRVBuildDate;
u8 rddi_u8DRVBuildMonth;
u16 rddi_u8DRVBuildYear;
u8 rddi_u8Reserved[4];
} req_data_driver_info_t;
typedef struct req_param_hbaextent_ary_op
{
u16 eaop_u16ExtentIndex;
u16 eaop_u16PhyDrvID;
u16 eaop_u16LogDrvID;
u16 eaop_reserved;
} req_param_hbaextent_ary_op_t;
typedef struct req_param_hbaextent_ids
{
u32 eid_u32ExtentIndex;
u32 eid_u32PhyDrvID;
} req_param_hbaextent_ids_t;
#define MIGRATION_HBA_TYPE_EXTENT 0
#define MIGRATION_HBA_TYPE_DISK 1
typedef struct
{
u16 rphbam_u16ArrayId;
u16 rphbam_u16NumOfPd;
u16 rphbam_u16RaidLevel;
u16 rphbam_u16StripeSize; /* in Block */
u8 rphbam_u8SubArrayCount;
u8 rphbam_u8MfParityCount;
u8 rphbam_u8MfSymmetric;
u8 rphbam_u8MigrationType; /* */
u16 rphbam_u16MfShift;
u16 rphbam_Reserved2;
req_param_hbaextent_ids_t rphbam_rphIDInfo[MAX_PHYDRV_PER_ARRAY]; //extent information
} req_param_hba_migrate_t;
#define DIMM_HBA_TYPE_NORMAL 0
#define DIMM_HBA_TYPE_ECC 1
#define DIMM_HBA_TYPE_DDR 2
#define DIMM_HBA_TYPE_SIMULATED 3
#define LD_PARAM_FORMAT_EXTENTS 0x00
#define LD_PARAM_FORMAT_LOGICAL_DEVICE 0x03
/* Create Array Flags */
#define LD_F_QUICK_INIT 0x01 /* init flags are exclusive */
#define LD_F_FOREGRND_INIT 0x02
#define LD_F_BACKGRND_INIT 0x04
#define LD_F_SECTOR_SIZE_VALID 0x08
/* Create Array Flags */
#define LD_G_ROUNDING_NONE 0x00 /* Gigabyte rounding flags are exclusive */
#define LD_G_ROUNDING_GB 0x01
#define LD_G_ROUNDING_10GB 0x02
#define LD_G_ROUNDING_CUSTOM 0x03
typedef struct req_param_hbaarray_add
{
u32 rphaa_u32StripeSize; /* in blocks */
u32 rphaa_u32LDAttrib; /* read/write policy */
u32 rphaa_u32SizeLow; /* for Linux */
u32 rphaa_u32SizeHigh; /* for Linux */
u64 rphaa_u64Size; /* array size specified by the user */
u8 rphaa_u8Name[MAX_LD_NAME_BYTES * 2];
u16 rphaa_u16RaidLevel; /* ignored if AutoRaidLevel is set to TRUE */
u8 rphaa_u8Init; /* init the logical after creating it, use LD_F__XXXX for NAPA */
u8 rphaa_u8EnableDiskWriteCache;
u8 rphaa_u8RoundingScheme; // if 1 is to set gigibyte rounding, 0 is not to set gigibyte rounding
u8 rphaa_u8Format; // number of extents needed for the array
u8 rphaa_u8NumberOfPd;
u8 rphaa_u8MFParityCount;
u8 rphaa_u8MFSymmetric;
i16 rphaa_i16MFShift;
u8 rphaa_u8Raid50SubArrayCount;
u8 rphaa_reserved[3];
u8 rphaa_u8IsSectorCountSize; // if 1, rphaa_u64Size is array sector count, 0 is array size
u32 rphaa_u32SectorSize;
req_param_hbaextent_ids_t rphaa_rphIDInfo[MAX_PHYDRV_PER_ARRAY]; //extent information
} req_param_hbaarray_add_t;
#define _ATAPTI_GET_RESULT 0x00
#define _ATAPTI_ND 0x01 /* non-data */
#define _ATAPTI_PI 0x02 /* PIO IN */
#define _ATAPTI_PO 0x03 /* PIO OUT */
#define _ATAPTI_DR 0x04 /* Device Reset, not supported yet */
#define _ATAPTI_DD 0x05 /* Execute Device Diagnostic, not supported yet */
#define _ATAPTI_DM 0x06 /* DMA command */
#define _ATAPTI_DMO 0x07 /* overlapped/queued DMA, not supported yet */
#define _ATAPTI_P 0x08 /* packet command, not supported yet */
#define _ATAPTI_VS 0x09 /* vendor specific, not supported yet */
typedef struct req_param_ata_passthru
{
u8 rpap_u8DiskID;
u8 rpap_u8Proto;
u8 rpap_u8Command;
u8 rpap_u8reserved;
u32 rpap_u32Lba;
u16 rpap_u16SectorCount;
u16 rpap_u16Feature;
u16 rpap_u16LbaHigh;
u16 rpap_u16reserved;
u32 rpap_u32DataBufferSize;
u8* rpap_pu8DataBuffer;
#ifndef SUPPORT_64_BIT
u8* rpap_pu8Padding; /* pad to 8 byte aligned */
#endif
}req_param_ata_passthru_t;
typedef struct req_data_ata_regs
{
u16 rdar_u16Feature;
u16 rdar_u16SectorCount;
u16 rdar_u16LbaHigh;
u8 rdar_u8Status;
u8 rdar_u8Error;
u32 rdar_u32LbaLow;
u32 rdar_u32Reserved;
}req_data_ata_regs_t;
//
#define _CAM_ST_PORTREMAP 0x01
#define _CAM_ST_BUZZERENABLED 0x02 /* Enable board buzzer */
#define _CAM_ST_DISABLE_BOOT_OOBCOMRESET 0x04 /* Hdds spin-up disabled when power up */
#define _CAM_PC_DISABLE_NCQ_TCQ 0x00000001
#define _CAM_PC_DISABLE_GEN_II 0x00000002
#define _CAM_PC_PHY_MODE_VALID 0x00000004
#define _CAM_GET_SET_GLOBAL (-1)
#define _CAM_SETTING_CMD_GET_SAVED 0x00
#define _CAM_SETTING_CMD_GET_CURRENT 0x01
#define _CAM_SETTING_CMD_SET 0x02
#define _CAM_SETTING_CMD_GLOBAL 0x80 /* PortId is invalid if global set */
typedef struct req_param_cam_nv_global_port
{
u32 rcng_u32CamStatus; /* Cam Status for global setting */
u32 rcng_u32PortControl;
u32 rcng_u32PhyMode2; /* valid if PortControl.CAM_PC_PHY_MODE_VALID set */
u32 rcng_u32Reserved[9];
}req_param_cam_nv_global_port_t, req_data_cam_nv_global_port_t;
//
// for enclosure
#define CAM_MAX_ENC 0x10 /* SX4 is 4,EX8350 is 16 */
#define CAM_MAX_SENSOR_PER_ENC 0x06 /* SS4100 has 6 sensors */
#define MAX_VOLTAGES_PER_ENC 0x0a
#define MAX_TEMPERATURE_PER_ENC 0x0a
#define MAX_FANS_PER_ENC 0x0a
#define MAX_CARRIERS_PER_ENC 64
#define ENCLOSURE_DISK_HEALTHY 0x03
#define ENCLOSURE_ARRAY_MORPHINGPAUSED 0x0a
#define ENCLOSURE_DISK_REBUILD 0x06
#define ENCLOSURE_DISK_NODISK 0x02
#define ENCLOSURE_DISK_SETDOWN 0x04
#define ENCLOSURE_DISK_SMARTERROR 0x08
#define ENCLOSURE_DISK_PRESENT_OOB_FAILED 0x0f
#define ENCLOSURE_FAN_SPEED_LOWEST 0x1 // Fan at lowest speed
#define ENCLOSURE_FAN_SPEED_SECOND_LOWEST 0x2 // Fan at second lowest speed
#define ENCLOSURE_FAN_SPEED_THIRDLOWEST 0x3 // Fan at third lowest speed
#define ENCLOSURE_FAN_SPEED_INTERMEDIATE 0x4 // Fan at intermediate speed
#define ENCLOSURE_FAN_SPEED_THIRD_HIGHEST 0x5 // Fan at third highest speed
#define ENCLOSURE_FAN_SPEED_SECOND_HIGHEST 0x6 // Fan at second highest speed
#define ENCLOSURE_FAN_SPEED_HIGHEST 0x7 // Fan at highest speed
#define ENCLOSURE_SENSOR_UNKNOWN 0x0
#define ENCLOSURE_SENSOR_FAN 0x1
typedef struct req_data_enc_voltage
{
u8 rdev_u8VoltageIndex;
u16 rdev_u8Voltage;
u8 rdev_u8Reserved[5];
}req_data_enc_voltage_t;
typedef struct req_data_enc_temperature
{
u8 rdet_u8TemperatureIndex;
u8 rdet_u8Temperature;
u8 rdet_u8Reserved[6];
}req_data_enc_temperature_t;
typedef struct req_data_enc_fan
{
u8 rdef_u8FanIndex;
u8 rdef_u8SpeedCode;
u16 rdef_u16ActualFanSpeed;
u8 rdef_u8Reserved[4];
}req_data_enc_fan_t;
typedef struct req_data_enc_carrier
{
u8 rdec_u8CarrierLEDStatus;
u8 rdec_u8Reserved[7];
}req_data_enc_carrier_t;
typedef struct req_data_enc_info
{
u8 rdei_u8VlotageCount;
u8 rdei_u8FanCount;
u8 rdei_u8TemperatureCount;
u8 rdei_u8CarrierCount;
u8 rdei_u8Reserved[4];
req_data_enc_voltage_t rdei_voltage[MAX_VOLTAGES_PER_ENC];
req_data_enc_temperature_t rdei_temperature[MAX_TEMPERATURE_PER_ENC];
req_data_enc_fan_t rdei_fan[MAX_FANS_PER_ENC];
req_data_enc_carrier_t rdei_carrier[MAX_CARRIERS_PER_ENC];
}req_data_encaurora_info_t;
typedef struct req_param_enclosure_setting
{
u8 rpes_u8EnclosureID;
u8 rpes_u8SensorID;
u8 rpes_u8DeviceType; // Fan, Carrier...
u8 rpes_u8Value;
u8 rpes_u8Reserved[12];
}req_param_enclosure_setting_t;
//
#define AUTHORIZE(req, grp) ((grp >= req)?PIERR_NO_ERROR:PIERR_NOT_AUTHORIZED)
typedef struct
{
time_t s_tLoginTimeStamp;
time_t s_tLogoutTimeStamp;
u8 s_u8UserGroupId;
u8 s_u8InternalReserved[15]; /* reserved for internal use */
u8 s_u8Reserved[16];
u8 s_u8Username[MAX_USER_NAME_LENGTH];
u8 s_u8SessionInterface[MAX_INTERFACE_LENGTH];
} session_info_t;
#define MAX_BYPASS_CMD_CDB_LENGTH 128/*[cz]32 */
#define MAX_BYPASS_CMD_SENSE_LENGTH 64
typedef struct
{
u32 bc_u32Status; /* command completion status */
u32 bc_u32Timeout;
u8 bc_u8Reserved[6]; /* reserved for 8 byte alignment */
u8 bc_u8DataDirection; /* data direction: I2IPC_RW_NONE, I2IPC_RW_READ, I2IPC_RW_WRITE */
u8 bc_u8CDBLength; /* the actual length of the CDB */
u8 bc_u8CDB[MAX_BYPASS_CMD_CDB_LENGTH]; /* by-pass command CDB */
u32 bc_u32SenseLength; /* the expected sense data length */
u32 bc_u32ReturnedSenseLength; /* length of the sense retrieved */
u8 bc_u8SenseBuffer[MAX_BYPASS_CMD_SENSE_LENGTH]; /* sense buffer */
u32 bc_u32DataLength; /* length of output data or expected input data */
u32 bc_u32ReturnedDataLength; /* length of the data retrieved */
u8 * bc_pu8DataBuffer; /* the data buffer */
#ifndef SUPPORT_64_BIT
u8 * bc_pu8Padding; /* pad to 8 byte aligned */
#endif
} bypass_cmd_t;
typedef struct
{
u8 hni_u8Name[16];
u8 hni_u8IPAddress[16];
u8 hni_u8Reserved[32];
} host_network_info_t;
typedef struct
{
u8 rdhi_u8HostName[64]; /* null teminated */
u8 rdhi_u8HostOSName[128]; /* null teminated */
u8 rdhi_u8Reserved[256];
u32 rdhi_u16NumOfNetwork;
u32 rdhi_u32Reserved2;
host_network_info_t rdhi_hniNetwork[1];
} req_data_host_info_t;
/* --- functional routines ------------------------------------------------- */
boolean_t isDeviceIdEqual(const device_id_t di1, const device_id_t di2);
boolean_t isHBADeviceId(const device_id_t di);
void copyDeviceId(device_id_t * pdiDest, const device_id_t diSource);
boolean_t isDeviceObjectIdEqual(const device_object_identifier_t * pDoi1,
const device_object_identifier_t * pDoi2);
void copyDeviceObjectIdentifier(device_object_identifier_t * pDoiDest,
const device_object_identifier_t * pDoiSource);
boolean_t isDiscoverPathEqual(const discover_path_t * pPath1,
const discover_path_t * pPath2);
boolean_t isISCSIDiscoverPathEqual(const discover_path_iscsi_t * pPath1,
const discover_path_iscsi_t * pPath2);
boolean_t isSCSIDiscoverPathEqual(const discover_path_scsi_t * pPath1,
const discover_path_scsi_t * pPath2);
#endif /* I2_TYPES_H */
/******************************************************************************
* Change Log
*
* $Log: i2types.h,v $
* Revision 1.1 2004/03/24 03:24:12 weny
* I2 API porting
*
*
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -