亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fx_mass_storage.h

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifdef I86_USB_SUPPORT
/**
%file Fx_mass_storage.h
%desc
Header file for mass storage driver.
%author Moshe Bakir
*/

#ifndef __FX_MASS_STORAGE_H
#define __FX_MASS_STORAGE_H

//////////////////////////////////////////////////////////////////////////////
// Mass Storage Class - Commands sets 
//////////////////////////////////////////////////////////////////////////////

#define MASS_STORAGE_REDUCED_BLOCK_COMMANDS 0x01        
#define MASS_STORAGE_SFF_8020               0x02
#define MASS_STORAGE_QIC_157                0x03
#define MASS_STORAGE_UFI                    0x04
#define MASS_STORAGE_SFF_8070               0x05
#define MASS_STORAGE_SCSI_TRANSPARENT       0x06

//////////////////////////////////////////////////////////////////////////////
// Mass Storage Class - Protocols
//////////////////////////////////////////////////////////////////////////////

#define MASS_STORAGE_CBI_COMMAND_COMPLETION 0x00
#define MASS_STORAGE_CBI_NO_COMMAND_COMP    0x01
#define MASS_STORAGE_BULK_ONLY              0x50

//////////////////////////////////////////////////////////////////////////////
// UFI command opcodes
//////////////////////////////////////////////////////////////////////////////

#define  UFI_FORMAT_UNIT                    0x04
#define  UFI_INQUIRY                        0x12
#define  UFI_START_STOP                     0x1B
#define  UFI_MODE_SELECT                    0x55
#define  UFI_MODE_SENSE                     0x5A
#define  UFI_PREVENT_ALLOW_MEDIUM_REMOVAL   0x1E
#define  UFI_READ_10                        0x28
#define  UFI_READ_12                        0xA8
#define  UFI_READ_CAPACITY                  0x25
#define  UFI_READ_FORMAT_CAPACITIES         0x23
#define  UFI_REQUEST_SENSE                  0x03
#define  UFI_REZERO_UNIT                    0x01
#define  UFI_SEEK                           0x2B
#define  UFI_SEND_DIAGNOSTIC                0x1D
#define  UFI_TEST_UNIT_READY                0x00
#define  UFI_VERIFY                         0x2F
#define  UFI_WRITE_10                       0x2A
#define  UFI_WRITE_12                       0xAA
#define  UFI_WRITE_AND_VERIFY               0x2E

#pragma pack(1)

// Generic UFI command
typedef struct tagSUFICMD
{
    // Byte 0 - opcode 12H    
    unsigned uwOpcode                  : 8; 

    // Byte 1 
    unsigned uwReserved1               : 5;
    unsigned uwLun                     : 3;

    // Bytes 2-11
    USHORT uwReserved2[5];

} SUFICMD, *PSUFICMD;

//////////////////////////////////////////////////////////////////////////////
// INQUERY Command 12H
//////////////////////////////////////////////////////////////////////////////

// Inquiery command
typedef struct tagSUFIINQUIRYCMD
{
    // Byte 0 - opcode 12H
    unsigned uwOpcode                  : 8; 

    // Byte 1 from LSB to MSB, UFI supports only 0 for uwEvpd
    unsigned uwEvpd                    : 1;
    unsigned uwReserved1               : 4;
    unsigned uwLun                     : 3;

    // Byte 2 - UFI supports only code page 0
    unsigned uwPageCode                : 8; 

    // Byte 3
    unsigned uwReserved2               : 8; 

    // Byte 4 - specifies the maximum number of bytes of inquery
    // data to be returned
    unsigned uwAllocationLength        : 8; 

} SUFIINQUIRYCMD, *PSUFIINQUIRYCMD;


