⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 com_struct.h

📁 6440linuxDriver的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
	MV_U8           Reserved2[12];    	MV_U8           MaxTotalBlocks;    	MV_U8           MaxBlockPerPD;	MV_U8           MaxHD;	MV_U8           MaxExpander;	MV_U8           MaxPM;	MV_U8           MaxLogicalDrive;	MV_U16          LogicalDriverMode;	MV_U8           WWN[8];            /* For future VDS use. */} Adapter_Info, *PAdapter_Info;typedef struct _Adapter_Config {	MV_BOOLEAN      AlarmOn;	MV_BOOLEAN      AutoRebuildOn;	MV_U8           BGARate;	MV_BOOLEAN      PollSMARTStatus;	MV_U8           MediaPatrolRate;	MV_U8           Reserved[3];} Adapter_Config, *PAdapter_Config;typedef struct _HD_Info{	Link_Entity     Link;             /* Including self DevID & DevType */	MV_U8           AdapterID;	MV_U8           Status;           /* Refer to HD_STATUS_XXX */	MV_U8           HDType;           /* HD_Type_xxx, replaced by new driver with ConnectionType & DeviceType */	MV_U8           PIOMode;		  /* Max PIO mode */	MV_U8           MDMAMode;		  /* Max MDMA mode */	MV_U8           UDMAMode;		  /* Max UDMA mode */	MV_U8           ConnectionType;	  /* DC_XXX, ConnectionType & DeviceType in new driver to replace HDType above */	MV_U8           DeviceType;	      /* DT_XXX */	MV_U32          FeatureSupport;   /* Support 1.5G, 3G, TCQ, NCQ, and					     etc, MV_BIT related */	MV_U8           Model[40];	MV_U8           SerialNo[20];	MV_U8           FWVersion[8];	MV_U64          Size;             /* unit: 1KB */	MV_U8           WWN[8];          /* ATA/ATAPI-8 has such definitions 					     for the identify buffer */	MV_U8           CurrentPIOMode;		/* Current PIO mode */	MV_U8           CurrentMDMAMode;	/* Current MDMA mode */	MV_U8           CurrentUDMAMode;	/* Current UDMA mode */	MV_U8			Reserved3[5];//	MV_U32			FeatureEnable;			MV_U8           Reserved4[80];}HD_Info, *PHD_Info;typedef struct _HD_MBR_Info{	MV_U8           HDCount;	MV_U8           Reserved[7];	MV_U16          HDIDs[MAX_HD_SUPPORTED_API];    	MV_BOOLEAN      hasMBR[MAX_HD_SUPPORTED_API];} HD_MBR_Info, *PHD_MBR_Info;typedef struct _HD_FreeSpaceInfo{	MV_U16          ID;               /* ID should be unique*/	MV_U8           AdapterID;	MV_U8           Reserved[4];	MV_BOOLEAN      isFixed;	MV_U64          Size;             /* unit: 1KB */}HD_FreeSpaceInfo, *PHD_FreeSpaceInfo;typedef struct _HD_Block_Info{	MV_U16          ID;               /* ID in the HD_Info*/	MV_U8           Type;             /* Refer to DEVICE_TYPE_xxx */	MV_U8           Reserved1[5];	/* Free is 0xff */	MV_U16          BlockIDs[MAX_BLOCK_PER_HD_SUPPORTED_API];  }HD_Block_Info, *PHD_Block_Info;typedef struct _Exp_Info{	Link_Entity       Link;            /* Including self DevID & DevType */	MV_U8             AdapterID;	MV_BOOLEAN        Configuring;      	MV_BOOLEAN        RouteTableConfigurable;	MV_U8             PhyCount;	MV_U16            ExpChangeCount;	MV_U16            MaxRouteIndexes;	MV_U8             VendorID[8+1];	MV_U8             ProductID[16+1];	MV_U8             ProductRev[4+1];	MV_U8             ComponentVendorID[8+1];	MV_U16            ComponentID;	MV_U8             ComponentRevisionID;	MV_U8             Reserved1[17];}Exp_Info, * PExp_Info;typedef  struct _PM_Info{	Link_Entity       Link;           /* Including self DevID & DevType */	MV_U8             AdapterID;	MV_U8             ProductRevision;	MV_U8             PMSpecRevision; /* 10 means 1.0, 11 means 1.1 */	MV_U8             NumberOfPorts;	MV_U16            VendorId;	MV_U16            DeviceId;	MV_U8             Reserved1[8];}PM_Info, *PPM_Info;typedef struct _HD_CONFIG{	MV_BOOLEAN        WriteCacheOn;   /* 1: enable write cache */	MV_BOOLEAN        SMARTOn;        /* 1: enable S.M.A.R.T */	MV_BOOLEAN        Online;         /* 1: to set HD online */	MV_U8             DriveSpeed;	  // For SATA & SAS.  HD_SPEED_1_5G, HD_SPEED_3G etc	MV_U8             Reserved[2];	MV_U16            HDID;}HD_Config, *PHD_Config;typedef struct  _HD_STATUS{	MV_BOOLEAN        SmartThresholdExceeded;        	MV_U8             Reserved[1];	MV_U16            HDID;}HD_Status, *PHD_Status;typedef struct  _SPARE_STATUS{	MV_U16            HDID;	MV_U16            LDID;	MV_U8             Status;         /* HD_STATUS_SPARE */	MV_U8             Reserved[3];}Spare_Status, *PSpare_Status;typedef struct  _BSL{	MV_U64            LBA;            /* Bad sector LBA for the HD. */	MV_U32            Count;          /* How many serial bad sectors */	MV_BOOLEAN        Flag;           /* Fake bad sector or not. */	MV_U8             Reserved[3];}BSL,*PBSL;typedef struct _BLOCK_INFO{	MV_U16            ID;	MV_U16            HDID;           /* ID in the HD_Info */	MV_U16            Flags;          /* Refer to BLOCK_XXX definition */	MV_U16            LDID;           /* Belong to which LD */	MV_U8             Status;         /* Refer to BLOCK_STATUS_XXX*/	MV_U8             Reserved[3];	MV_U32            ReservedSpaceForMigration;	/* Space reserved for migration */	MV_U64            StartLBA;       /* unit: 512 bytes */	MV_U64            Size;           /* unit: 512 bytes, including ReservedSpaceForMigration */}Block_Info, *PBlock_Info;typedef struct _LD_Info{	MV_U16            ID;	MV_U8             Status;         /* Refer to LD_STATUS_xxx */	MV_U8             BGAStatus;      /* Refer to LD_BGA_STATE_xxx */	MV_U16            StripeBlockSize;/* unit: 512 bytes */	MV_U8             RaidMode;            	MV_U8             HDCount;	MV_U8             CacheMode;      /* Default is CacheMode_Default, 					     see above */	MV_U8             LD_GUID[MV_GUID_SIZE];	MV_U8             SectorCoefficient; /* (sector size) 1=>512 (default)						, 2=>1024, 4=>2048, 8=>4096 */	MV_U8             Reserved[6];	MV_U64            Size;           /* LD size, unit: 512 bytes */	MV_U8             Name[LD_MAX_NAME_LENGTH];	MV_U16            BlockIDs[MAX_HD_SUPPORTED_API];        /* 32 *//*  * According to BLOCK ID, to get the related HD ID, then WMRU can  * draw the related graph like above. */	MV_U8             SubLDCount;     /* for raid 10, 50,60 */	MV_U8             NumParityDisk;  /* For RAID 6. */	MV_U8             Reserved1[6];}LD_Info, *PLD_Info;typedef struct _Create_LD_Param{	MV_U8             RaidMode;	MV_U8             HDCount;	MV_U8             RoundingScheme; /* please refer to the definitions					     of  ROUNDING_SCHEME_XXX. */	MV_U8             SubLDCount;     /* for raid 10,50,60 */	MV_U16            StripeBlockSize;/*In sectors unit: 1KB */	MV_U8             NumParityDisk;  /* For RAID 6. */	MV_U8             CachePolicy;    /* please refer to the definitions					     of CACHEMODE_XXXX. */	MV_U8             InitializationOption;/* please refer to the 						 definitions of INIT_XXXX. */	MV_U8             SectorCoefficient; /* (sector size) 1=>512 						(default), 2=>1024, 4=>2048,						8=>4096 */	MV_U16            LDID;               /* ID of the LD to be migrated 						 or expanded */	MV_U8             Reserved2[4];	MV_U16            HDIDs[MAX_HD_SUPPORTED_API];    /* 32 */	MV_U8             Name[LD_MAX_NAME_LENGTH];	MV_U64            Size;           /* size of LD in sectors */} Create_LD_Param, *PCreate_LD_Param;typedef struct _LD_STATUS{	MV_U8            Status;          /* Refer to LD_STATUS_xxx */	MV_U8            Bga;             /* Refer to LD_BGA_xxx */	MV_U16           BgaPercentage;   /* xx% */	MV_U8            BgaState;        /* Refer to LD_BGA_STATE_xxx */	MV_U8            Reserved[1];	MV_U16           LDID;} LD_Status, *PLD_Status;typedef struct    _LD_Config{	MV_U8            CacheMode;        /* See definition 4.4.1 					      CacheMode_xxx */	MV_U8            Reserved1;        	MV_BOOLEAN       AutoRebuildOn;    /* 1- AutoRebuild On */	MV_U8            Status;	MV_U16           LDID;	MV_U8            Reserved2[2];	MV_U8            Name[LD_MAX_NAME_LENGTH];}LD_Config, * PLD_Config;// Giving TargetID and LUN, returns it Type and DeviceID.  If returned Type or DeviceID is 0xFF, not found.typedef struct    _TargetLunType{	MV_U8            AdapterID;	MV_U8            TargetID;       	MV_U8            Lun;        	MV_U8            Type;		// TARGET_TYPE_LD or TARGET_TYPE_FREE_PD	MV_U16           DeviceID;	// LD ID or PD ID depends on Type  	MV_U8            Reserved[30];}TargetLunType, * PTargetLunType;typedef struct _HD_MPSTATUS{	MV_U16            HDID;	MV_U16            LoopCount;      /* loop count */	MV_U16            ErrorCount;     /* error detected during media patrol */	MV_U16            Percentage;     /* xx% */	MV_U8             Status;         /* Refer to HD_BGA_STATE_xxx */	MV_U8             Type;	MV_U8             Reserved[50];  }HD_MPStatus, *PHD_MPStatus;typedef struct _DBG_DATA{	MV_U64            LBA;	MV_U64            Size;	MV_U8             Data[SECTOR_LENGTH];}DBG_Data, *PDBG_Data;typedef struct _DBG_HD{	MV_U64            LBA;	MV_U16            HDID;	MV_BOOLEAN        isUsed;	MV_U8             Reserved[5];}DBG_HD;typedef struct _DBG_MAP{	MV_U64            LBA;	MV_U16            LDID;	MV_BOOLEAN        isUsed;	MV_U8             Reserved[5];	DBG_HD            HDs[MAX_HD_SUPPORTED_API];}DBG_Map, *PDBG_Map;#ifdef CACHE_MODULE_SUPPORTtypedef struct _LD_CACHE_STATUS{	MV_BOOLEAN       IsOnline;	MV_U8            CachePolicy;	MV_U16           StripeUnitSize;	MV_U32           StripeSize;	MV_U8            Sector_Coefficient;	MV_U8            Reserved[7];	MV_LBA	         MAX_LBA;}LD_CACHE_STATUS, *PLD_CACHE_STATUS;#endif /* CACHE_MODULE_SUPPORT */#define MAX_PASS_THRU_DATA_BUFFER_SIZE (SECTOR_LENGTH+128)typedef struct {	// We put Data_Buffer[] at the very beginning of this structure because SCSI commander did so.	MV_U8			Data_Buffer[MAX_PASS_THRU_DATA_BUFFER_SIZE];  // set by driver if read, by application if write	MV_U8			Reserved1[128];    MV_U32			Data_Length;	// set by driver if read, by application if write 	MV_U16			DevId;		//	PD ID (used by application only)	MV_U8			CDB_Type;	// define a CDB type for each CDB category (used by application only)	MV_U8			Reserved2;	MV_U32			lba;	MV_U8			Reserved3[64];} PassThrough_Config, * PPassThorugh_Config;#ifndef _OS_BIOS#pragma pack()#endif /* _OS_BIOS */#endif /*  __MV_COM_STRUCT_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -