1 #ifndef IEEE1394_RAW1394_PRIVATE_H
 
   2 #define IEEE1394_RAW1394_PRIVATE_H
 
   4 /* header for definitions that are private to the raw1394 driver
 
   5    and not visible to user-space */
 
   7 #define RAW1394_DEVICE_MAJOR      171
 
   8 #define RAW1394_DEVICE_NAME       "raw1394"
 
  10 #define RAW1394_MAX_USER_CSR_DIRS       16
 
  12 struct iso_block_store {
 
  18 enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0,
 
  20                          RAW1394_ISO_XMIT = 2 };
 
  23         struct list_head list;
 
  25         enum { opened, initialized, connected } state;
 
  26         unsigned int protocol_version;
 
  28         struct hpsb_host *host;
 
  30         struct list_head req_pending;
 
  31         struct list_head req_complete;
 
  32         struct semaphore complete_sem;
 
  33         spinlock_t reqlists_lock;
 
  34         wait_queue_head_t poll_wait_complete;
 
  36         struct list_head addr_list;
 
  38         u8 __user *fcp_buffer;
 
  42         quadlet_t __user *iso_buffer;
 
  43         size_t iso_buffer_length;
 
  45         u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
 
  48         enum raw1394_iso_state iso_state;
 
  49         struct hpsb_iso *iso_handle;
 
  51         /* User space's CSR1212 dynamic ConfigROM directories */
 
  52         struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS];
 
  54         /* Legacy ConfigROM update flag */
 
  59         struct list_head addr_list; /* file_info list */
 
  63         u8     notification_options;
 
  64         u8     client_transactions;
 
  67         u8     *addr_space_buffer; /* accessed by read/write/lock */
 
  70 struct pending_request {
 
  71         struct list_head list;
 
  72         struct file_info *file_info;
 
  73         struct hpsb_packet *packet;
 
  74         struct iso_block_store *ibs;
 
  77         struct raw1394_request req;
 
  81         struct list_head list;
 
  82         struct hpsb_host *host;
 
  83         struct list_head file_info_list;
 
  86 #endif  /* IEEE1394_RAW1394_PRIVATE_H */