* The Shell.. for a long time we dreamed of having a compatible, properly working...
[reactos.git] / reactos / base / applications / atactl / helper.h
1 typedef struct _DRIVERSTATUS {
2 UCHAR bDriverError;
3 UCHAR bIDEError;
4 UCHAR bReserved[2];
5 ULONG dwReserved[2];
6 } DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;
7
8 typedef struct _IDEREGS {
9 UCHAR bFeaturesReg;
10 UCHAR bSectorCountReg;
11 UCHAR bSectorNumberReg;
12 UCHAR bCylLowReg;
13 UCHAR bCylHighReg;
14 UCHAR bDriveHeadReg;
15 UCHAR bCommandReg;
16 UCHAR bReserved;
17 } IDEREGS, *PIDEREGS, *LPIDEREGS;
18
19 #define ATAPI_ID_CMD 0xA1
20 #define ID_CMD 0xEC
21 #define SMART_CMD 0xB0
22
23 #include <pshpack1.h>
24 typedef struct _SENDCMDOUTPARAMS {
25 ULONG cBufferSize;
26 DRIVERSTATUS DriverStatus;
27 UCHAR bBuffer[1];
28 } SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
29
30 typedef struct _SENDCMDINPARAMS {
31 ULONG cBufferSize;
32 IDEREGS irDriveRegs;
33 UCHAR bDriveNumber;
34 UCHAR bReserved[3];
35 ULONG dwReserved[4];
36 UCHAR bBuffer[1];
37 } SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
38 #include <poppack.h>