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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ata.h

?? 周立功的文件系統(tǒng)
?? H
字號:
/*
////////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1999-2003 PHILIPS Semiconductors - APIC
//
// Module Name:
//
//	ATA.h
//
// Abstract:
//
//     This module contains the structures and definitions for the ATAPI
//     IDE miniport driver.
//
// Author:
//
//     Hilbert Zhang ZhenYu
//
// Revision History:
//
//		Created  29 Apr. 1999
//
// Copyright @ 1999-2003, PHILIPS Semiconductors - APIC. All rights reserved.
//
*/

#ifndef __ATA_H
#define __ATA_H

#include "BasicTyp.h"

#define SECTOR_SIZE     512         //定義扇區(qū)大小為512B

/*
Amend by Liu Ying Bin 2002-05-28
#if(EP2_PACKET_SIZE == 8)
#define EP2PKTNUM_PER_SECTOR        64
#define BITNUM4EP2PKT_PER_SECTOR    6
#elif(EP2_PACKET_SIZE == 16)
#define EP2PKTNUM_PER_SECTOR        32
#define BITNUM4EP2PKT_PER_SECTOR    5
#elif(EP2_PACKET_SIZE == 32)
#define EP2PKTNUM_PER_SECTOR        16
#define BITNUM4EP2PKT_PER_SECTOR    4
#elif(EP2_PACKET_SIZE == 64)
#define EP2PKTNUM_PER_SECTOR        8
#define BITNUM4EP2PKT_PER_SECTOR    3
#endif
*/
#define EP2PKTNUM_PER_SECTOR        8
#define BITNUM4EP2PKT_PER_SECTOR    3


#define MULTI_BLOCK_1   1
#define MULTI_BLOCK_2   2
#define MULTI_BLOCK_4   4
#define MULTI_BLOCK_8   8
#define MULTI_BLOCK_16  16
#define MULTI_BLOCK_32  32
#define MULTI_BLOCK_64  64
#define MULTI_BLOCK_128 128
/*
//
// IDE register definition
//
*/
typedef struct _IDE_REGISTERS_1 {
	INT16 	Data;
	INT8 	BlockCount;
	INT8 	BlockNumber;
	INT8 	CylinderLow;
	INT8 	CylinderHigh;
	INT8 	DriveSelect;
	INT8 	Command;
} IDE_REGISTERS_1, *PIDE_REGISTERS_1;

typedef struct _IDE_REGISTERS_2 {
	INT8 AlternateStatus;
	INT8 DriveAddress;
} IDE_REGISTERS_2, *PIDE_REGISTERS_2;

typedef struct _IDE_REGISTERS_3 {
	INT32 Data;
	INT8 Others[4];
} IDE_REGISTERS_3, *PIDE_REGISTERS_3;


/*
// IDE command definitions
*/
#define IDE_COMMAND_ATAPI_RESET      0x08
#define IDE_COMMAND_RECALIBRATE      0x10
#define IDE_COMMAND_READ             0x20
#define IDE_COMMAND_WRITE            0x30
#define IDE_COMMAND_VERIFY           0x40
#define IDE_COMMAND_SEEK             0x70
#define IDE_COMMAND_EXEC_DIAGNOSE    0x90
#define IDE_COMMAND_SET_DRIVE_PARAMETERS 0x91
#define IDE_COMMAND_ATAPI_PACKET     0xA0
#define IDE_COMMAND_ATAPI_IDENTIFY   0xA1
#define IDE_COMMAND_READ_MULTIPLE    0xC4
#define IDE_COMMAND_WRITE_MULTIPLE   0xC5
#define IDE_COMMAND_SET_MULTIPLE     0xC6
#define IDE_COMMAND_READ_DMA         0xC8
#define IDE_COMMAND_WRITE_DMA             0xCA
#define IDE_COMMAND_GET_MEDIA_STATUS      0xDA
#define IDE_COMMAND_ENABLE_MEDIA_STATUS   0xEF
#define IDE_COMMAND_IDENTIFY              0xEC
#define IDE_COMMAND_MEDIA_EJECT           0xED