// Inquiery response data
typedef struct tagSUFIINQUIRYDATA
{
    // Byte 0 from LSB to MSB - identifies the device currently connected 
    // to the requested logical unit, 0 - direct access, 0x1F none
    unsigned uwPeriferialDeviceType    : 5; 
    unsigned uwReserved1               : 3; 

    // Byte 1 from LSB to MSB
    unsigned uwReserved2               : 7; 
    // Shall be set to one to indicate removeable media
    unsigned uwRemovableMediaBit       : 1; 

    // Byte 2 - all fields has to be zero to comply with UFI
    unsigned uwAnsiVersion             : 3; 
    unsigned uwEmcaVersion             : 3; 
    unsigned uwIsoVersion              : 2; 

    // Byte 3 - value of 01H shall be used for UFI device
    unsigned uwResponseDataFormat      : 4; 
    unsigned uwReserved3               : 4;

    // Byte 4 - includes length from byte 5 to 35 inclusively - 31 (0x1F)
    // This field shall not be adjusted to reflect possible transaction if 
    // the  allocation length of command is too small to transfer all the 
    // parameters
    unsigned uwAdditionalLength        : 8; 

    // Byte 5
    unsigned uwReserved4               : 8;

    // Byte 6,7
    unsigned uwReserved5               :16;

    // Byte 8..15(8 bytes) of ASCII, left-aligned
    BYTE byVendorInformation[8];

    // Byte 16..31(16 bytes) of ASCII, left-aligned
    BYTE byProductIdentification[16];

    // Byte 32..35(4 bytes) of ASCII format "x.xx", left-aligned
    // firmware revision version
    BYTE byProductRevision[4];

} SUFIINQUIRYDATA, *PSUFIINQUIRYDATA;


// Periferial device type definitions
#define  UFI_DIRECT_ACCESS_DEVICE   0x00
#define  UFI_NO_DEVICE              0x1F

//////////////////////////////////////////////////////////////////////////////
// READ FORMAT CAPACITIES Command 23H
//////////////////////////////////////////////////////////////////////////////

// Read Format Capacities Command
typedef struct tagSUFIREADFORMATCAPCMD
{
    // Byte 0 - opcode 23H
    unsigned uwOpcode                  : 8; 

    // Byte 1 from LSB to MSB
    unsigned uwReserved1               : 5;
    unsigned uwLun                     : 3;

    // Bytes 2-6
    unsigned uwReserved2               : 8; 
    unsigned uwReserved3               :16; 
    unsigned uwReserved4               :16; 

    // Bytes 7-8 - Allocation length - the number of returned bytes should 
    // not excceed this value
    unsigned uwAllocationLengthMsb     : 8;
    unsigned uwAllocationLengthLsb     : 8;

} SUFIREADFORMATCAPCMD, *PSUFIREADFORMATCAPCMD;

// Current/Maximum Capacity descriptor
typedef struct tagSUFICAPDESC
{
    // Bytes 0-3, Indicates the total number of addressable blocks for the 
    // descriptor's media type
    unsigned uwNumberOfBlocksMsb      : 8;
    unsigned uwNumberOfBlocksMidMsb   : 8;
    unsigned uwNumberOfBlocksMidLsb   : 8;
    unsigned uwNumberOfBlocksLsb      : 8;

    // Byte 4, specifies the type of descriptor returned to the Host
    unsigned  uwDescriptorCode        : 2;
    unsigned  uwReserved5             : 6;

    // Byte 5
    unsigned  uwReserved4             : 8;

    // Bytes 6,7 - indicates the number of addressable blocks for the given
    // capacity descriptor
    unsigned  uwBlockLengthMsb        : 8;
    unsigned  uwBlockLengthLsb        : 8;

} SUFICAPDESC, *PSUFICAPDESC;

// Capacity List header
typedef struct tagSUFICAPLISTHDR
{
    // Bytes 0,1
    unsigned uwReserved1              :16;

    // Byte 2
    unsigned uwReserved2              : 8;

    // Byte 3 - specifies the length in bytes of the Capacity Descriptors 
    // that follow. Each capacity descriptor is eight bytes in length, making
    // the Capacity List Length equal to eight times the number of descriptors
    unsigned uwCapacityListLength     : 8;

    // Current / Maximum Capacity Descriptor
    SUFICAPDESC sDesc[1];

} SUFICAPLISTHDR, *PSUFICAPLISTHDR;

