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;   /* protected by reqlists_lock */
 
  31         struct list_head req_complete;  /* protected by reqlists_lock */
 
  32         spinlock_t reqlists_lock;
 
  33         wait_queue_head_t wait_complete;
 
  35         struct list_head addr_list;     /* protected by host_info_lock */
 
  37         u8 __user *fcp_buffer;
 
  39         u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
 
  42         enum raw1394_iso_state iso_state;
 
  43         struct hpsb_iso *iso_handle;
 
  45         /* User space's CSR1212 dynamic ConfigROM directories */
 
  46         struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS];
 
  48         /* Legacy ConfigROM update flag */
 
  53         struct list_head addr_list; /* file_info list */
 
  57         u8     notification_options;
 
  58         u8     client_transactions;
 
  61         u8     *addr_space_buffer; /* accessed by read/write/lock requests */
 
  64 struct pending_request {
 
  65         struct list_head list;
 
  66         struct file_info *file_info;
 
  67         struct hpsb_packet *packet;
 
  68         struct iso_block_store *ibs;
 
  71         struct raw1394_request req;
 
  75         struct list_head list;
 
  76         struct hpsb_host *host;
 
  77         struct list_head file_info_list;  /* protected by host_info_lock */
 
  80 #endif  /* IEEE1394_RAW1394_PRIVATE_H */