summaryrefslogtreecommitdiffstats
path: root/src/raw1394.h
diff options
context:
space:
mode:
authorGravatar ddennedy 2002-11-18 07:40:21 +0000
committerGravatar ddennedy 2002-11-18 07:40:21 +0000
commitb9de121a85abef26f07da8d55530964eb9797f17 (patch)
tree7321424534f5afcc1cf3671a9afff9dc567aa443 /src/raw1394.h
parentadded missing arm.c from weihs branch (diff)
merged rawiso branch
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@93 53a565d1-3bb7-0310-b661-cf11e63c67ab
Diffstat (limited to 'src/raw1394.h')
-rw-r--r--src/raw1394.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/raw1394.h b/src/raw1394.h
index c1f7b16..4c317bc 100644
--- a/src/raw1394.h
+++ b/src/raw1394.h
@@ -47,6 +47,66 @@ typedef struct arm_request_response {
struct arm_response *response;
} *arm_request_response_t;
+/* new ISO API */
+
+enum raw1394_iso_speed {
+ RAW1394_ISO_SPEED_100 = 0,
+ RAW1394_ISO_SPEED_200 = 1,
+ RAW1394_ISO_SPEED_400 = 2,
+};
+
+/* return values from xmit/recv handlers */
+
+enum raw1394_iso_disposition {
+ /* continue on to the next packet */
+ RAW1394_ISO_OK = 0,
+
+ /* no error, but return from raw1394_loop_iterate() immediately */
+ RAW1394_ISO_DEFER = 1,
+
+ /* return from raw1394_loop_iterate() immediately, which will return an error */
+ RAW1394_ISO_ERROR = 2,
+};
+
+typedef int (*raw1394_iso_xmit_handler_t)(raw1394handle_t,
+ unsigned char *data,
+ unsigned int *len,
+ unsigned char *tag,
+ unsigned char *sy,
+ unsigned int cycle,
+ unsigned int dropped);
+
+typedef int (*raw1394_iso_recv_handler_t)(raw1394handle_t,
+ unsigned char *data,
+ unsigned int len,
+ unsigned char channel,
+ unsigned char tag,
+ unsigned char sy,
+ unsigned int cycle,
+ unsigned int dropped);
+
+int raw1394_iso_xmit_init(raw1394handle_t handle,
+ raw1394_iso_xmit_handler_t handler,
+ unsigned int buf_packets,
+ unsigned int max_packet_size,
+ int channel,
+ enum raw1394_iso_speed speed,
+ int irq_interval);
+
+int raw1394_iso_recv_init(raw1394handle_t handle,
+ raw1394_iso_recv_handler_t handler,
+ unsigned int buf_packets,
+ unsigned int max_packet_size,
+ int channel,
+ int irq_interval);
+
+
+int raw1394_iso_xmit_start(raw1394handle_t handle, int start_on_cycle, int prebuffer_packets);
+int raw1394_iso_recv_start(raw1394handle_t handle, int start_on_cycle);
+
+void raw1394_iso_stop(raw1394handle_t handle);
+void raw1394_iso_shutdown(raw1394handle_t handle);
+
#ifdef __cplusplus
extern "C" {
#endif
;follow=1'>Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@24 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@23 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@22 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@21 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@20 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@19 53a565d1-3bb7-0310-b661-cf11e63c67ab