diff options
Diffstat (limited to 'drivers/usb/image/microtek.h')
-rw-r--r-- | drivers/usb/image/microtek.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/drivers/usb/image/microtek.h b/drivers/usb/image/microtek.h new file mode 100644 index 000000000000..3271deb8c001 --- /dev/null +++ b/drivers/usb/image/microtek.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * Driver for Microtek Scanmaker X6 USB scanner and possibly others. | ||
3 | * | ||
4 | * (C) Copyright 2000 John Fremlin <vii@penguinpowered.com> | ||
5 | * (C) Copyright 2000 Oliver Neukum <Oliver.Neukum@lrz.uni-muenchen.de> | ||
6 | * | ||
7 | * See microtek.c for history | ||
8 | * | ||
9 | */ | ||
10 | |||
11 | typedef void (*mts_scsi_cmnd_callback)(Scsi_Cmnd *); | ||
12 | |||
13 | |||
14 | struct mts_transfer_context | ||
15 | { | ||
16 | struct mts_desc* instance; | ||
17 | mts_scsi_cmnd_callback final_callback; | ||
18 | Scsi_Cmnd *srb; | ||
19 | |||
20 | void* data; | ||
21 | unsigned data_length; | ||
22 | int data_pipe; | ||
23 | int fragment; | ||
24 | |||
25 | u8 status; /* status returned from ep_response after command completion */ | ||
26 | }; | ||
27 | |||
28 | |||
29 | struct mts_desc { | ||
30 | struct mts_desc *next; | ||
31 | struct mts_desc *prev; | ||
32 | |||
33 | struct usb_device *usb_dev; | ||
34 | struct usb_interface *usb_intf; | ||
35 | |||
36 | /* Endpoint addresses */ | ||
37 | u8 ep_out; | ||
38 | u8 ep_response; | ||
39 | u8 ep_image; | ||
40 | |||
41 | struct Scsi_Host * host; | ||
42 | struct semaphore lock; | ||
43 | |||
44 | struct urb *urb; | ||
45 | struct mts_transfer_context context; | ||
46 | }; | ||
47 | |||
48 | |||
49 | #define MTS_EP_OUT 0x1 | ||
50 | #define MTS_EP_RESPONSE 0x2 | ||
51 | #define MTS_EP_IMAGE 0x3 | ||
52 | #define MTS_EP_TOTAL 0x3 | ||
53 | |||
54 | #define MTS_SCSI_ERR_MASK ~0x3fu | ||
55 | |||