|
ReactOS 0.4.16-dev-2633-g8dc9e50
|
#include <pshpack1.h>#include <poppack.h>

Go to the source code of this file.
Classes | |
| struct | _IDE_ACPI_TIMING_MODE_BLOCK |
| struct | _ATA_ACPI_TASK_FILE |
| struct | _IDE_REGISTERS |
| struct | _CHANNEL_DEVICE_CONFIG |
| struct | _ATA_IO_CONTEXT_COMMON |
| struct | _ATA_TASKFILE |
| struct | _ATA_DEVICE_REQUEST |
| struct | _PCIIDEX_LEGACY_CONTROLLER_INTERFACE |
| Legacy detection interface with the PCIIDEX driver. More... | |
| struct | _PCIIDEX_CHANNEL_INTERFACE |
| Channel interface with the PCIIDEX driver. More... | |
Enumerations | |
| enum | _PORT_NOTIFICATION_TYPE { AtaRequestComplete = 0 , AtaResetDetected , AtaBusChangeDetected , AtaRequestFailed , AtaAsyncNotificationDetected } |
| enum | _ATA_CONNECTION_STATUS { CONN_STATUS_FAILURE , CONN_STATUS_NO_DEVICE , CONN_STATUS_DEV_UNKNOWN , CONN_STATUS_DEV_ATA , CONN_STATUS_DEV_ATAPI } |
| enum | ATA_COMPLETION_ACTION { COMPLETE_IRP = 0 , COMPLETE_NO_IRP , COMPLETE_START_AGAIN } |
Functions | |
| typedef | VOID (__cdecl PORT_NOTIFICATION)(_In_ PORT_NOTIFICATION_TYPE NotificationType |
| _IRQL_requires_ (DISPATCH_LEVEL) typedef VOID(CHANNEL_SET_MODE)(_In_ PVOID ChannelContext | |
| _In_reads_ (ATA_MAX_DEVICE) PCHANNEL_DEVICE_CONFIG *DeviceList) | |
| _IRQL_requires_ (HIGH_LEVEL) typedef BOOLEAN(CHANNEL_START_IO)(_In_ PVOID ChannelContext | |
| DEFINE_GUID (GUID_PCIIDE_INTERFACE_ROS, 0xD677FBCF, 0xABED, 0x47C8, 0x80, 0xA3, 0xE4, 0x34, 0x7E, 0xA4, 0x96, 0x47) | |
Variables | |
| _In_ PATA_DEVICE_REQUEST | Request |
| _In_ PATA_DEVICE_REQUEST _In_ BOOLEAN | Allocate |
| _In_ PATA_DEVICE_REQUEST _In_ SCATTER_GATHER_LIST *__restrict | SgList |
| #define ATA_CHANNEL_FLAG_IS_AHCI 0x00000008 |
Definition at line 538 of file ata_shared.h.
| #define ATA_CHANNEL_FLAG_IS_EXTERNAL 0x00000002 |
Definition at line 536 of file ata_shared.h.
| #define ATA_CHANNEL_FLAG_NCQ 0x00000004 |
Definition at line 537 of file ata_shared.h.
| #define ATA_CHANNEL_FLAG_PIO_FOR_LBA48_XFER 0x00000010 |
Definition at line 539 of file ata_shared.h.
| #define ATA_CHANNEL_FLAG_PIO_VIA_DMA 0x00000001 |
Definition at line 535 of file ata_shared.h.
| #define ATA_MAX_DEVICE 15 |
Maximum number of devices (target ID) per channel
Definition at line 15 of file ata_shared.h.
| #define ATA_MAX_SECTORS_PER_IO 0x100 |
Definition at line 25 of file ata_shared.h.
| #define ATA_MAX_TRANSFER_LENGTH (ATA_MAX_SECTORS_PER_IO * ATA_MIN_SECTOR_SIZE) |
Definition at line 26 of file ata_shared.h.
| #define ATA_MIN_BUFFER_ALIGNMENT FILE_WORD_ALIGNMENT |
Minimum DMA buffer alignment because of the reserved PRDT byte 0
Definition at line 30 of file ata_shared.h.
| #define ATA_MIN_SECTOR_SIZE 512 |
256 sectors of 512 bytes (128 kB).
This ensures that the sector count register will not overflow in LBA-28 and CHS modes. In the case of the sector count (0x100) being truncated to 8-bits, 0 still means 256 sectors.
Definition at line 24 of file ata_shared.h.
| #define DEVICE_HAS_CDB_INTERRUPT 0x00000020 |
Definition at line 166 of file ata_shared.h.
| #define DEVICE_IS_ATAPI 0x00000010 |
Definition at line 165 of file ata_shared.h.
| #define DEVICE_IS_NEC_CDR260 0x00000080 |
Definition at line 168 of file ata_shared.h.
| #define DEVICE_NEED_DMA_DIRECTION 0x00000040 |
Definition at line 167 of file ata_shared.h.
| #define DEVICE_NUMBER_MASK 0x0000000F |
Definition at line 164 of file ata_shared.h.
| #define DEVICE_QUEUE_DEPTH_MASK 0x0000FF00 |
Definition at line 169 of file ata_shared.h.
| #define DEVICE_QUEUE_DEPTH_SHIFT 8 |
Definition at line 171 of file ata_shared.h.
| #define IDE_ACPI_TIMING_MODE_FLAG_INDEPENDENT_TIMINGS 0x10 |
Independent timing available
Definition at line 53 of file ata_shared.h.
Enable the IORDY signal on drive 0/1
Definition at line 50 of file ata_shared.h.
Use the UDMA mode on drive 0/1
Definition at line 47 of file ata_shared.h.
| #define IDE_ACPI_TIMING_MODE_NOT_SUPPORTED 0xFFFFFFFF |
The mode is not supported
Definition at line 42 of file ata_shared.h.
| #define PCIIDEX_GET_CONTROLLER_INTERFACE_SIGNATURE (0xFFFFFFFF - 0x1000) |
Definition at line 481 of file ata_shared.h.
| #define PCIIDEX_INTERFACE_VERSION 1 |
Definition at line 12 of file ata_shared.h.
| #define REQUEST_DMA_FLAGS (REQUEST_FLAG_DMA | REQUEST_FLAG_PROGRAM_DMA) |
DMA command translation
Definition at line 369 of file ata_shared.h.
| #define REQUEST_EXCLUSIVE_ACCESS_FLAGS (REQUEST_FLAG_SAVE_TASK_FILE | REQUEST_FLAG_EXCLUSIVE) |
Exclusive port access required.
1) Since there is only one Received FIS structure, it should be necessary to synchronize RFIS reads amongst multiple I/O requests.
2) We also mark all requests that modify the device extension state (IDE_COMMAND_IDENTIFY, IDE_COMMAND_ATAPI_IDENTIFY, IDE_COMMAND_SET_FEATURE, and others) as REQUEST_FLAG_EXCLUSIVE.
Definition at line 365 of file ata_shared.h.
| #define REQUEST_FLAG_DATA_IN 0x00000040 |
Data-In command
Definition at line 287 of file ata_shared.h.
| #define REQUEST_FLAG_DATA_OUT 0x00000080 |
Data-Out command
Definition at line 290 of file ata_shared.h.
| #define REQUEST_FLAG_DEVICE_EXCLUSIVE_ACCESS 0x01000000 |
Definition at line 350 of file ata_shared.h.
| #define REQUEST_FLAG_DMA 0x00000001 |
ATA protocols DMA ATA command
Definition at line 278 of file ata_shared.h.
| #define REQUEST_FLAG_EXCLUSIVE 0x00004000 |
Exclusive port access required
Definition at line 324 of file ata_shared.h.
| #define REQUEST_FLAG_FUA 0x00000100 |
Forced unit access command
Definition at line 306 of file ata_shared.h.
| #define REQUEST_FLAG_HAS_LOCAL_BUFFER 0x00008000 |
The request owns the local buffer
Definition at line 327 of file ata_shared.h.
| #define REQUEST_FLAG_HAS_MDL 0x00020000 |
The request owns the MDL and will also release it
Definition at line 333 of file ata_shared.h.
| #define REQUEST_FLAG_HAS_RESERVED_MAPPING 0x00080000 |
The request owns the reserved memory mapping and will also release it
Definition at line 336 of file ata_shared.h.
| #define REQUEST_FLAG_HAS_SG_LIST 0x00010000 |
The request owns the S/G list and will also release it
Definition at line 330 of file ata_shared.h.
| #define REQUEST_FLAG_HAS_TASK_FILE 0x00000400 |
Holds the saved contents of task file registers
Definition at line 312 of file ata_shared.h.
| #define REQUEST_FLAG_INTERNAL 0x00400000 |
Internal command
Definition at line 345 of file ata_shared.h.
| #define REQUEST_FLAG_LBA48 0x00000008 |
48-bit command
Definition at line 297 of file ata_shared.h.
| #define REQUEST_FLAG_NCQ 0x00000004 |
DMA Queued command
Definition at line 284 of file ata_shared.h.
| #define REQUEST_FLAG_NO_KEEP_AWAKE 0x00100000 |
Copy of SRB_FLAGS_NO_KEEP_AWAKE
Definition at line 339 of file ata_shared.h.
| #define REQUEST_FLAG_PACKET_COMMAND 0x00000002 |
ATAPI PACKET command
Definition at line 281 of file ata_shared.h.
| #define REQUEST_FLAG_PASSTHROUGH 0x00800000 |
ATA or SCSI pass-through command
Definition at line 348 of file ata_shared.h.
| #define REQUEST_FLAG_POLL 0x80000000 |
Polled command
Definition at line 353 of file ata_shared.h.
| #define REQUEST_FLAG_PROGRAM_DMA 0x00200000 |
Use the DMA engine for the transfer
Definition at line 342 of file ata_shared.h.
| #define REQUEST_FLAG_READ_WRITE 0x00000020 |
ATA read/write command
Definition at line 303 of file ata_shared.h.
| #define REQUEST_FLAG_READ_WRITE_MULTIPLE 0x00000010 |
Multiple mode command
Definition at line 300 of file ata_shared.h.
| #define REQUEST_FLAG_RST_COMMAND 0x00040000 |
Software Reset command (AHCI only)
Definition at line 293 of file ata_shared.h.
| #define REQUEST_FLAG_SAVE_TASK_FILE 0x00000200 |
Return the contents of task file registers to the caller
Definition at line 309 of file ata_shared.h.
| #define REQUEST_FLAG_SET_AUXILIARY_FIELD 0x00001000 |
Has extra bits in the Auxiliary field
Definition at line 318 of file ata_shared.h.
| #define REQUEST_FLAG_SET_DEVICE_REGISTER 0x00000800 |
Has extra bits in the device register
Definition at line 315 of file ata_shared.h.
| #define REQUEST_FLAG_SET_ICC_FIELD 0x00002000 |
Has extra bits in the Isochronous Command Completion field
Definition at line 321 of file ata_shared.h.
| #define REQUEST_STATE_FREEZE_QUEUE 3 |
Freeze the device queue upon completion of IRP
Definition at line 273 of file ata_shared.h.
| #define REQUEST_STATE_NONE 0 |
Initial state
Definition at line 264 of file ata_shared.h.
| #define REQUEST_STATE_NOT_STARTED 1 |
SRB not translated into the device request or translaton failed
Definition at line 267 of file ata_shared.h.
| #define REQUEST_STATE_REQUEUE 2 |
Requeue the device request
Definition at line 270 of file ata_shared.h.
_GTF data buffer
ATA device request context
Definition at line 70 of file ata_shared.h.
| typedef struct _ATA_TASKFILE ATA_TASKFILE |
ATA Task File interface
Definition at line 403 of file ata_shared.h.
Definition at line 398 of file ata_shared.h.
Definition at line 414 of file ata_shared.h.
| typedef PVOID() CHANNEL_GET_INIT_TASK_FILE(_In_ PVOID ChannelContext, _In_ PDEVICE_OBJECT DeviceObject) |
Definition at line 392 of file ata_shared.h.
| typedef ATA_CONNECTION_STATUS() CHANNEL_IDENTIFY_DEVICE(_In_ PVOID ChannelContext, _In_ ULONG DeviceNumber) |
Definition at line 419 of file ata_shared.h.
Definition at line 409 of file ata_shared.h.
| typedef VOID() CHANNEL_SET_DEVICE_DATA(_In_ PVOID ChannelContext, _In_ PDEVICE_OBJECT DeviceObject, _In_ PIDENTIFY_DEVICE_DATA IdentifyDeviceData) |
Definition at line 385 of file ata_shared.h.
Definition at line 379 of file ata_shared.h.
| typedef NTSTATUS() CONTROLLER_PNP_ADD_DEVICE(_In_ PDRIVER_OBJECT DriverObject, _In_ PDEVICE_OBJECT PhysicalDeviceObject, _Out_ PVOID *ControllerContext) |
Definition at line 462 of file ata_shared.h.
Definition at line 475 of file ata_shared.h.
| typedef NTSTATUS() CONTROLLER_PNP_START_DEVICE(_In_ PVOID ControllerContext, _In_ PCM_RESOURCE_LIST ResourcesTranslated) |
Definition at line 469 of file ata_shared.h.
IDE channel timing information block
| typedef struct _IDE_REGISTERS IDE_REGISTERS |
| typedef struct _ATA_ACPI_TASK_FILE * PATA_ACPI_TASK_FILE |
| typedef struct _ATA_DEVICE_REQUEST * PATA_DEVICE_REQUEST |
Definition at line 70 of file ata_shared.h.
| typedef struct _ATA_TASKFILE * PATA_TASKFILE |
Definition at line 407 of file ata_shared.h.
| typedef CHANNEL_ALLOCATE_SLOT* PCHANNEL_ALLOCATE_SLOT |
Definition at line 438 of file ata_shared.h.
Definition at line 401 of file ata_shared.h.
Definition at line 417 of file ata_shared.h.
Definition at line 396 of file ata_shared.h.
Definition at line 423 of file ata_shared.h.
| typedef CHANNEL_PREPARE_IO* PCHANNEL_PREPARE_IO |
Definition at line 453 of file ata_shared.h.
| typedef CHANNEL_PREPARE_PRD_TABLE* PCHANNEL_PREPARE_PRD_TABLE |
Definition at line 446 of file ata_shared.h.
Definition at line 412 of file ata_shared.h.
Definition at line 390 of file ata_shared.h.
| typedef CHANNEL_SET_MODE* PCHANNEL_SET_MODE |
Definition at line 430 of file ata_shared.h.
| typedef CHANNEL_START_IO* PCHANNEL_START_IO |
Definition at line 460 of file ata_shared.h.
Channel interface with the PCIIDEX driver.
This interface is ROS-specific.
Legacy detection interface with the PCIIDEX driver.
Definition at line 383 of file ata_shared.h.
Definition at line 467 of file ata_shared.h.
Definition at line 478 of file ata_shared.h.
Definition at line 473 of file ata_shared.h.
| typedef struct _IDE_REGISTERS * PIDE_REGISTERS |
| typedef _In_ PVOID PortContext |
Definition at line 375 of file ata_shared.h.
| typedef _In_ PVOID typedef PORT_NOTIFICATION* PPORT_NOTIFICATION |
Definition at line 377 of file ata_shared.h.
Definition at line 157 of file ata_shared.h.
| typedef ATA_COMPLETION_ACTION() REQUEST_COMPLETION_ROUTINE(_In_ PATA_DEVICE_REQUEST Request) |
Definition at line 154 of file ata_shared.h.
| Enumerator | |
|---|---|
| CONN_STATUS_FAILURE | |
| CONN_STATUS_NO_DEVICE | |
| CONN_STATUS_DEV_UNKNOWN | |
| CONN_STATUS_DEV_ATA | |
| CONN_STATUS_DEV_ATAPI | |
Definition at line 81 of file ata_shared.h.
| Enumerator | |
|---|---|
| AtaRequestComplete | |
| AtaResetDetected | |
| AtaBusChangeDetected | |
| AtaRequestFailed | |
| AtaAsyncNotificationDetected | |
Definition at line 72 of file ata_shared.h.
| Enumerator | |
|---|---|
| COMPLETE_IRP | |
| COMPLETE_NO_IRP | |
| COMPLETE_START_AGAIN | |
Definition at line 147 of file ata_shared.h.
| _In_reads_ | ( | ATA_MAX_DEVICE | ) |
| _IRQL_requires_ | ( | DISPATCH_LEVEL | ) |
Definition at line 394 of file expool.c.
| _IRQL_requires_ | ( | HIGH_LEVEL | ) |
| DEFINE_GUID | ( | GUID_PCIIDE_INTERFACE_ROS | , |
| 0xD677FBCF | , | ||
| 0xABED | , | ||
| 0x47C8 | , | ||
| 0x80 | , | ||
| 0xA3 | , | ||
| 0xE4 | , | ||
| 0x34 | , | ||
| 0x7E | , | ||
| 0xA4 | , | ||
| 0x96 | , | ||
| 0x47 | |||
| ) |
| _In_opt_ PALLOCATE_FUNCTION_EX Allocate |
Definition at line 437 of file ata_shared.h.
Referenced by _Function_class_(), AtaAhciAllocateSlot(), CmLoadKey(), CmpCmdHiveOpen(), CmpInitializeHiveList(), CmpLinkHiveToMaster(), ElfCreateFile(), ExInitializeNPagedLookasideList(), ExInitializePagedLookasideList(), HvInitialize(), MBToWCSEx(), Mx::MxInitializeNPagedLookasideList(), Mx::MxInitializePagedLookasideList(), PataAllocateSlot(), CLocalAllocator::Reallocate(), CGlobalAllocator::Reallocate(), ReAllocate(), START_TEST(), and WCSToMBEx().
Definition at line 436 of file ata_shared.h.
| _In_ PATA_DEVICE_REQUEST _In_ SCATTER_GATHER_LIST* __restrict SgList |
Definition at line 445 of file ata_shared.h.