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 struct iso_block_store {
16 enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0,
18 RAW1394_ISO_XMIT = 2 };
21 struct list_head list;
23 enum { opened, initialized, connected } state;
24 unsigned int protocol_version;
26 struct hpsb_host *host;
28 struct list_head req_pending;
29 struct list_head req_complete;
30 struct semaphore complete_sem;
31 spinlock_t reqlists_lock;
32 wait_queue_head_t poll_wait_complete;
34 struct list_head addr_list;
40 quadlet_t *iso_buffer;
41 size_t iso_buffer_length;
43 u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
46 enum raw1394_iso_state iso_state;
47 struct hpsb_iso *iso_handle;
51 struct list_head addr_list; /* file_info list */
55 u8 notification_options;
56 u8 client_transactions;
59 u8 *addr_space_buffer; /* accessed by read/write/lock */
62 struct pending_request {
63 struct list_head list;
64 struct file_info *file_info;
65 struct hpsb_packet *packet;
66 struct iso_block_store *ibs;
69 struct raw1394_request req;
73 struct list_head list;
74 struct hpsb_host *host;
75 struct list_head file_info_list;
78 #endif /* IEEE1394_RAW1394_PRIVATE_H */