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

📄 scsi-defs.h

📁 开源备份软件源码 AMANDA, the Advanced Maryland Automatic Network Disk Archiver, is a backup system that a
💻 H
📖 第 1 页 / 共 3 页
字号:
    PackedBit     pvoltag : 1;#else    PackedBit     pvoltag : 1;    PackedBit     avoltag : 1;    PackedBit     bitres  : 6;#endif    unsigned char length[2];    /* Byte 2-3  = Element Descriptor Length */    unsigned char byte4;        /* Byte 4 */    unsigned char count[3];     /* Byte 5-7 = Byte Count of Descriptor Available */} ElementStatusPage_T;/* ======================================================= *//* ElementStatusData_T *//* ======================================================= */typedef struct {    unsigned char first[2];    /* Byte 1-2 = First Element Adress Reported */    unsigned char number[2];   /* Byte 3-4 = Number of Elements Available */    unsigned char byte5;      /* Reserved */    unsigned char count[3];     /* Byte 6-8 = Byte Count of Report Available */} ElementStatusData_T;/* ======================================================= *//* MediumTransportElementDescriptor_T *//* ======================================================= */typedef struct {    unsigned char address[2];   /* Byte 1-2 = Element Address */#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     full   : 1;    PackedBit     rsvd   : 1;    PackedBit     except : 1;    PackedBit     res    : 5;#else    PackedBit     res    : 5;    PackedBit     except : 1;    PackedBit     rsvd   : 1;    PackedBit     full   : 1;#endif    unsigned char byte4;        /* Byte 4      */    unsigned char asc;          /* Byte 5 ASC  */    unsigned char ascq;         /* Byte 6 ASCQ */    unsigned char byte79[3];    /* Byte 7-9    */#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     byte10res : 6;    PackedBit     invert : 1;    PackedBit     svalid : 1;#else    PackedBit     svalid : 1;    PackedBit     invert : 1;    PackedBit     byte10res : 6;#endif    unsigned char source[2];  unsigned char pvoltag[36];  unsigned char res4[4];} MediumTransportElementDescriptor_T;/* ======================================================= *//* ImportExportElementDescriptor_T *//* ======================================================= */typedef struct {  unsigned char address[2];   /* Byte 1 = Element Address */#ifdef LITTLE_ENDIAN_BITFIELDS          PackedBit     full   : 1;  PackedBit     impexp : 1;  PackedBit     except : 1;  PackedBit     access : 1;  PackedBit     exenab : 1;  PackedBit     inenab : 1;  PackedBit     res    : 2;#else  PackedBit     res    : 2;  PackedBit     inenab : 1;  PackedBit     exenab : 1;  PackedBit     access : 1;  PackedBit     except : 1;  PackedBit     rsvd   : 1;  PackedBit     full   : 1;#endif    unsigned char byte4;    unsigned char asc;    unsigned char ascq;    unsigned char byte79[3];#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     byte10res : 6;    PackedBit     invert : 1;    PackedBit     svalid : 1;#else    PackedBit     svalid : 1;    PackedBit     invert : 1;    PackedBit     byte10res : 6;#endif    unsigned char source[2];  unsigned char pvoltag[36];  unsigned char res4[4];  unsigned char mediadomain[1];  unsigned char mediatype[1];  unsigned char res5[2];} ImportExportElementDescriptor_T;/* ======================================================= *//* StorageElementDescriptor_T *//* ======================================================= */typedef struct {    unsigned char address[2];#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     full   : 1;    PackedBit     rsvd   : 1;    PackedBit     except : 1;    PackedBit     access : 1;    PackedBit     res    : 4;#else    PackedBit     res    : 4;    PackedBit     access : 1;    PackedBit     except : 1;    PackedBit     rsvd   : 1;    PackedBit     full   : 1;#endif    unsigned char res1;    unsigned char asc;    unsigned char ascq;    unsigned char res2[3];#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     res3   : 6;    PackedBit     invert : 1;    PackedBit     svalid : 1;#else    PackedBit     svalid : 1;    PackedBit     invert : 1;    PackedBit     res3   : 6;#endif    unsigned char source[2];  unsigned char pvoltag[36];  unsigned char res4[4];  unsigned char mediadomain[1];  unsigned char mediatype[1];  unsigned char res5[2];} StorageElementDescriptor_T;/* ======================================================= *//* DataTransferElementDescriptor_T *//* ======================================================= */typedef struct {    unsigned char address[2];#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     full    : 1;    PackedBit     rsvd    : 1;    PackedBit     except  : 1;    PackedBit     access  : 1;    PackedBit     res     : 4;#else    PackedBit     res     : 4;    PackedBit     access  : 1;    PackedBit     except  : 1;    PackedBit     rsvd    : 1;    PackedBit     full    : 1;#endif    unsigned char res1;    unsigned char asc;    unsigned char ascq;#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     lun     : 3;    PackedBit     rsvd1   : 1;    PackedBit     luvalid : 1;    PackedBit     idvalid : 1;    PackedBit     rsvd2   : 1;    PackedBit     notbus  : 1;#else    PackedBit     notbus  : 1;    PackedBit     rsvd2   : 1;    PackedBit     idvalid : 1;    PackedBit     luvalid : 1;    PackedBit     rsvd1   : 1;    PackedBit     lun     : 3;#endif    unsigned char scsi;    unsigned char res2;#ifdef LITTLE_ENDIAN_BITFIELDS            PackedBit     res3    : 6;    PackedBit     invert  : 1;    PackedBit     svalid  : 1;#else    PackedBit     svalid  : 1;    PackedBit     invert  : 1;    PackedBit     res3    : 6;#endif    unsigned char source[2];  unsigned char pvoltag[36];    unsigned char res4[42];} DataTransferElementDescriptor_T;/* ======================================================= *//* SCSIInquiry_T *//* ======================================================= */typedef struct{#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit     type : 5;    PackedBit     qualifier : 3;    PackedBit     type_modifier : 7;    PackedBit     removable : 1;    PackedBit     ansi_version : 3;    PackedBit     ecma_version : 3;    PackedBit     iso_version : 2;    PackedBit     data_format : 4;    PackedBit     res3_54 : 2;    PackedBit     termiop : 1;    PackedBit     aenc : 1;#else    PackedBit     qualifier : 3;    PackedBit     type : 5;      PackedBit     removable : 1;    PackedBit     type_modifier : 7;      PackedBit     iso_version : 2;    PackedBit     ecma_version : 3;    PackedBit     ansi_version : 3;      PackedBit     aenc : 1;    PackedBit     termiop : 1;    PackedBit     res3_54 : 2;    PackedBit     data_format : 4;#endif      unsigned char add_len;      unsigned char  res2;    unsigned char res3;  #ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit     softreset : 1;    PackedBit     cmdque : 1;    PackedBit     res7_2 : 1;    PackedBit     linked  : 1;    PackedBit     sync : 1;    PackedBit     wbus16 : 1;    PackedBit     wbus32 : 1;    PackedBit     reladr : 1;#else    PackedBit     reladr : 1;    PackedBit     wbus32 : 1;    PackedBit     wbus16 : 1;    PackedBit     sync : 1;    PackedBit     linked  : 1;    PackedBit     res7_2 : 1;    PackedBit     cmdque : 1;    PackedBit     softreset : 1;#endif    char vendor_info[8];    char prod_ident[16];    char prod_version[4];    char vendor_specific[20];} SCSIInquiry_T;/* ======================================================= *//* ModeSenseHeader_T *//* ======================================================= */typedef struct{    unsigned char DataLength;    unsigned char MediumType;#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit Speed:4;    PackedBit BufferedMode:3;    PackedBit WP:1;#else    PackedBit WP:1;    PackedBit BufferedMode:3;    PackedBit Speed:4;#endif    unsigned char BlockDescLength;} ModeSenseHeader_T;/* ======================================================= *//* ModeBlockDescriptor_T *//* ======================================================= */typedef struct {    unsigned char DensityCode;    unsigned char NumberOfBlocks[3];    unsigned char Reserved;    unsigned char BlockLength[3];} ModeBlockDescriptor_T;/* ======================================================= *//* LogSenseHeader_T *//* ======================================================= */typedef struct {#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit PageCode:6;    PackedBit Reserved:2;#else    PackedBit Reserved:2;    PackedBit PageCode:6;#endif    unsigned char Reserved1;    unsigned char PageLength[2];} LogSenseHeader_T ;/* ======================================================= *//* LogParameters_T *//* ======================================================= */typedef struct{    unsigned char ParameterCode[2];#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit LP:1;    PackedBit RSCD:1;    PackedBit TMC:1;    PackedBit ETC:1;    PackedBit TSD:1;    PackedBit DS:1;    PackedBit DU:1;#else    PackedBit DU:1;    PackedBit DS:1;    PackedBit TSD:1;    PackedBit ETC:1;    PackedBit TMC:1;    PackedBit RSCD:1;    PackedBit LP:1;#endif    char ParameterLength;} LogParameter_T;/* * Pages returned by the MODE_SENSE command */typedef struct {    unsigned char SenseDataLength;    char res[3];} ParameterListHeader_T;/* ======================================================= *//* ReadWriteErrorRecoveryPage_T *//* ======================================================= */typedef struct {#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit PageCode : 6;    PackedBit res      : 1;    PackedBit PS       : 1;#else    PackedBit PS       : 1;    PackedBit res      : 1;    PackedBit PageCode : 6;#endif    unsigned char ParameterListLength;#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit dcr  :1;  /* Disable ECC Correction */    PackedBit dte  :1;  /* Disable Transfer on Error */    PackedBit per  :1;  /* Enable Post  Error reporting */    PackedBit eer  :1;  /* Enable early recovery */    PackedBit res1 :1;    PackedBit tb   :1;  /* Transfer block (when not fully recovered) */    PackedBit res2 :1;    PackedBit res3 :1;#else    PackedBit res3 :1;    PackedBit res2 :1;    PackedBit tb   :1;    PackedBit res1 :1;    PackedBit eer  :1;    PackedBit per  :1;    PackedBit dte  :1;    PackedBit dcr  :1;#endif    unsigned char ReadRetryCount;    unsigned char res4[4];    unsigned char WriteRetryCount;    unsigned char res5[3];} ReadWriteErrorRecoveryPage_T; /* ======================================================= *//* EDisconnectReconnectPage_T *//* ======================================================= */typedef struct {#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit PageCode : 6;    PackedBit RSVD     : 1;    PackedBit PS       : 1;#else    PackedBit PS       : 1;    PackedBit RSVD     : 1;    PackedBit PageCode : 6;#endif    unsigned char BufferFullRatio;    unsigned char BufferEmptyRatio;    unsigned char BusInactivityLimit[2];    unsigned char DisconnectTimeLimit[2];    unsigned char ConnectTimeLimit[2];    unsigned char MaximumBurstSize[2];#ifdef LITTLE_ENDIAN_BITFIELDS    PackedBit DTDC :2;    PackedBit res  :6;#else    PackedBit res  :6;

⌨️ 快捷键说明

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