summaryrefslogtreecommitdiffstats
path: root/src/raw1394.h
diff options
context:
space:
mode:
authorGravatar abombe 2000-02-04 23:20:17 +0000
committerGravatar abombe 2000-02-04 23:20:17 +0000
commit9eb8df1247c1f573e9c28644a2457d89ddc0459d (patch)
treedcba8a50d61c3e72a4e0907dba143eff372b1525 /src/raw1394.h
parentAdded dev target to Makefile (diff)
Changed iso rcv handling to separate handlers per channel.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@6 53a565d1-3bb7-0310-b661-cf11e63c67ab
Diffstat (limited to 'src/raw1394.h')
-rw-r--r--src/raw1394.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/raw1394.h b/src/raw1394.h
index 849369e..9cf4c34 100644
--- a/src/raw1394.h
+++ b/src/raw1394.h
@@ -90,13 +90,18 @@ tag_handler_t raw1394_set_tag_handler(raw1394handle_t handle,
/*
* Set the handler that will be called when an iso packet arrives (data points
- * to the iso packet header). The default action is to do nothing. Returns old
- * handler.
+ * to the iso packet header). The default action is to do nothing.
+ *
+ * Handlers have to be set separately for each channel, it is not possible to
+ * set a handler when there is already one set for that channel. Handlers can
+ * be cleared by passing NULL for "new" parameter, in that case the old handler
+ * will be returned. Otherwise the return value is NULL for success and -1 for
+ * failure.
*/
typedef int (*iso_handler_t)(raw1394handle_t, int channel, size_t length,
quadlet_t *data);
iso_handler_t raw1394_set_iso_handler(raw1394handle_t handle,
- iso_handler_t new);
+ unsigned int channel, iso_handler_t new);
/*