亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一区二区日韩电影| 国产一区999| 国产婷婷色一区二区三区四区| 欧美人狂配大交3d怪物一区| 成人av免费网站| 国产成人精品影院| 国产成人丝袜美腿| 国产成人精品影视| av午夜一区麻豆| 欧洲亚洲国产日韩| 在线综合视频播放| 日韩欧美国产成人一区二区| 亚洲图片激情小说| 最近中文字幕一区二区三区| 亚洲精品成人a在线观看| 亚洲午夜在线电影| 久久国产乱子精品免费女| 国产毛片精品国产一区二区三区| 大美女一区二区三区| 色噜噜偷拍精品综合在线| 欧美精品久久99久久在免费线| 欧美电影在线免费观看| 精品成人私密视频| 国产精品国产精品国产专区不片| 亚洲女性喷水在线观看一区| 日韩精品国产欧美| 国产在线精品免费| 99久久精品国产精品久久 | 欧美肥大bbwbbw高潮| 日韩视频免费观看高清完整版在线观看 | 欧美三电影在线| 久久综合久久鬼色| 亚洲男女一区二区三区| 久久丁香综合五月国产三级网站| 成人一级黄色片| 欧美日韩国产片| 国产人妖乱国产精品人妖| 亚洲欧美日韩电影| 久久av中文字幕片| 91色在线porny| 日韩欧美国产1| 亚洲免费成人av| 国产又黄又大久久| 欧美激情一区二区三区全黄| 亚洲午夜精品久久久久久久久| 国精产品一区一区三区mba视频| 91蝌蚪porny| 久久精品亚洲一区二区三区浴池| 亚洲综合在线观看视频| 国产精品一卡二卡在线观看| 欧美日本免费一区二区三区| 中文一区在线播放| 久久av中文字幕片| 欧美精品一二三四| 亚洲一区二区成人在线观看| 成人天堂资源www在线| 日韩欧美一区二区久久婷婷| 亚洲午夜电影在线观看| 一本色道综合亚洲| 欧美国产精品一区二区三区| 九色综合国产一区二区三区| 欧美日韩国产在线播放网站| 一区二区三区蜜桃网| jlzzjlzz亚洲女人18| 日本一区二区三区国色天香| 久久国产福利国产秒拍| 日韩一级高清毛片| 亚洲成人动漫在线免费观看| 色婷婷激情一区二区三区| 国产精品麻豆久久久| 国产91丝袜在线播放九色| 精品电影一区二区| 激情六月婷婷久久| 久久久午夜精品| 国产成人一区在线| 国产精品嫩草99a| 成人小视频在线观看| 亚洲国产精品成人久久综合一区 | 国产精品热久久久久夜色精品三区| 美女视频第一区二区三区免费观看网站| 在线免费观看日本欧美| 亚洲美女一区二区三区| 日本韩国一区二区三区视频| 亚洲一区在线看| 欧美另类变人与禽xxxxx| 免费高清成人在线| 久久亚洲欧美国产精品乐播 | 亚洲女女做受ⅹxx高潮| 色综合久久中文字幕| 亚洲第一会所有码转帖| 欧美一区二区三区在线看| 老色鬼精品视频在线观看播放| 日韩一级视频免费观看在线| 精品亚洲成av人在线观看| 国产日韩欧美在线一区| 91欧美激情一区二区三区成人| 亚洲免费视频中文字幕| 欧美美女激情18p| 韩国精品久久久| 亚洲色图在线播放| 欧美片在线播放| 国产精品99久久不卡二区| 综合久久久久久| 欧美肥大bbwbbw高潮| 国产福利不卡视频| 亚洲精品欧美在线| ...av二区三区久久精品| 91视频免费播放| 免费成人在线播放| 国产精品国产三级国产专播品爱网 | 精品国精品国产尤物美女| 成人一区二区三区视频| 午夜影院在线观看欧美| 久久久综合九色合综国产精品| 本田岬高潮一区二区三区| 日日摸夜夜添夜夜添国产精品| 久久久久久久久伊人| 在线免费观看视频一区| 国产大陆a不卡| 石原莉奈一区二区三区在线观看| 久久免费视频一区| 欧美色区777第一页| 成人性生交大片免费看在线播放| 婷婷六月综合亚洲| 亚洲欧美日本在线| 欧美精品一区二区三区在线| 欧美在线一二三| 成人永久aaa| 精品一区二区三区av| 视频一区欧美精品| 亚洲欧美韩国综合色| 国产欧美视频在线观看| 日韩欧美色综合网站| 欧美性一级生活| 91在线观看美女| 成人免费不卡视频| 国产中文一区二区三区| 美女爽到高潮91| 丝袜美腿成人在线| 亚洲伊人色欲综合网| 亚洲久草在线视频| 亚洲美女免费视频| 亚洲同性同志一二三专区| 国产欧美视频一区二区三区| 精品国产乱码久久| 亚洲精品一区二区三区精华液 | 久久九九全国免费| 久久精品日韩一区二区三区| 日韩女优电影在线观看| 337p亚洲精品色噜噜狠狠| 欧美日韩激情一区二区三区| 欧美综合一区二区| 在线亚洲精品福利网址导航| 91在线视频在线| aaa欧美色吧激情视频| 国产a精品视频| 懂色一区二区三区免费观看| 国产麻豆日韩欧美久久| 国产精品99久久久久久宅男| 国产成人啪免费观看软件| 国产中文字幕一区| 国产白丝网站精品污在线入口| 国产精一区二区三区| 国产福利不卡视频| 不卡的av在线| 91高清视频在线| 欧美日韩国产首页在线观看| 欧美日韩欧美一区二区| 欧美一区二区三区视频在线观看| 欧美一级二级三级乱码| 久久久三级国产网站| 国产欧美久久久精品影院| 国产精品亲子伦对白| 亚洲女与黑人做爰| 丝袜脚交一区二区| 国产一区二区在线看| 99久久er热在这里只有精品66| 色久优优欧美色久优优| 欧美一二三区在线观看| 国产欧美精品一区二区色综合| 亚洲男女毛片无遮挡| 成人综合婷婷国产精品久久蜜臀 | 国产又黄又大久久| 99国产精品国产精品毛片| 欧美日韩国产大片| 久久午夜老司机| 伊人一区二区三区| 久久99精品一区二区三区| 91在线国内视频| 精品欧美久久久| 亚洲少妇中出一区| 美腿丝袜亚洲三区| 色狠狠色噜噜噜综合网| 精品少妇一区二区三区在线视频| 国产精品美女久久久久高潮| 奇米影视在线99精品| 97精品久久久午夜一区二区三区| 欧美日韩aaaaaa| 中文在线一区二区| 麻豆精品久久久|