summaryrefslogtreecommitdiffstats
path: root/src/eventloop.c
diff options
context:
space:
mode:
authorGravatar aeb 2000-08-08 00:29:08 +0000
committerGravatar aeb 2000-08-08 00:29:08 +0000
commit1a91281532f25b2109b02d5560d1c4605dd20183 (patch)
tree3b162f5bcde6178074834242c6a9f02e837aa8db /src/eventloop.c
parentAdded support for isochronous sending. (diff)
Added raw1394_get_irm_id().
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@35 53a565d1-3bb7-0310-b661-cf11e63c67ab
Diffstat (limited to 'src/eventloop.c')
-rw-r--r--src/eventloop.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/eventloop.c b/src/eventloop.c
index 5a47fc4..813acb4 100644
--- a/src/eventloop.c
+++ b/src/eventloop.c
@@ -28,8 +28,15 @@ int raw1394_loop_iterate(struct raw1394_handle *handle)
switch (req->type) {
case RAW1394_REQ_BUS_RESET:
handle->generation = req->generation;
- handle->num_of_nodes = req->misc & 0xffff;
- handle->local_id = req->misc >> 16;
+
+ if (handle->protocol_version == 3) {
+ handle->num_of_nodes = req->misc & 0xffff;
+ handle->local_id = req->misc >> 16;
+ } else {
+ handle->num_of_nodes = req->misc & 0xff;
+ handle->irm_id = ((req->misc >> 8) & 0xff) | 0xffc0;
+ handle->local_id = req->misc >> 16;
+ }
if (handle->bus_reset_handler) {
retval = handle->bus_reset_handler(handle);