special usb hub handling, IDE disks, and retries all over the place
[linux-2.4.git] / drivers / usb / tiglusb.h
1 /* Hey EMACS -*- linux-c -*-
2  *
3  * tiglusb - low level driver for SilverLink cable
4  *
5  * Copyright (C) 2000-2002, Romain Lievin <roms@lpg.ticalc.org>
6  * under the terms of the GNU General Public License.
7  *
8  * Redistribution of this file is permitted under the terms of the GNU
9  * Public License (GPL)
10  */
11
12 #ifndef _TIGLUSB_H
13 #define _TIGLUSB_H
14
15 /*
16  * Max. number of devices supported
17  */
18 #define MAXTIGL         16
19
20 /*
21  * Max. packetsize for IN and OUT pipes
22  */
23 #define BULK_RCV_MAX    32
24 #define BULK_SND_MAX    32
25
26 /*
27  * The driver context...
28  */
29
30 typedef enum { _stopped=0, _started } driver_state_t;
31
32 typedef struct
33 {
34         struct usb_device       *dev;           /* USB device handle */
35         struct semaphore        mutex;          /* locks this struct */
36
37         wait_queue_head_t       wait;           /* for timed waits */
38         wait_queue_head_t       remove_ok;
39
40         int             minor;                  /* which minor dev #? */
41         devfs_handle_t  devfs;                  /* devfs device */
42
43         driver_state_t  state;                  /* started/stopped */
44         int             opened;                 /* tru if open */
45         int     remove_pending;
46 } tiglusb_t, *ptiglusb_t;
47
48 #endif