/*
// IDE status definitions
*/
#define IDE_STATUS_ERROR             0x01
#define IDE_STATUS_INDEX             0x02
#define IDE_STATUS_CORRECTED_ERROR   0x04
#define IDE_STATUS_DRQ               0x08
#define IDE_STATUS_DSC               0x10
#define IDE_STATUS_DRDY              0x40
#define IDE_STATUS_IDLE              0x50
#define IDE_STATUS_BUSY              0x80

/*
// IDE drive select/head definitions
*/
#define IDE_DRIVE_SELECT_1           0xA0
#define IDE_DRIVE_SELECT_2           0x10

/*
// IDE drive control definitions
*/
#define IDE_DC_DISABLE_INTERRUPTS    0x02
#define IDE_DC_RESET_CONTROLLER      0x04
#define IDE_DC_REENABLE_CONTROLLER   0x00

/*
// IDE error definitions
*/
#define IDE_ERROR_BAD_BLOCK          0x80
#define IDE_ERROR_DATA_ERROR         0x40
#define IDE_ERROR_MEDIA_CHANGE       0x20
#define IDE_ERROR_ID_NOT_FOUND       0x10
#define IDE_ERROR_MEDIA_CHANGE_REQ   0x08
#define IDE_ERROR_COMMAND_ABORTED    0x04
#define IDE_ERROR_END_OF_MEDIA       0x02
#define IDE_ERROR_ILLEGAL_LENGTH     0x01


/*
// ATAPI Register Files
*/


typedef struct _ATAPI_REGISTERS_1 {
	INT16 Data;
	INT8 InterruptReason;
	INT8 Unused1;
	INT8 ByteCountLow;
	INT8 ByteCountHigh;
	INT8 DriveSelect;
	INT8 Command;
} ATAPI_REGISTERS_1, *PATAPI_REGISTERS_1;

typedef struct _ATAPI_REGISTERS_2 {
	INT8 AlternateStatus;
	INT8 DriveAddress;
} ATAPI_REGISTERS_2, *PATAPI_REGISTERS_2;



/*
// ATAPI interrupt reasons
*/
#define ATAPI_IR_COD 0x01
#define ATAPI_IR_IO  0x02

/*
// ATAPI command definitions
*/
#define ATAPI_READ10       0x28
#define ATAPI_WRITE10      0x2A
#define ATAPI_MODE_SENSE   0x5A
#define ATAPI_MODE_SELECT  0x55
#define ATAPI_FORMAT_UNIT  0x24


/*
// ATAPI Command Descriptor Block
*/

typedef struct _READ_10 {
		INT8 OperationCode;
		INT8 Reserved1;
		INT8 LBA_3;
		INT8 LBA_2;
        INT8 LBA_1;
		INT8 LBA_0;
		INT8 Reserved2;
		INT8 XferLen_1;
		INT8 XferLen_0;
		INT8 Reserved3[3];
} READ_10, * PREAD_10;



typedef struct _WRITE_10 {
		INT8 OperationCode;
		INT8 Reserved1;
		INT8 LBA_3;
		INT8 LBA_2;
        INT8 LBA_1;
		INT8 LBA_0;
		INT8 Reserved2;
		INT8 XferLen_1;
		INT8 XferLen_0;
		INT8 Reserved3[3];
} WRITE_10, *PWRITE_10;

typedef struct _MODE_SENSE_10 {
		INT8 OperationCode;
		INT8 Reserved1;
		unsigned PageCode : 6;
		unsigned Pc : 2;
		INT8 Reserved2[4];
		INT8 ParameterListLengthMsb;
		INT8 ParameterListLengthLsb;
		INT8 Reserved3[3];
} MODE_SENSE_10, *PMODE_SENSE_10;

typedef struct _MODE_SELECT_10 {
		INT8 OperationCode;
		unsigned Reserved1 : 4;
		unsigned PFBit : 1;
		unsigned Reserved2 : 3;
		INT8 Reserved3[5];
		INT8 ParameterListLengthMsb;
		INT8 ParameterListLengthLsb;
		INT8 Reserved4[3];
} MODE_SELECT_10, *PMODE_SELECT_10;

typedef union _ATAPI_COMMAND_PACKET {

    READ_10         CmdRead10;
    WRITE_10        CmdWrite10;
    MODE_SELECT_10  CmdModeSel10;
    MODE_SENSE_10   CmdModeSen10;
} ATAPI_COMMAND_PACKET, * PATAPI_COMMAND_PACKET;

