summaryrefslogtreecommitdiffstats
path: root/src/kernel-raw1394.h
diff options
context:
space:
mode:
authorGravatar anonymous 2002-12-20 07:26:18 +0000
committerGravatar anonymous 2002-12-20 07:26:18 +0000
commit81c7e9949919963483b1af1426eb64e84cbb2f29 (patch)
tree6759b6448b104b925dff14ad36f88d397fb566e6 /src/kernel-raw1394.h
parentrawiso updates: (diff)
dmaas - renamed exported arm definitions into the raw1394_ namespace; brought kernel-raw1394.h back in sync with the kernel version
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@96 53a565d1-3bb7-0310-b661-cf11e63c67ab
Diffstat (limited to 'src/kernel-raw1394.h')
-rw-r--r--src/kernel-raw1394.h144
1 files changed, 34 insertions, 110 deletions
diff --git a/src/kernel-raw1394.h b/src/kernel-raw1394.h
index 24d00c9..b138810 100644
--- a/src/kernel-raw1394.h
+++ b/src/kernel-raw1394.h
@@ -1,8 +1,7 @@
#ifndef IEEE1394_RAW1394_H
#define IEEE1394_RAW1394_H
-#define RAW1394_DEVICE_MAJOR 171
-#define RAW1394_DEVICE_NAME "raw1394"
+/* header for the raw1394 API that is exported to user-space */
#define RAW1394_KERNELAPI_VERSION 4
@@ -36,11 +35,11 @@
#define RAW1394_REQ_PHYPACKET 500
/* kernel to user */
-#define RAW1394_REQ_BUS_RESET 10000
-#define RAW1394_REQ_ISO_RECEIVE 10001
-#define RAW1394_REQ_FCP_REQUEST 10002
-#define RAW1394_REQ_ARM 10003
-#define RAW1394_REQ_RAWISO_ACTIVITY 10004
+#define RAW1394_REQ_BUS_RESET 10000
+#define RAW1394_REQ_ISO_RECEIVE 10001
+#define RAW1394_REQ_FCP_REQUEST 10002
+#define RAW1394_REQ_ARM 10003
+#define RAW1394_REQ_RAWISO_ACTIVITY 10004
/* error codes */
#define RAW1394_ERROR_NONE 0
@@ -93,23 +92,22 @@ struct raw1394_khost_list {
__u8 name[32];
};
-/* moved to raw1394.h to make it available to applications
typedef struct arm_request {
- nodeid_t destination_nodeid;
- nodeid_t source_nodeid;
- nodeaddr_t destination_offset;
- u8 tlabel;
- u8 tcode;
- u_int8_t extended_transaction_code;
- u_int32_t generation;
- arm_length_t buffer_length;
- byte_t *buffer;
+ __u16 destination_nodeid;
+ __u16 source_nodeid;
+ __u64 destination_offset;
+ __u8 tlabel;
+ __u8 tcode;
+ __u8 extended_transaction_code;
+ __u32 generation;
+ __u16 buffer_length;
+ __u8 *buffer;
} *arm_request_t;
typedef struct arm_response {
- int response_code;
- arm_length_t buffer_length;
- byte_t *buffer;
+ __s32 response_code;
+ __u16 buffer_length;
+ __u8 *buffer;
} *arm_response_t;
typedef struct arm_request_response {
@@ -117,8 +115,6 @@ typedef struct arm_request_response {
struct arm_response *response;
} *arm_request_response_t;
-*/
-
/* rawiso API */
/* ioctls */
@@ -135,19 +131,19 @@ typedef struct arm_request_response {
/* per-packet metadata embedded in the ringbuffer */
/* must be identical to hpsb_iso_packet_info in iso.h! */
struct raw1394_iso_packet_info {
- unsigned short len;
- unsigned short cycle;
- unsigned char channel; /* recv only */
- unsigned char tag;
- unsigned char sy;
+ __u16 len;
+ __u16 cycle;
+ __u8 channel; /* recv only */
+ __u8 tag;
+ __u8 sy;
};
struct raw1394_iso_config {
- unsigned int buf_packets;
- unsigned int max_packet_size;
- int channel;
- int speed; /* xmit only */
- int irq_interval;
+ __u32 buf_packets;
+ __u32 max_packet_size;
+ __u32 channel;
+ __u32 speed; /* xmit only */
+ __u32 irq_interval;
};
/* argument to RAW1394_ISO_XMIT/RECV_INIT and RAW1394_ISO_GET_STATUS */
@@ -156,98 +152,26 @@ struct raw1394_iso_status {
struct raw1394_iso_config config;
/* byte offset between successive packets in the buffer */
- int buf_stride;
+ __s32 buf_stride;
/* byte offset of data payload within each packet */
- int packet_data_offset;
+ __s32 packet_data_offset;
/* byte offset of struct iso_packet_info within each packet */
- int packet_info_offset;
+ __s32 packet_info_offset;
/* index of next packet to fill with data (ISO transmission)
or next packet containing data recieved (ISO reception) */
- unsigned int first_packet;
+ __u32 first_packet;
/* number of packets waiting to be filled with data (ISO transmission)
or containing data received (ISO reception) */
- unsigned int n_packets;
+ __u32 n_packets;
/* approximate number of packets dropped due to overflow or
underflow of the packet buffer (a value of zero guarantees
that no packets have been dropped) */
- unsigned int overflows;
-};
-
-#ifdef __KERNEL__
-
-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 *fcp_buffer;
-
- /* old ISO API */
- u64 listen_channels;
- quadlet_t *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;
-};
-
-struct arm_addr {
- struct list_head addr_list; /* file_info list */
- u64 start, end;
- u64 arm_tag;
- u8 notification_options;
- u8 access_rights;
- u64 recvb;
- u16 rec_length;
- u8 *addr_space_buffer; /* accessed by read/write/lock */
+ __u32 overflows;
};
-struct pending_request {
- struct list_head list;
- struct file_info *file_info;
- struct hpsb_packet *packet;
-/* struct tq_struct tq; */
- 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 /* __KERNEL__ */
-
#endif /* IEEE1394_RAW1394_H */