1 #define _BULK_DATA_LEN 64
 
   4         unsigned char data[_BULK_DATA_LEN];
 
   7 }bulk_transfer_t,*pbulk_transfer_t;
 
   9 #define DABUSB_MINOR 240                /* some unassigned USB minor */
 
  10 #define DABUSB_VERSION 0x1000
 
  11 #define IOCTL_DAB_BULK              _IOWR('d', 0x30, bulk_transfer_t)
 
  12 #define IOCTL_DAB_OVERRUNS          _IOR('d',  0x15, int)
 
  13 #define IOCTL_DAB_VERSION           _IOR('d', 0x3f, int)
 
  17 typedef enum { _stopped=0, _started } driver_state_t;
 
  22         struct usb_device *usbdev;
 
  23         wait_queue_head_t wait;
 
  24         wait_queue_head_t remove_ok;
 
  30         int total_buffer_size;
 
  31         unsigned int overruns;
 
  35         struct list_head free_buff_list;
 
  36         struct list_head rec_buff_list;
 
  37 } dabusb_t,*pdabusb_t;
 
  43         struct list_head buff_list;
 
  48         wait_queue_head_t wait;
 
  49 } bulk_completion_context_t, *pbulk_completion_context_t;
 
  53 #define _DABUSB_ISOPIPE 0x09
 
  54 #define _ISOPIPESIZE    16384
 
  56 #define _BULK_DATA_LEN 64
 
  57 // Vendor specific request code for Anchor Upload/Download
 
  58 // This one is implemented in the core
 
  59 #define ANCHOR_LOAD_INTERNAL  0xA0
 
  61 // EZ-USB Control and Status Register.  Bit 0 controls 8051 reset
 
  62 #define CPUCS_REG    0x7F92
 
  63 #define _TOTAL_BUFFERS 384
 
  65 #define MAX_INTEL_HEX_RECORD_LENGTH 16
 
  69 typedef unsigned char BYTE;
 
  70 #endif // !_BYTE_DEFINED
 
  74 typedef unsigned short WORD;
 
  75 #endif // !_WORD_DEFINED
 
  77 typedef struct _INTEL_HEX_RECORD
 
  82    BYTE  Data[MAX_INTEL_HEX_RECORD_LENGTH];
 
  83 } INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;