I asked - > Something about debian sid broke compilation of fusb_linux.cc > badly. My guess is that something subtle but important changed > about the kernel/user header boundary. [chop] > I'm researching the problem now, but would appreciate any hints > from people who have already seen this. It works fine in debian > sarge.
I have my code compiling, but it required major surgery.
I haven't tested its operation yet, but I'm optimistic.
The libusb folks maintain a libusb/linux.h that parallels
the kernel-space linux/usbdevice_fs.h, but is designed to
be used by user-space programs. So I grabbed a copy of
that (and called it libusb_linux.h), and #include it instead.
Then I had to work around differences in name space. My quick
hack added a half-dozen #defines to fusb_linux.cc. A proper
renaming in fusb_linux.h and fusb_linux.cc would touch 61 lines.
Complete patch appended. Comments?
- Larry
--- /home/ldoolitt/cvs/usrp/host/lib/fusb_linux.cc 2005-09-08
08:34:57.000000000 -0700
+++ fusb_linux.cc 2005-09-08 10:57:50.000000000 -0700
@@ -24,11 +24,20 @@
#include "config.h"
#endif
+#define usbdevfs_urb usb_urb
+#define USBDEVFS_URB_TYPE_BULK USB_URB_TYPE_BULK
+#define USBDEVFS_SUBMITURB IOCTL_USB_SUBMITURB
+#define USBDEVFS_DISCARDURB IOCTL_USB_DISCARDURB
+#define USBDEVFS_REAPURB IOCTL_USB_REAPURB
+#define USBDEVFS_REAPURBNDELAY IOCTL_USB_REAPURBNDELAY
+
#include <fusb_linux.h>
#include <usb.h> // libusb header
#include <stdexcept>
#include <linux/compiler.h>
-#include <linux/usbdevice_fs.h> // interface to kernel portion of user
mode usb driver
+// #include <linux/usbdevice_fs.h> // interface to kernel portion of user
mode usb driver
+#include <sys/types.h>
+#include "libusb_linux.h"
#include <sys/ioctl.h>
#include <assert.h>
#include <string.h>
@@ -403,7 +412,7 @@
}
if (d_free_list.size () != (unsigned) d_nblocks)
- fprintf (stderr, "d_free_list.size () = %d, d_nblocks = %d\n",
+ fprintf (stderr, "d_free_list.size () = %zd, d_nblocks = %d\n",
d_free_list.size (), d_nblocks);
assert (d_free_list.size () == (unsigned) d_nblocks);
signature.asc
Description: Digital signature
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
