~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/drivers/usb/microtek.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 typedef void (*mts_usb_urb_callback) (struct urb *);
 13 
 14 
 15 struct mts_transfer_context
 16 {
 17         struct mts_desc* instance;
 18         mts_scsi_cmnd_callback final_callback;
 19         Scsi_Cmnd *srb;
 20         
 21         void* data;
 22         unsigned data_length;
 23         int data_pipe;
 24 
 25         enum {
 26                 mts_con_none,
 27                 mts_con_command,
 28                 mts_con_data,
 29                 mts_con_status,
 30                 mts_con_error,
 31                 mts_con_done
 32         }
 33         state;
 34 
 35         atomic_t do_abort; /* when != 0 URB completion routines will
 36                               return straightaway */
 37         
 38         u8 status; /* status returned from ep_response after command completion */
 39 };
 40 
 41 
 42 struct mts_desc {
 43         struct mts_desc *next;
 44         struct mts_desc *prev;
 45 
 46         struct usb_device *usb_dev;
 47         
 48         int interface;
 49 
 50         /* Endpoint addresses */
 51         u8 ep_out;
 52         u8 ep_response;
 53         u8 ep_image;
 54         
 55         struct Scsi_Host * host;
 56         Scsi_Host_Template ctempl;
 57         int host_number;
 58         
 59         struct semaphore lock;
 60 
 61         struct urb urb;
 62         struct mts_transfer_context context;
 63 };
 64 
 65 
 66 #define MTS_EP_OUT      0x1
 67 #define MTS_EP_RESPONSE 0x2
 68 #define MTS_EP_IMAGE    0x3
 69 #define MTS_EP_TOTAL    0x3
 70 
 71 #define MTS_SCSI_ERR_MASK ~0x3fu 
 72 
 73 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.