Use GetProcAddress for mmio* functions to avoid importing winmm.dll.
[wine.git] / include / aspi.h
blob2e7cd223eb78f780600621747bd88db63be42d26
1 /* ASPI definitions used for both WINASPI and WNASPI32 */
3 #ifndef __WINE_ASPI_H
4 #define __WINE_ASPI_H
6 #include "windef.h"
8 #include "pshpack1.h"
9 #ifdef __cplusplus
10 extern "C" {
11 #endif /* #ifdef __cplusplus */
14 /* Stuff in BOTH spec */
16 /* SCSI Miscellaneous Stuff */
17 #define SENSE_LEN 14
18 #define SRB_DIR_SCSI 0x00
19 #define SRB_POSTING 0x01
20 #define SRB_ENABLE_RESIDUAL_COUNT 0x04
21 #define SRB_DIR_IN 0x08
22 #define SRB_DIR_OUT 0x10
24 /* ASPI Command Definitions */
25 #define SC_HA_INQUIRY 0x00
26 #define SC_GET_DEV_TYPE 0x01
27 #define SC_EXEC_SCSI_CMD 0x02
28 #define SC_ABORT_SRB 0x03
29 #define SC_RESET_DEV 0x04
30 #define SC_SET_HA_PARMS 0x05
31 #define SC_GET_DISK_INFO 0x06
33 /* SRB status codes */
34 #define SS_PENDING 0x00
35 #define SS_COMP 0x01
36 #define SS_ABORTED 0x02
37 #define SS_ABORT_FAIL 0x03
38 #define SS_ERR 0x04
40 #define SS_INVALID_CMD 0x80
41 #define SS_INVALID_HA 0x81
42 #define SS_NO_DEVICE 0x82
44 #define SS_INVALID_SRB 0xE0
45 #define SS_OLD_MANAGER 0xE1
46 #define SS_BUFFER_ALIGN 0xE1 // Win32
47 #define SS_ILLEGAL_MODE 0xE2
48 #define SS_NO_ASPI 0xE3
49 #define SS_FAILED_INIT 0xE4
50 #define SS_ASPI_IS_BUSY 0xE5
51 #define SS_BUFFER_TO_BIG 0xE6
52 #define SS_MISMATCHED_COMPONENTS 0xE7 // DLLs/EXE version mismatch
53 #define SS_NO_ADAPTERS 0xE8
54 #define SS_INSUFFICIENT_RESOURCES 0xE9
55 #define SS_ASPI_IS_SHUTDOWN 0xEA
56 #define SS_BAD_INSTALL 0xEB
59 /* Host status codes */
60 #define HASTAT_OK 0x00
61 #define HASTAT_SEL_TO 0x11
62 #define HASTAT_DO_DU 0x12
63 #define HASTAT_BUS_FREE 0x13
64 #define HASTAT_PHASE_ERR 0x14
66 #define HASTAT_TIMEOUT 0x09
67 #define HASTAT_COMMAND_TIMEOUT 0x0B
68 #define HASTAT_MESSAGE_REJECT 0x0D
69 #define HASTAT_BUS_RESET 0x0E
70 #define HASTAT_PARITY_ERROR 0x0F
71 #define HASTAT_REQUEST_SENSE_FAILED 0x10
77 /*********** OLD ****************/
79 /* Target status codes */
80 #define STATUS_GOOD 0x00
81 #define STATUS_CHKCOND 0x02
82 #define STATUS_BUSY 0x08
83 #define STATUS_RESCONF 0x18
85 #define ASPI_POSTING(prb) (prb->SRB_Flags & 0x1)
87 /* WNASPI32/WINASPI defs */
88 #define HOST_TO_TARGET(prb) (((prb->SRB_Flags>>3) & 0x3) == 0x2)
89 #define TARGET_TO_HOST(prb) (((prb->SRB_Flags>>3) & 0x3) == 0x1)
90 #define NO_DATA_TRANSFERED(prb) (((prb->SRB_Flags>>3) & 0x3) == 0x3)
93 #define INQUIRY_VENDOR 8
95 #define MUSTEK_SCSI_AREA_AND_WINDOWS 0x04
96 #define MUSTEK_SCSI_READ_SCANNED_DATA 0x08
97 #define MUSTEK_SCSI_GET_IMAGE_STATUS 0x0f
98 #define MUSTEK_SCSI_ADF_AND_BACKTRACE 0x10
99 #define MUSTEK_SCSI_CCD_DISTANCE 0x11
100 #define MUSTEK_SCSI_START_STOP 0x1b
102 #define CMD_TEST_UNIT_READY 0x00
103 #define CMD_REQUEST_SENSE 0x03
104 #define CMD_INQUIRY 0x12
106 /* scanner commands - just for debug */
107 #define CMD_SCAN_GET_DATA_BUFFER_STATUS 0x34
108 #define CMD_SCAN_GET_WINDOW 0x25
109 #define CMD_SCAN_OBJECT_POSITION 0x31
110 #define CMD_SCAN_READ 0x28
111 #define CMD_SCAN_RELEASE_UNIT 0x17
112 #define CMD_SCAN_RESERVE_UNIT 0x16
113 #define CMD_SCAN_SCAN 0x1b
114 #define CMD_SCAN_SEND 0x2a
115 #define CMD_SCAN_CHANGE_DEFINITION 0x40
117 #define INQURIY_CMDLEN 6
118 #define INQURIY_REPLY_LEN 96
119 #define INQUIRY_VENDOR 8
121 #define SENSE_BUFFER(prb) (&prb->CDBByte[prb->SRB_CDBLen])
123 #ifdef __cplusplus
125 #endif /* #ifdef __cplusplus */
126 #include "poppack.h"
128 #endif