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
avatar' /> aeb 7-7/+39 2000-08-06Added support for isochronous sending.Gravatar aeb 3-0/+35 2000-07-05Added raw1394_reset_bus() call.Gravatar aeb 4-0/+23 2000-06-22- Set library version info in configure.in, use in src/Makefile.am.Gravatar aeb 4-2/+16 2000-06-15Update libtool version number.Gravatar aeb 2-2/+2 2000-06-14Added copyright headers.Gravatar aeb 6-0/+54 2000-06-11Added explicit AC_PROG_INSTALL call.Gravatar aeb 1-0/+1 2000-06-09Fix size of error field.Gravatar aeb 1-2/+2 2000-06-02Modified support for 32/64 bit environments, control struct fields have fixed...Gravatar aeb 7-43/+28 2000-05-28Added support for environments with 64 bit kernel and 32 bit userland.Gravatar aeb 8-7/+45 2000-04-27Fixed missing setting of ext code in raw1394_start_lock()Gravatar aeb 1-0/+1 2000-04-15Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5