1#ifndef IEEE1394_RAW1394_PRIVATE_H 2#define IEEE1394_RAW1394_PRIVATE_H 3 4/* header for definitions that are private to the raw1394 driver 5 and not visible to user-space */ 6 7#define RAW1394_DEVICE_MAJOR 171 8#define RAW1394_DEVICE_NAME "raw1394" 9 10#define RAW1394_MAX_USER_CSR_DIRS 16 11 12struct iso_block_store { 13 atomic_t refcount; 14 size_t data_size; 15 quadlet_t data[0]; 16}; 17 18enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0, 19 RAW1394_ISO_RECV = 1, 20 RAW1394_ISO_XMIT = 2 }; 21 22struct file_info { 23 struct list_head list; 24 25 enum { opened, initialized, connected } state; 26 unsigned int protocol_version; 27 28 struct hpsb_host *host; 29 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; 35 36 struct list_head addr_list; 37 38 u8 __user *fcp_buffer; 39 40 /* old ISO API */ 41 u64 listen_channels; 42 quadlet_t __user *iso_buffer; 43 size_t iso_buffer_length; 44 45 u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */ 46 47 /* new rawiso API */ 48 enum raw1394_iso_state iso_state; 49 struct hpsb_iso *iso_handle; 50 51 /* User space's CSR1212 dynamic ConfigROM directories */ 52 struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS]; 53 54 /* Legacy ConfigROM update flag */ 55 u8 cfgrom_upd; 56}; 57 58struct arm_addr { 59 struct list_head addr_list; /* file_info list */ 60 u64 start, end; 61 u64 arm_tag; 62 u8 access_rights; 63 u8 notification_options; 64 u8 client_transactions; 65 u64 recvb; 66 u16 rec_length; 67 u8 *addr_space_buffer; /* accessed by read/write/lock */ 68}; 69 70struct pending_request { 71 struct list_head list; 72 struct file_info *file_info; 73 struct hpsb_packet *packet; 74 struct iso_block_store *ibs; 75 quadlet_t *data; 76 int free_data; 77 struct raw1394_request req; 78}; 79 80struct host_info { 81 struct list_head list; 82 struct hpsb_host *host; 83 struct list_head file_info_list; 84}; 85 86#endif /* IEEE1394_RAW1394_PRIVATE_H */ 87

