37 #ifndef __UNIATA_IO_CONTROL_CODES__H__ 38 #define __UNIATA_IO_CONTROL_CODES__H__ 48 #define AHCI_MAX_PORT 32 49 #define IDE_MAX_CHAN 16 51 #define IDE_MAX_LUN_PER_CHAN 2 52 #define IDE_MAX_LUN (AHCI_MAX_PORT*IDE_MAX_LUN_PER_CHAN) 54 #define MAX_QUEUE_STAT 8 56 #define UNIATA_COMM_PORT_VENDOR_STR "UNIATA " "Management Port " UNIATA_VER_STR 60 #define IOCTL_SCSI_MINIPORT_UNIATA_FIND_DEVICES ((FILE_DEVICE_SCSI << 16) + 0x09a0) 61 #define IOCTL_SCSI_MINIPORT_UNIATA_DELETE_DEVICE ((FILE_DEVICE_SCSI << 16) + 0x09a1) 62 #define IOCTL_SCSI_MINIPORT_UNIATA_SET_MAX_MODE ((FILE_DEVICE_SCSI << 16) + 0x09a2) 63 #define IOCTL_SCSI_MINIPORT_UNIATA_GET_MODE ((FILE_DEVICE_SCSI << 16) + 0x09a3) 64 #define IOCTL_SCSI_MINIPORT_UNIATA_ADAPTER_INFO ((FILE_DEVICE_SCSI << 16) + 0x09a4) 66 #define IOCTL_SCSI_MINIPORT_UNIATA_RESETBB ((FILE_DEVICE_SCSI << 16) + 0x09a5) 67 #define IOCTL_SCSI_MINIPORT_UNIATA_RESET_DEVICE ((FILE_DEVICE_SCSI << 16) + 0x09a6) 68 #define IOCTL_SCSI_MINIPORT_UNIATA_REG_IO ((FILE_DEVICE_SCSI << 16) + 0x09a7) 69 #define IOCTL_SCSI_MINIPORT_UNIATA_GET_VERSION ((FILE_DEVICE_SCSI << 16) + 0x09a8) 75 #define UNIATA_REMOVE_FLAGS_HIDE 0x01 76 #define UNIATA_ADD_FLAGS_UNHIDE 0x01 195 #ifndef ATA_FLAGS_DRDY_REQUIRED 220 #define ATA_FLAGS_DRDY_REQUIRED 0x01 // Wait for DRDY status from the device before sending the command to the device. 221 #define ATA_FLAGS_DATA_OUT 0x02 // Write data to the device. 222 #define ATA_FLAGS_DATA_IN 0x04 // Read data from the device. 223 #define ATA_FLAGS_48BIT_COMMAND 0x08 // The ATA command to be send uses the 48 bit LBA feature set. 226 #define ATA_FLAGS_USE_DMA 0x10 // Set the transfer mode to DMA. 227 #define ATA_FLAGS_NO_MULTIPLE 0x20 // Read single sector only. 229 #endif //ATA_FLAGS_DRDY_REQUIRED 233 #pragma pack(push, 1) 253 #define UNIATA_SPTI_EX_SND 0x00 254 #define UNIATA_SPTI_EX_RCV 0x01 255 #define UNIATA_SPTI_EX_LBA48 0x08 258 #define UNIATA_SPTI_EX_USE_DMA 0x10 // Force DMA transfer mode 261 #define UNIATA_SPTI_EX_SPEC_TO (ATA_FLAGS_DATA_OUT | ATA_FLAGS_DATA_IN) 292 #pragma pack(push, 1) 332 #endif //__UNIATA_IO_CONTROL_CODES__H__
struct _SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER * PSCSI_PASS_THROUGH_DIRECT_WITH_BUFFER
struct _ATA_PASS_THROUGH_DIRECT ATA_PASS_THROUGH_DIRECT
struct _UNIATA_CTL UNIATA_CTL
enum _INTERFACE_TYPE INTERFACE_TYPE
struct _ATA_PASS_THROUGH_DIRECT * PATA_PASS_THROUGH_DIRECT
GLdouble GLdouble GLdouble r
struct _UNIATA_REG_IO_HDR * PUNIATA_REG_IO_HDR
struct _GETDRVVERSION * PGETDRVVERSION
struct _PCI_SLOT_NUMBER::@3804::@3805 bits
struct _IDEREGS_EX IDEREGS_EX
struct _UNIATA_REG_IO_HDR UNIATA_REG_IO_HDR
struct _CHANINFO CHANINFO
struct _SETTRANSFERMODE SETTRANSFERMODE
ULONG AdapterInterfaceType
enum _INTERFACE_TYPE * PINTERFACE_TYPE
struct _ADDREMOVEDEV ADDREMOVEDEV
LONGLONG QueueStat[MAX_QUEUE_STAT]
UCHAR PreviousTaskFile[8]
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
struct _UNIATA_REG_IO * PUNIATA_REG_IO
struct _PCI_SLOT_NUMBER * PPCI_SLOT_NUMBER
struct _ADAPTERINFO ADAPTERINFO
struct _ADAPTERINFO * PADAPTERINFO
SCSI_PASS_THROUGH_DIRECT sptd
struct _SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER
_Reserved_ PVOID Reserved
struct _SCSI_PASS_THROUGH_WITH_BUFFERS SCSI_PASS_THROUGH_WITH_BUFFERS
struct _CHANINFO * PCHANINFO
struct _UNIATA_REG_IO UNIATA_REG_IO
struct _GETDRVVERSION GETDRVVERSION
struct _GETTRANSFERMODE * PGETTRANSFERMODE
struct _SCSI_PASS_THROUGH_WITH_BUFFERS * PSCSI_PASS_THROUGH_WITH_BUFFERS
struct _UNIATA_CTL * PUNIATA_CTL
struct _IDEREGS_EX * PIDEREGS_EX
struct _ADDREMOVEDEV * PADDREMOVEDEV
struct _GETTRANSFERMODE GETTRANSFERMODE
ULONG WaitForPhysicalLink
struct _IDEREGS_EX * LPIDEREGS_EX
LONGLONG TryReorderTailCount
BOOLEAN ChanHeaderLengthValid
LONGLONG TryReorderHeadCount
struct _PCI_SLOT_NUMBER PCI_SLOT_NUMBER
ULONG OrigAdapterInterfaceType
union _PCI_SLOT_NUMBER::@3804 u
struct _SETTRANSFERMODE * PSETTRANSFERMODE