// Descriptor Code Definition
#define UFI_UNFORMATTED_MEDIA           0x01
#define UFI_FORMATTED_MEDIA             0x02
#define UFI_NO_CARTRIDGE_IN_DRIVE       0x03

//////////////////////////////////////////////////////////////////////////////
// READ CAPACITY Command 25H - allows the host to request capacities of 
// the currently installed media
//////////////////////////////////////////////////////////////////////////////

// Read Capacity Command
typedef struct tagSUFIREADCAPCMD
{
    // Byte 0 - opcode 25H
    unsigned uwOpcode                  : 8;

    // Byte 1 from LSB to MSB - should be set to 0 for UFI
    unsigned uwRelAdr                  : 1;
    unsigned uwReserved1               : 4;
    unsigned uwLun                     : 3;

    // Bytes 2-5 - Logical Block address should be set to zero
    unsigned uwLbaMsb                  : 8;
    unsigned uwLbaMidMsb               : 8;
    unsigned uwLbaMidLsb               : 8;
    unsigned uwLbaLsb                  : 8;

    // Bytes 6-7
    unsigned uwReserved2               :16;

    // Byte 8 - PMI bit should be set to 0
    unsigned uwPmi                     : 1;
    unsigned uwReserved3               : 7;

} SUFIREADCAPCMD, *PSUFIREADCAPCMD;

// Read Capacity Data 
typedef struct tagSUFIREADCAPDATA
{
    // Holds the last valid Logical Block Address for use with media 
    // access commands
    unsigned uwLastLbaMsb              : 8;
    unsigned uwLastLbaMidMsb           : 8;
    unsigned uwLastLbaMidLsb           : 8;
    unsigned uwLastLbaLsb              : 8;

    // Specifies the length in bytes of each logical block for the given
    // capacity descriptor
    unsigned uwBlockLengthMsb          : 8;
    unsigned uwBlockLengthMidMsb       : 8;
    unsigned uwBlockLengthMidLsb       : 8;
    unsigned uwBlockLengthLsb          : 8;

} SUFIREADCAPDATA, *PSUFIREADCAPDATA;

//////////////////////////////////////////////////////////////////////////////
// REQUEST SENSE Command 03H
//////////////////////////////////////////////////////////////////////////////

// Request Sence Command
typedef struct tagSUFIREQSENSECMD
{
    // Byte 0 - opcode 03H
    unsigned uwOpcode                  : 8;

    // Byte 1 from LSB to MSB
    unsigned uwReserved1               : 5;
    unsigned uwLun                     : 3;

    // Bytes 2-3
    unsigned uwReserved2               :16;

    // Byte 4
    unsigned uwAllocationLength        : 8;

} SUFIREQSENSECMD, *PSUFIREQSENSECMD;

//
typedef struct tagSUFIREQSENSEDATA
{
    // Byte 0, Error Code shall be set to 70H
    unsigned uwErrorCode               : 7; 
    // Indicates valid information field 1, or otherwise 0.
    unsigned uwValid                   : 1; 

    // Byte 1
    unsigned uwReserved1               : 8;

    // Byte 2
    unsigned uwSenseKey                : 4; 
    unsigned uwReserved2               : 4;

    // Bytes 3-6, 
    unsigned uwInformationMsb          : 8;
    unsigned uwInformationMidMsb       : 8;
    unsigned uwInformationMidLsb       : 8;
    unsigned uwInformationLsb          : 8;

    // Byte 7 - Has to be 10
    unsigned uwAdditionalSenseLength   : 8; 

    // Byte 8,9
    USHORT uwReserved3;

    // Byte 10,11
    USHORT uwReserved4;

    // Byte 12
    unsigned uwAdditionalSenseCode      : 8; 

    // Byte 13
    unsigned wAdditionalSenseQualifier  : 8; 

    // Byte 14, 15
    USHORT uwReserved5;

    // Byte 16,17
    USHORT uwReserved6;

} SUFIREQSENSEDATA, *PSUFIREQSENSEDATA;

