diff options
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/ipodpatcher/ipodio-win32-scsi.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/rbutil/ipodpatcher/ipodio-win32-scsi.c b/rbutil/ipodpatcher/ipodio-win32-scsi.c index 7e338acbc0..16460cfba3 100644 --- a/rbutil/ipodpatcher/ipodio-win32-scsi.c +++ b/rbutil/ipodpatcher/ipodio-win32-scsi.c | |||
@@ -53,10 +53,33 @@ | |||
53 | #include <windows.h> | 53 | #include <windows.h> |
54 | #include <stddef.h> | 54 | #include <stddef.h> |
55 | #include <stdio.h> | 55 | #include <stdio.h> |
56 | #include <ddk/ntddscsi.h> | ||
57 | 56 | ||
58 | #include "ipodio.h" | 57 | #include "ipodio.h" |
59 | 58 | ||
59 | /* from ddk/ntddscsi.h */ | ||
60 | #define SCSI_IOCTL_DATA_OUT 0 | ||
61 | #define SCSI_IOCTL_DATA_IN 1 | ||
62 | #define SCSI_IOCTL_DATA_UNSPECIFIED 2 | ||
63 | |||
64 | #define IOCTL_SCSI_PASS_THROUGH \ | ||
65 | CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) | ||
66 | |||
67 | typedef struct _SCSI_PASS_THROUGH { | ||
68 | USHORT Length; | ||
69 | UCHAR ScsiStatus; | ||
70 | UCHAR PathId; | ||
71 | UCHAR TargetId; | ||
72 | UCHAR Lun; | ||
73 | UCHAR CdbLength; | ||
74 | UCHAR SenseInfoLength; | ||
75 | UCHAR DataIn; | ||
76 | ULONG DataTransferLength; | ||
77 | ULONG TimeOutValue; | ||
78 | ULONG_PTR DataBufferOffset; | ||
79 | ULONG SenseInfoOffset; | ||
80 | UCHAR Cdb[16]; | ||
81 | } SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH; | ||
82 | |||
60 | typedef struct _SCSI_PASS_THROUGH_WITH_BUFFERS { | 83 | typedef struct _SCSI_PASS_THROUGH_WITH_BUFFERS { |
61 | SCSI_PASS_THROUGH Spt; | 84 | SCSI_PASS_THROUGH Spt; |
62 | ULONG Filler; /* realign buffers to double word boundary */ | 85 | ULONG Filler; /* realign buffers to double word boundary */ |