typedef struct _MODE_PARAMETER_HEADER_10 {
	INT8 ModeDataLengthMsb;
	INT8 ModeDataLengthLsb;
	INT8 MediumType;
	INT8 Reserved[5];
}MODE_PARAMETER_HEADER_10, *PMODE_PARAMETER_HEADER_10;//4

/*
// IDENTIFY data
*/
typedef struct _IDENTIFY_DATA {
	INT16 GeneralConfiguration;            // 00 00
	INT16 NumberOfCylinders;               // 02  1
	INT16 Reserved1;                       // 04  2
	INT16 NumberOfHeads;                   // 06  3
	INT16 UnformattedBytesPerTrack;        // 08  4
	INT16 UnformattedBytesPerSector;       // 0A  5
	INT16 SectorsPerTrack;                 // 0C  6
	INT16 VendorUnique1[3];                // 0E  7-9
	INT16 SerialNumber[10];                // 14  10-19
	INT16 BufferType;                      // 28  20
	INT16 BufferSectorSize;                // 2A  21
	INT16 NumberOfEccBytes;                // 2C  22
	INT16 FirmwareRevision[4];             // 2E  23-26
    INT16 ModelNumber[20];                 // 36  27-46
    INT16  MaximumBlockTransfer;            // 5E 47
	//INT8  VendorUnique2;                   // 5F
    INT16 DoubleWordIo;                    // 60  48
    INT16 Capabilities;                    // 62  49
    INT16 Reserved2;                       // 64  50
    INT8  VendorUnique3;                   // 66  51
    INT8  PioCycleTimingMode;              // 67
    INT8  VendorUnique4;                   // 68  52
    INT8  DmaCycleTimingMode;              // 69
    unsigned TranslationFieldsValid:1;        // 6A  53
    unsigned Reserved3:15;
    INT16 NumberOfCurrentCylinders;        // 6C  54        當(dāng)前柱面
    INT16 NumberOfCurrentHeads;            // 6E  55        當(dāng)前磁頭
    INT16 CurrentSectorsPerTrack;          // 70  56        當(dāng)前扇區(qū)軌道
    INT32  CurrentSectorCapacity;           // 72  57-58    當(dāng)前扇區(qū)容量
    INT16 CurrentMultiSectorSetting;       //     59
    INT32  UserAddressableSectors;          //     60-61
    unsigned SingleWordDMASupport : 8;        //     62
    unsigned SingleWordDMAActive : 8;
    unsigned MultiWordDMASupport : 8;         //     63
    unsigned MultiWordDMAActive : 8;
    unsigned AdvancedPIOModes : 8;            //     64
    unsigned Reserved4 : 8;
    INT16 MinimumMWXferCycleTime;          //     65
    INT16 RecommendedMWXferCycleTime;      //     66
	INT16 MinimumPIOCycleTime;             //     67
	INT16 MinimumPIOCycleTimeIORDY;        //     68
    INT16 Reserved5[2];                    //     69-70
    INT16 ReleaseTimeOverlapped;           //     71
    INT16 ReleaseTimeServiceCommand;       //     72
    INT16 MajorRevision;                   //     73
    INT16 MinorRevision;                   //     74
    INT16 Reserved6[50];                   //     75-126
    INT16 SpecialFunctionsEnabled;         //     127
    INT16 Reserved7[128];                  //     128-255
} IDENTIFY_DATA, *PIDENTIFY_DATA;

