1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef IEEE1394_RAW1394_PRIVATE_H
- #define IEEE1394_RAW1394_PRIVATE_H
- /* header for definitions that are private to the raw1394 driver
- and not visible to user-space */
- #define RAW1394_DEVICE_MAJOR 171
- #define RAW1394_DEVICE_NAME "raw1394"
- #define RAW1394_MAX_USER_CSR_DIRS 16
- struct iso_block_store {
- atomic_t refcount;
- size_t data_size;
- quadlet_t data[0];
- };
- enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0,
- RAW1394_ISO_RECV = 1,
- RAW1394_ISO_XMIT = 2 };
- struct file_info {
- struct list_head list;
- enum { opened, initialized, connected } state;
- unsigned int protocol_version;
- struct hpsb_host *host;
- struct list_head req_pending;
- struct list_head req_complete;
- struct semaphore complete_sem;
- spinlock_t reqlists_lock;
- wait_queue_head_t poll_wait_complete;
- struct list_head addr_list;
- u8 __user *fcp_buffer;
- /* old ISO API */
- u64 listen_channels;
- quadlet_t __user *iso_buffer;
- size_t iso_buffer_length;
- u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
- /* new rawiso API */
- enum raw1394_iso_state iso_state;
- struct hpsb_iso *iso_handle;
- /* User space's CSR1212 dynamic ConfigROM directories */
- struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS];
- /* Legacy ConfigROM update flag */
- u8 cfgrom_upd;
- };
- struct arm_addr {
- struct list_head addr_list; /* file_info list */
- u64 start, end;
- u64 arm_tag;
- u8 access_rights;
- u8 notification_options;
- u8 client_transactions;
- u64 recvb;
- u16 rec_length;
- u8 *addr_space_buffer; /* accessed by read/write/lock */
- };
- struct pending_request {
- struct list_head list;
- struct file_info *file_info;
- struct hpsb_packet *packet;
- struct iso_block_store *ibs;
- quadlet_t *data;
- int free_data;
- struct raw1394_request req;
- };
- struct host_info {
- struct list_head list;
- struct hpsb_host *host;
- struct list_head file_info_list;
- };
- #endif /* IEEE1394_RAW1394_PRIVATE_H */
|