The latest version of libforensic1394 can be found at: https://freddie.witherden.org/tools/libforensic1394/
This API gives you access to the FireWire bus of contemporary operating systems in order to facilitate digital forensics on an attached device. Unlike existing APIs Forensic1394 is:
By omitting features not required in forensic applications (such as isochronous transfers) the API is both simple to use and port. For example the memory of an attached device can be read using the following code:
forensic1394_bus *bus; forensic1394_dev **dev; char data[512]; // Allocate a bus handle bus = forensic1394_alloc(); assert(bus); // Enabls SBP-2; required for memory access to some systems forensic1394_enable_sbp2(bus); // Give the bus time to reinitialise sleep(2); // Get the devices attached to the systen dev = forensic1394_get_devices(bus, NULL, NULL); assert(dev); // Open the first device forensic1394_open_device(dev[0]); // Read some memory from the device forensic1394_read_device(dev[0], 50 * 1024 * 1024, 512, data); // Data now contains 512 bytes of memory starting at an offset of 50MiB // Close the device and destroy the bus forensic1394_close_device(dev[0]); forensic1394_destroy(bus);