home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / drivers / media / video / dabusb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.8 KB  |  86 lines

  1. #define _BULK_DATA_LEN 64
  2. typedef struct
  3. {
  4.     unsigned char data[_BULK_DATA_LEN];
  5.     unsigned int size;
  6.     unsigned int pipe;
  7. }bulk_transfer_t,*pbulk_transfer_t;
  8.  
  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)
  14.  
  15. #ifdef __KERNEL__
  16.  
  17. typedef enum { _stopped=0, _started } driver_state_t;
  18.  
  19. typedef struct
  20. {
  21.     struct mutex mutex;
  22.     struct usb_device *usbdev;
  23.     wait_queue_head_t wait;
  24.     wait_queue_head_t remove_ok;
  25.     spinlock_t lock;
  26.     atomic_t pending_io;
  27.     driver_state_t state;
  28.     int remove_pending;
  29.     int got_mem;
  30.     int total_buffer_size;
  31.     unsigned int overruns;
  32.     int readptr;
  33.     int opened;
  34.     int devnum;
  35.     struct list_head free_buff_list;
  36.     struct list_head rec_buff_list;
  37. } dabusb_t,*pdabusb_t;
  38.  
  39. typedef struct
  40. {
  41.     pdabusb_t s;
  42.     struct urb *purb;
  43.     struct list_head buff_list;
  44. } buff_t,*pbuff_t;
  45.  
  46. typedef struct
  47. {
  48.     wait_queue_head_t wait;
  49. } bulk_completion_context_t, *pbulk_completion_context_t;
  50.  
  51.  
  52. #define _DABUSB_IF 2
  53. #define _DABUSB_ISOPIPE 0x09
  54. #define _ISOPIPESIZE    16384
  55.  
  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
  60.  
  61. // EZ-USB Control and Status Register.  Bit 0 controls 8051 reset
  62. #define CPUCS_REG    0x7F92
  63. #define _TOTAL_BUFFERS 384
  64.  
  65. #define MAX_INTEL_HEX_RECORD_LENGTH 16
  66.  
  67. #ifndef _BYTE_DEFINED
  68. #define _BYTE_DEFINED
  69. typedef unsigned char BYTE;
  70. #endif // !_BYTE_DEFINED
  71.  
  72. #ifndef _WORD_DEFINED
  73. #define _WORD_DEFINED
  74. typedef unsigned short WORD;
  75. #endif // !_WORD_DEFINED
  76.  
  77. typedef struct _INTEL_HEX_RECORD
  78. {
  79.    BYTE  Length;
  80.    WORD  Address;
  81.    BYTE  Type;
  82.    BYTE  Data[MAX_INTEL_HEX_RECORD_LENGTH];
  83. } INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;
  84.  
  85. #endif
  86.