// Sens Key Codes
#define SK_NO_SENS                  0x00
#define SK_RECOVERED_ERROR          0x01
#define SK_NOT_READY                0x02
#define SK_MEDIUM_ERROR             0x03
#define SK_HARDWARE_ERROR           0x04
#define SK_ILLEGAL_REQUEST          0x05
#define SK_UNIT_ATTENTION           0x06
#define SK_DATA_PROTECT             0x07
#define SK_BLANK_CHECK              0x08
#define SK_VENDOR_SPECIFIC          0x09
#define SK_RESERVED1                0x0A
#define SK_ABORTED_COMMAND          0x0B
#define SK_RESERVED2                0x0C
#define SK_VOLUME_OVERFLOW          0x0D
#define SK_MISCOMPARE               0x0E
#define SK_RESERVED3                0x0F

// Additional Sens Code + Additional Sens Code Qualifier
#define ASC_WRITE_FAULT                             0x0300
#define ASC_DEVICE_NOT_READY_INIT_REQUIRED          0x0402
#define ASC_DEVICE_IS_BUSY                          0x04FF
#define ASC_UNRECOVERED_READ_ERROR                  0x1100
#define ASC_INVALID_OPCODE                          0x2000
#define ASC_LBA_OUT_OF_RANGE                        0x2100
#define ASC_INVALID_FIELD_IN_COMMAND_PACKET         0x2400
#define ASC_INVALID_FIELD_IN_PARAM_LIST             0x2600
#define ASC_PARAMETER_NOT_SUPPORTED                 0x2601
#define ASC_WRITE_PROTECTED                         0x2700

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲444eee在线观看| 色悠悠亚洲一区二区| 92精品国产成人观看免费| 6080亚洲精品一区二区| 国产精品久久看| 激情综合色综合久久| 欧美午夜一区二区三区| 成人欧美一区二区三区| 久久国产精品99久久人人澡| 99这里都是精品| 久久精品一区二区三区不卡牛牛| 日韩黄色免费电影| 欧美性大战久久| 亚洲激情在线激情| 成人av影视在线观看| 久久久久久亚洲综合影院红桃| 五月天丁香久久| 欧美性感一类影片在线播放| 亚洲欧美另类图片小说| 91亚洲男人天堂| 国产精品久久久久久久久快鸭| 国产精品66部| 国产日韩欧美麻豆| 国产麻豆91精品| 久久网站最新地址| 狠狠色狠狠色综合系列| 日韩免费在线观看| 久久99精品国产麻豆不卡| 欧美一区二区三区免费观看视频| 亚洲成人福利片| 欧美日韩在线免费视频| 亚洲成av人影院在线观看网| 欧美日韩国产综合一区二区三区 | 国产一区二区三区免费播放 | 欧美日韩精品一区视频| 亚洲国产精品尤物yw在线观看| 日本乱人伦aⅴ精品| 亚洲一区二区黄色| 欧美亚洲尤物久久| 日韩高清不卡在线| 精品日韩欧美在线| 成人免费看片app下载| 亚洲素人一区二区| 欧美日韩美少妇| 蜜桃av一区二区三区电影| 久久麻豆一区二区| 99re在线视频这里只有精品| 亚洲资源在线观看| 日韩一级大片在线观看| 国产mv日韩mv欧美| 亚洲一区二区高清| 欧美电影免费观看高清完整版在线| 激情综合网天天干| 自拍偷拍国产精品| 8x8x8国产精品| 国产精品66部| 亚洲第一福利视频在线| 精品国产123| 在线观看日韩精品| 国产在线精品免费av| 亚洲视频免费在线| 日韩免费高清视频| 色婷婷综合久久| 麻豆国产精品一区二区三区| 自拍偷拍亚洲欧美日韩| 日韩一区二区免费高清| 本田岬高潮一区二区三区| 亚洲成人黄色小说| 中文在线免费一区三区高中清不卡| 欧美日韩免费电影| 国产成都精品91一区二区三| 午夜激情一区二区| 国产精品无码永久免费888| 欧美日韩高清一区二区三区| 国产盗摄一区二区三区| 日日夜夜精品视频免费| 自拍偷拍亚洲综合| www精品美女久久久tv| 在线这里只有精品| 高清日韩电视剧大全免费| 日本成人超碰在线观看| 亚洲乱码精品一二三四区日韩在线| 日韩精品一区二区三区swag | 成av人片一区二区| 免费在线欧美视频| 亚洲一区免费视频| 国产精品久久久久久亚洲毛片| 日韩精品一区二区三区蜜臀| 欧美亚洲综合在线| 99精品视频在线播放观看| 极品少妇一区二区三区精品视频| 午夜精品福利在线| 亚洲中国最大av网站| 综合网在线视频| 国产精品久久久久四虎| 久久精品男人天堂av| 精品国产伦一区二区三区观看方式 | 欧美伊人久久久久久午夜久久久久| 国产一本一道久久香蕉| 免费高清在线一区| 日韩中文字幕区一区有砖一区 | 在线一区二区观看| av日韩在线网站| 从欧美一区二区三区| 韩国女主播一区| 麻豆精品一区二区三区| 青青草视频一区| 免费的成人av| 精彩视频一区二区| 国产一区中文字幕| 国产一区二区三区四| 国产一区二区看久久| 国产精品自拍一区| 国产乱淫av一区二区三区| 久久av资源站| 激情久久五月天| 国产不卡在线播放| 成人晚上爱看视频| 国产成人av电影在线播放| 国产精品一区二区在线看| 国产乱子轮精品视频| 国产成人午夜精品5599| 不卡电影一区二区三区| 一本大道综合伊人精品热热| 日本久久精品电影| 91精品国产综合久久婷婷香蕉| 日韩小视频在线观看专区| 欧美精品一区二区三区高清aⅴ | 91麻豆精品国产91久久久| 欧美精品第1页| 精品粉嫩超白一线天av| 国产精品乱码一区二三区小蝌蚪| 国产精品第四页| 亚洲国产精品自拍| 久久99精品国产| 北条麻妃国产九九精品视频| 欧美综合在线视频| 欧美成人综合网站| 国产精品国产三级国产aⅴ无密码| 日韩美女啊v在线免费观看| 亚洲va国产天堂va久久en| 天天亚洲美女在线视频| 国产精品一区二区免费不卡| 成人国产在线观看| 欧美福利视频导航| 国产丝袜欧美中文另类| 亚洲乱码国产乱码精品精98午夜| 午夜av电影一区| 国产精品18久久久久久久久| 91国产精品成人| 2019国产精品| 亚洲一二三专区| 国产在线国偷精品产拍免费yy| 成人av在线网| 日韩美女主播在线视频一区二区三区 | 欧美久久久久久蜜桃| 欧美精品一区二区三区很污很色的| 一区二区在线观看视频在线观看| 精品无人码麻豆乱码1区2区| 91一区二区三区在线观看| 精品国产91乱码一区二区三区| 一区二区三区国产精华| 国产福利91精品| 日韩三级av在线播放| 亚洲自拍偷拍av| 99久久综合99久久综合网站| 精品美女被调教视频大全网站| 亚洲综合免费观看高清完整版在线| 国产精品18久久久久久久网站| 欧美一区二区三区视频免费| 樱花影视一区二区| 成人18视频日本| 国产亚洲欧洲997久久综合| 日韩成人伦理电影在线观看| 9久草视频在线视频精品| 亚洲免费观看在线视频| 成人在线视频首页| 精品国产乱码久久久久久影片| 日韩黄色免费网站| 欧美三区在线视频| 亚洲一区在线视频观看| 91一区二区在线| 国产精品成人免费| 成人毛片视频在线观看| 久久嫩草精品久久久精品| 麻豆freexxxx性91精品| 日韩欧美一区二区在线视频| 午夜影视日本亚洲欧洲精品| 在线精品观看国产| 亚洲欧美另类久久久精品2019| 97aⅴ精品视频一二三区| 国产精品黄色在线观看| 国产91精品久久久久久久网曝门| 久久―日本道色综合久久| 六月婷婷色综合| 精品久久一区二区| 国产精品456露脸| 欧美国产精品久久| 成人app网站| 亚洲精品国产一区二区三区四区在线|