/*
// Identify data without the Reserved4.
*/
typedef struct _IDENTIFY_DATA2 {
    INT16 GeneralConfiguration;            // 00
    INT16 NumberOfCylinders;               // 02
//    INT16 Reserved1;                       // 04
    INT16 NumberOfHeads;                   // 06
//    INT16 UnformattedBytesPerTrack;        // 08
//    INT16 UnformattedBytesPerSector;       // 0A
    INT16 SectorsPerTrack;                 // 0C
//    INT16 VendorUnique1[3];                // 0E
//    INT16 SerialNumber[10];                // 14
//    INT16 BufferType;                      // 28
//    INT16 BufferSectorSize;                // 2A
//	INT16 NumberOfEccBytes;                // 2C
//    INT16 FirmwareRevision[4];             // 2E
//    INT16 ModelNumber[20];                 // 36
    INT16  MaximumBlockTransfer;            // 5E
//    INT8  VendorUnique2;                   // 5F
//    INT16 DoubleWordIo;                    // 60
    INT16 Capabilities;                    // 62
//    INT16 Reserved2;                       // 64
//    INT8  VendorUnique3;                   // 66
//	INT8  PioCycleTimingMode;              // 67
//    INT8  VendorUnique4;                   // 68
//    INT8  DmaCycleTimingMode;              // 69
//    INT16 TranslationFieldsValid:1;        // 6A
//    INT16 Reserved3:15;
    INT16 NumberOfCurrentCylinders;        // 6C
    INT16 NumberOfCurrentHeads;            // 6E
    INT16 CurrentSectorsPerTrack;          // 70
    FLEXI_INT32 CurrentSectorCapacity;           // 72
} IDENTIFY_DATA2, *PIDENTIFY_DATA2;

#define IDENTIFY_DATA_SIZE sizeof(IDENTIFY_DATA)

/*
// IDENTIFY capability bit definitions.
*/
#define IDENTIFY_CAPABILITIES_DMA_SUPPORTED 0x0100
#define IDENTIFY_CAPABILITIES_LBA_SUPPORTED 0x0200

/*
// IDENTIFY DMA timing cycle modes.
*/
#define IDENTIFY_DMA_CYCLES_MODE_0 0x00
#define IDENTIFY_DMA_CYCLES_MODE_1 0x01
#define IDENTIFY_DMA_CYCLES_MODE_2 0x02





