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

📄 dac960.h

📁 讲述linux的初始化过程
💻 H
📖 第 1 页 / 共 5 页
字号:
  unsigned char HardErrors;				/* Byte 38 */  unsigned char MiscellaneousErrors;			/* Byte 39 */  unsigned char CommandTimeouts;			/* Byte 40 */  unsigned char Retries;				/* Byte 41 */  unsigned char Aborts;					/* Byte 42 */  unsigned char PredictedFailuresDetected;		/* Byte 43 */  unsigned int :32;					/* Bytes 44-47 */  unsigned short :16;					/* Bytes 48-49 */  unsigned short DeviceBlockSizeInBytes;		/* Bytes 50-51 */  unsigned int OriginalDeviceSizeIn512ByteBlocksOrMB;	/* Bytes 52-55 */  unsigned int ConfigurableDeviceSizeIn512ByteBlocksOrMB; /* Bytes 56-59 */  unsigned int :32;					/* Bytes 60-63 */  unsigned char PhysicalDeviceName[16];			/* Bytes 64-79 */  unsigned char Reserved1[16];				/* Bytes 80-95 */  unsigned char Reserved2[32];				/* Bytes 96-127 */  unsigned char SCSI_InquiryData[36];			/* Bytes 128-163 */  unsigned char Reserved3[12];				/* Bytes 164-175 */  unsigned char Reserved4[16];				/* Bytes 176-191 */  DAC960_ByteCount64_T LastReadBlockNumber;		/* Bytes 192-199 */  DAC960_ByteCount64_T LastWrittenBlockNumber;		/* Bytes 200-207 */  DAC960_ByteCount64_T ConsistencyCheckBlockNumber;	/* Bytes 208-215 */  DAC960_ByteCount64_T RebuildBlockNumber;		/* Bytes 216-223 */  DAC960_ByteCount64_T MakingDataConsistentBlockNumber;	/* Bytes 224-231 */  DAC960_ByteCount64_T DeviceInitializationBlockNumber; /* Bytes 232-239 */  DAC960_ByteCount64_T DataMigrationBlockNumber;	/* Bytes 240-247 */  DAC960_ByteCount64_T PatrolOperationBlockNumber;	/* Bytes 248-255 */  unsigned char Reserved5[256];				/* Bytes 256-511 */}DAC960_V2_PhysicalDeviceInfo_T;/*  Define the DAC960 V2 Firmware Health Status Buffer structure.*/typedef struct DAC960_V2_HealthStatusBuffer{  unsigned int MicrosecondsFromControllerStartTime;	/* Bytes 0-3 */  unsigned int MillisecondsFromControllerStartTime;	/* Bytes 4-7 */  unsigned int SecondsFrom1January1970;			/* Bytes 8-11 */  unsigned int :32;					/* Bytes 12-15 */  unsigned int StatusChangeCounter;			/* Bytes 16-19 */  unsigned int :32;					/* Bytes 20-23 */  unsigned int DebugOutputMessageBufferIndex;		/* Bytes 24-27 */  unsigned int CodedMessageBufferIndex;			/* Bytes 28-31 */  unsigned int CurrentTimeTracePageNumber;		/* Bytes 32-35 */  unsigned int CurrentProfilerPageNumber;		/* Bytes 36-39 */  unsigned int NextEventSequenceNumber;			/* Bytes 40-43 */  unsigned int :32;					/* Bytes 44-47 */  unsigned char Reserved1[16];				/* Bytes 48-63 */  unsigned char Reserved2[64];				/* Bytes 64-127 */}DAC960_V2_HealthStatusBuffer_T;/*  Define the DAC960 V2 Firmware Get Event reply structure.*/typedef struct DAC960_V2_Event{  unsigned int EventSequenceNumber;			/* Bytes 0-3 */  unsigned int EventTime;				/* Bytes 4-7 */  unsigned int EventCode;				/* Bytes 8-11 */  unsigned char :8;					/* Byte 12 */  unsigned char Channel;				/* Byte 13 */  unsigned char TargetID;				/* Byte 14 */  unsigned char LogicalUnit;				/* Byte 15 */  unsigned int :32;					/* Bytes 16-19 */  unsigned int EventSpecificParameter;			/* Bytes 20-23 */  unsigned char RequestSenseData[40];			/* Bytes 24-63 */}DAC960_V2_Event_T;/*  Define the DAC960 V2 Firmware Command Control Bits structure.*/typedef struct DAC960_V2_CommandControlBits{  boolean ForceUnitAccess:1;				/* Byte 0 Bit 0 */  boolean DisablePageOut:1;				/* Byte 0 Bit 1 */  boolean :1;						/* Byte 0 Bit 2 */  boolean AdditionalScatterGatherListMemory:1;		/* Byte 0 Bit 3 */  boolean DataTransferControllerToHost:1;		/* Byte 0 Bit 4 */  boolean :1;						/* Byte 0 Bit 5 */  boolean NoAutoRequestSense:1;				/* Byte 0 Bit 6 */  boolean DisconnectProhibited:1;			/* Byte 0 Bit 7 */}DAC960_V2_CommandControlBits_T;/*  Define the DAC960 V2 Firmware Command Timeout structure.*/typedef struct DAC960_V2_CommandTimeout{  unsigned char TimeoutValue:6;				/* Byte 0 Bits 0-5 */  enum {    DAC960_V2_TimeoutScale_Seconds =		0,    DAC960_V2_TimeoutScale_Minutes =		1,    DAC960_V2_TimeoutScale_Hours =		2,    DAC960_V2_TimeoutScale_Reserved =		3  } __attribute__ ((packed)) TimeoutScale:2;		/* Byte 0 Bits 6-7 */}DAC960_V2_CommandTimeout_T;/*  Define the DAC960 V2 Firmware Physical Device structure.*/typedef struct DAC960_V2_PhysicalDevice{  unsigned char LogicalUnit;				/* Byte 0 */  unsigned char TargetID;				/* Byte 1 */  unsigned char Channel:3;				/* Byte 2 Bits 0-2 */  unsigned char Controller:5;				/* Byte 2 Bits 3-7 */}__attribute__ ((packed))DAC960_V2_PhysicalDevice_T;/*  Define the DAC960 V2 Firmware Logical Device structure.*/typedef struct DAC960_V2_LogicalDevice{  unsigned short LogicalDeviceNumber;			/* Bytes 0-1 */  unsigned char :3;					/* Byte 2 Bits 0-2 */  unsigned char Controller:5;				/* Byte 2 Bits 3-7 */}__attribute__ ((packed))DAC960_V2_LogicalDevice_T;/*  Define the DAC960 V2 Firmware Operation Device type.*/typedef enum{  DAC960_V2_Physical_Device =			0x00,  DAC960_V2_RAID_Device =			0x01,  DAC960_V2_Physical_Channel =			0x02,  DAC960_V2_RAID_Channel =			0x03,  DAC960_V2_Physical_Controller =		0x04,  DAC960_V2_RAID_Controller =			0x05,  DAC960_V2_Configuration_Group =		0x10}__attribute__ ((packed))DAC960_V2_OperationDevice_T;/*  Define the DAC960 V2 Firmware Translate Physical To Logical Device structure.*/typedef struct DAC960_V2_PhysicalToLogicalDevice{  unsigned short LogicalDeviceNumber;			/* Bytes 0-1 */  unsigned short :16;					/* Bytes 2-3 */  unsigned char PreviousBootController;			/* Byte 4 */  unsigned char PreviousBootChannel;			/* Byte 5 */  unsigned char PreviousBootTargetID;			/* Byte 6 */  unsigned char PreviousBootLogicalUnit;		/* Byte 7 */}DAC960_V2_PhysicalToLogicalDevice_T;/*  Define the DAC960 V2 Firmware Scatter/Gather List Entry structure.*/typedef struct DAC960_V2_ScatterGatherSegment{  DAC960_BusAddress64_T SegmentDataPointer;		/* Bytes 0-7 */  DAC960_ByteCount64_T SegmentByteCount;		/* Bytes 8-15 */}DAC960_V2_ScatterGatherSegment_T;/*  Define the DAC960 V2 Firmware Data Transfer Memory Address structure.*/typedef union DAC960_V2_DataTransferMemoryAddress{  DAC960_V2_ScatterGatherSegment_T ScatterGatherSegments[2]; /* Bytes 0-31 */  struct {    unsigned short ScatterGatherList0Length;		/* Bytes 0-1 */    unsigned short ScatterGatherList1Length;		/* Bytes 2-3 */    unsigned short ScatterGatherList2Length;		/* Bytes 4-5 */    unsigned short :16;					/* Bytes 6-7 */    DAC960_BusAddress64_T ScatterGatherList0Address;	/* Bytes 8-15 */    DAC960_BusAddress64_T ScatterGatherList1Address;	/* Bytes 16-23 */    DAC960_BusAddress64_T ScatterGatherList2Address;	/* Bytes 24-31 */  } ExtendedScatterGather;}DAC960_V2_DataTransferMemoryAddress_T;/*  Define the 64 Byte DAC960 V2 Firmware Command Mailbox structure.*/typedef union DAC960_V2_CommandMailbox{  unsigned int Words[16];				/* Words 0-15 */  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    unsigned int :24;					/* Bytes 16-18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char IOCTL_Opcode;				/* Byte 21 */    unsigned char Reserved[10];				/* Bytes 22-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } Common;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    DAC960_V2_PhysicalDevice_T PhysicalDevice;		/* Bytes 16-18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char CDBLength;				/* Byte 21 */    unsigned char SCSI_CDB[10];				/* Bytes 22-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } SCSI_10;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    DAC960_V2_PhysicalDevice_T PhysicalDevice;		/* Bytes 16-18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char CDBLength;				/* Byte 21 */    unsigned short :16;					/* Bytes 22-23 */    DAC960_BusAddress64_T SCSI_CDB_BusAddress;		/* Bytes 24-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } SCSI_255;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    unsigned short :16;					/* Bytes 16-17 */    unsigned char ControllerNumber;			/* Byte 18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char IOCTL_Opcode;				/* Byte 21 */    unsigned char Reserved[10];				/* Bytes 22-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } ControllerInfo;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    DAC960_V2_LogicalDevice_T LogicalDevice;		/* Bytes 16-18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char IOCTL_Opcode;				/* Byte 21 */    unsigned char Reserved[10];				/* Bytes 22-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } LogicalDeviceInfo;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    DAC960_V2_PhysicalDevice_T PhysicalDevice;		/* Bytes 16-18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char IOCTL_Opcode;				/* Byte 21 */    unsigned char Reserved[10];				/* Bytes 22-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } PhysicalDeviceInfo;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    unsigned short EventSequenceNumberHigh16;		/* Bytes 16-17 */    unsigned char ControllerNumber;			/* Byte 18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char IOCTL_Opcode;				/* Byte 21 */    unsigned short EventSequenceNumberLow16;		/* Bytes 22-23 */    unsigned char Reserved[8];				/* Bytes 24-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } GetEvent;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DAC960_ByteCount32_T DataTransferSize:24;		/* Bytes 4-6 */    unsigned char DataTransferPageNumber;		/* Byte 7 */    DAC960_BusAddress64_T RequestSenseBusAddress;	/* Bytes 8-15 */    DAC960_V2_LogicalDevice_T LogicalDevice;		/* Bytes 16-18 */    DAC960_V2_CommandTimeout_T CommandTimeout;		/* Byte 19 */    unsigned char RequestSenseSize;			/* Byte 20 */    unsigned char IOCTL_Opcode;				/* Byte 21 */    union {      DAC960_V2_LogicalDeviceState_T LogicalDeviceState;      DAC960_V2_PhysicalDeviceState_T PhysicalDeviceState;    } DeviceState;					/* Byte 22 */    unsigned char Reserved[9];				/* Bytes 23-31 */    DAC960_V2_DataTransferMemoryAddress_T      DataTransferMemoryAddress;			/* Bytes 32-63 */  } SetDeviceState;  struct {    DAC960_V2_CommandIdentifier_T CommandIdentifier;	/* Bytes 0-1 */    DAC960_V2_CommandOpcode_T CommandOpcode;		/* Byte 2 */    DAC960_V2_CommandControlBits_T CommandControlBits;	/* Byte 3 */    DA

⌨️ 快捷键说明

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