# libraw1394

## version 2.0.4

Copyright © 2001-2009 Andreas Bombe, Dan Maas, Manfred Weihs, and Christian Toegel

Table of Contents
1. Introduction
2. Short Introduction into IEEE 1394
  2.1. Bus Structure
  2.2. Bus Reset
  2.3. Transactions
  2.4. Bus Management
  2.5. Isochronous Transmissions
3. Data Structures and Program Flow
  3.1. Overview
  3.2. Handles
  3.3. Ports
  3.4. The Event Loop
  3.5. Handlers
  3.6. Generation Numbers
  3.7. Error and Success Codes
4. Isochronous Transmission and Reception
  4.1. Overview
  4.2. Initialization
  4.3. Stopping and Starting
  4.4. Receiving Packets
  4.5. Transmitting Packets
  4.6. Shutting down
5. Function Reference
  raw1394_iso_xmit_init -- initialize isochronous transmission
  raw1394_iso_recv_init -- initialize isochronous reception
  raw1394_iso_multichannel_recv_init -- initialize multi-channel iso reception
  raw1394_iso_recv_listen_channel -- listen to a specific channel in multi-channel mode
  raw1394_iso_recv_unlisten_channel -- stop listening to a specific channel in multi-channel mode
  raw1394_iso_recv_set_channel_mask -- listen or unlisten to a whole bunch of channels at once
  raw1394_iso_xmit_start -- begin isochronous transmission
  raw1394_iso_recv_start -- begin isochronous reception
  raw1394_iso_xmit_write -- alternative blocking-write API for ISO transmission
  raw1394_iso_xmit_sync -- wait until all queued packets have been sent
  raw1394_iso_recv_flush -- flush all already received iso packets from kernel into user space
  raw1394_iso_stop -- halt isochronous transmission or reception
  raw1394_iso_shutdown -- clean up and deallocate all resources for isochronous transmission or reception
  raw1394_read_cycle_timer -- get the current value of the cycle timer
  raw1394_get_errcode -- return error code of async transaction
  raw1394_errcode_to_errno -- convert libraw1394 errcode to errno
  raw1394_new_handle -- create new handle
  raw1394_destroy_handle -- deallocate handle
  raw1394_new_handle_on_port -- create a new handle and bind it to a port
  raw1394_busreset_notify -- Switch off/on busreset-notification for handle
  raw1394_get_fd -- get the communication file descriptor
  raw1394_set_userdata -- associate user data with a handle
  raw1394_get_userdata -- retrieve user data from handle
  raw1394_get_local_id -- get node ID of the current port
  raw1394_get_irm_id -- get node ID of isochronous resource manager
  raw1394_get_nodecount -- get number of nodes on the bus
  raw1394_get_port_info -- get information about available ports
  raw1394_set_port -- choose port for handle
  raw1394_reset_bus -- initiate bus reset
  raw1394_reset_bus_new -- Reset the connected bus (with certain type).
  raw1394_loop_iterate -- get and process one event message
  raw1394_set_bus_reset_handler -- set bus reset handler
  raw1394_get_generation -- get generation number of handle
  raw1394_update_generation -- set generation number of handle
  raw1394_set_tag_handler -- set request completion handler
  raw1394_set_arm_tag_handler -- set the async request handler
  raw1394_set_fcp_handler -- set FCP handler
  int -- This is the general request handler
  int -- This is the general arm-request handle
  raw1394_arm_register -- register an AddressRangeMapping
  raw1394_arm_unregister -- unregister an AddressRangeMapping
  raw1394_arm_set_buf -- set the buffer of an AdressRangeMapping
  raw1394_arm_get_buf -- get the buffer of an AdressRangeMapping
  raw1394_echo_request -- send an echo request to the driver
  raw1394_wake_up -- wake up raw1394_loop_iterate
  raw1394_phy_packet_write -- send physical request
  raw1394_start_phy_packet_write -- initiate sending a physical request
  raw1394_start_read -- initiate a read transaction
  raw1394_start_write -- initiate a write transaction
  raw1394_start_lock -- initiate a 32-bit compare-swap lock transaction
  raw1394_start_lock64 -- initiate a 64-bit compare-swap lock transaction
  raw1394_start_async_stream -- initiate asynchronous stream
  raw1394_start_async_send -- send an asynchronous packet
  raw1394_read -- send async read request to a node and wait for response.
  raw1394_write -- send async write request to a node and wait for response.
  raw1394_lock -- send 32-bit compare-swap lock request and wait for response.
  raw1394_lock64 -- send 64-bit compare-swap lock request and wait for response.
  raw1394_async_stream --
  raw1394_async_send --
  raw1394_start_fcp_listen -- enable reception of FCP events
  raw1394_stop_fcp_listen -- disable reception of FCP events
  raw1394_get_libversion -- Returns the version string
  raw1394_update_config_rom -- updates the configuration ROM of a host
  raw1394_get_config_rom -- reads the current version of the configuration ROM of a host
  raw1394_bandwidth_modify -- allocate or release bandwidth
  raw1394_channel_modify -- allocate or release isochronous channel

|  | Next
|  | Introduction