#endif /* ATAPI_H */




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区免费在线观看视频| 在线免费观看日本一区| 欧美精品色一区二区三区| 一区在线观看免费| 国产精品中文字幕一区二区三区| 日韩一级精品视频在线观看| 亚洲黄色免费电影| 91免费国产在线观看| 一区二区成人在线视频| 日本韩国欧美在线| 久久综合av免费| 国产又黄又大久久| 久久久99精品免费观看| 国产又黄又大久久| xf在线a精品一区二区视频网站| 久久爱www久久做| 欧美浪妇xxxx高跟鞋交| 视频一区视频二区中文| 91精品国产91久久综合桃花| 最新不卡av在线| 欧洲亚洲精品在线| 亚洲一二三四区不卡| 在线成人免费观看| 青青草精品视频| 欧美精品一区二区三| 国产一区二区免费在线| 欧美国产一区在线| 一本色道a无线码一区v| 一区二区理论电影在线观看| 成人国产亚洲欧美成人综合网| 一区二区三区四区精品在线视频| 欧亚洲嫩模精品一区三区| 天涯成人国产亚洲精品一区av| 色先锋久久av资源部| 日韩中文字幕不卡| 久久久久久久网| 国产精品女上位| 经典三级视频一区| 亚洲欧美国产三级| 精品国产网站在线观看| 欧美亚洲动漫另类| 国产精品66部| 免费成人在线网站| 一区二区成人在线| 国产日韩欧美综合在线| 欧美巨大另类极品videosbest | 欧美一区二区三区喷汁尤物| 国产99精品国产| 蜜桃视频免费观看一区| 一区二区三区.www| 国产精品美女久久久久aⅴ| 欧美日韩成人激情| 日本高清免费不卡视频| 国产91高潮流白浆在线麻豆| 久久9热精品视频| 亚洲一区二区三区免费视频| 中文字幕一区二区5566日韩| 久久网站热最新地址| 欧美一卡二卡在线| 欧美日韩视频不卡| 色一区在线观看| 99久精品国产| 成人精品亚洲人成在线| 国产成人在线观看免费网站| 精品一区二区三区久久| 婷婷开心久久网| 天堂蜜桃一区二区三区| 香蕉乱码成人久久天堂爱免费| 亚洲免费观看高清在线观看| 国产精品传媒入口麻豆| 国产欧美精品一区| 久久精品欧美一区二区三区不卡 | 久久免费的精品国产v∧| 91精品在线观看入口| 欧美精品一二三| 91精品国产色综合久久不卡蜜臀 | 91麻豆免费看片| 99久久久久免费精品国产| 成人黄色一级视频| 成人av在线影院| 成人18精品视频| 色乱码一区二区三区88| 91九色最新地址| 欧美男人的天堂一二区| 91精品婷婷国产综合久久| 欧美日韩午夜影院| 欧美一区二视频| 精品久久久久久久久久久久包黑料 | 国产精品成人午夜| 亚洲日本在线天堂| 亚洲成人一二三| 青青青伊人色综合久久| 国产毛片精品视频| 成人国产一区二区三区精品| 日本福利一区二区| 欧美日韩国产欧美日美国产精品| 制服丝袜亚洲精品中文字幕| 久久综合中文字幕| 国产精品三级在线观看| 亚洲黄网站在线观看| 三级不卡在线观看| 国产麻豆91精品| 色诱视频网站一区| 日韩欧美一级二级三级久久久| 久久香蕉国产线看观看99| 日韩一区中文字幕| 日韩精品久久久久久| 国产精品99久久久久久似苏梦涵| 成人激情校园春色| 在线成人午夜影院| 精品国产乱码久久久久久老虎| 亚洲国产精品传媒在线观看| 亚洲高清视频在线| 国产一区二区精品久久91| 99精品黄色片免费大全| 欧美一区二区在线看| 国产精品人妖ts系列视频| 亚洲国产中文字幕在线视频综合| 国产真实乱对白精彩久久| 色噜噜偷拍精品综合在线| 日韩精品一区二区三区中文不卡| 国产精品久久久久久久久免费丝袜 | 丝袜脚交一区二区| 成人av电影在线网| 欧美一级爆毛片| 亚洲精品日产精品乱码不卡| 韩国女主播成人在线| 欧美性感一类影片在线播放| 国产午夜亚洲精品理论片色戒| 五月婷婷欧美视频| 不卡一区在线观看| 欧美成人精品福利| 亚洲精品大片www| 国产成人一区在线| 欧美一区二区三区免费大片| 亚洲人成人一区二区在线观看| 国产一区二区影院| 91精品国产色综合久久久蜜香臀| 亚洲欧美日韩久久| 丁香啪啪综合成人亚洲小说 | 99久久精品免费看国产免费软件| 日韩精品一区二区三区视频播放| 亚洲天堂成人在线观看| 国产一区二区三区四区在线观看| 欧美一区二区成人6969| 一区二区三区四区蜜桃| av毛片久久久久**hd| 国产欧美精品一区二区色综合朱莉 | 国产裸体歌舞团一区二区| 91精品免费观看| 亚洲影院理伦片| 91在线码无精品| 国产精品大尺度| 国产成人亚洲综合a∨婷婷图片| 精品国内二区三区| 麻豆91精品91久久久的内涵| 欧美色精品在线视频| 一区二区三区电影在线播| 92国产精品观看| 中文字幕视频一区二区三区久| 丁香亚洲综合激情啪啪综合| 国产欧美久久久精品影院| 精久久久久久久久久久| 精品国产青草久久久久福利| 日本网站在线观看一区二区三区| 在线观看免费亚洲| 亚洲综合久久av| 日本精品裸体写真集在线观看 | 亚洲国产日韩精品| 91视频.com| 亚洲精品综合在线| 欧洲一区在线电影| 性久久久久久久久久久久| 欧美区一区二区三区| 青青草国产精品亚洲专区无| 日韩精品一区二区三区在线 | 国内成人免费视频| 久久九九久久九九| 成人国产一区二区三区精品| 亚洲日本一区二区| 欧美午夜精品久久久| 香蕉成人啪国产精品视频综合网 | 一本色道久久综合亚洲精品按摩| 一区二区三区在线免费播放| 欧美性受极品xxxx喷水| 亚洲影院免费观看| 欧美一区二区三区婷婷月色| 狠狠色丁香久久婷婷综合丁香| 国产清纯白嫩初高生在线观看91| 丁香激情综合五月| 一区二区三区四区激情| 欧美一区二区性放荡片| 国内外成人在线| 中文字幕在线一区二区三区| 在线欧美一区二区| 全国精品久久少妇| 国产日韩欧美精品综合| 在线精品视频免费观看| 久久国产福利国产秒拍| 中文字幕不卡在线观看|