[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] OS/X USRP Compilation Error
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] OS/X USRP Compilation Error |
Date: |
Fri, 9 Jan 2004 23:20:27 -0800 |
User-agent: |
Mutt/1.4.1i |
On Fri, Jan 09, 2004 at 03:12:49PM -0800, Darrin Eden wrote:
> Hey Gnu Radio Heads,
>
> While compiling USRP code on OS/X I'm running into "fusb.h:32: error:
> forward declaration of `struct usbdevfs_urb'" in usrp/host/lib/fusb.h.
>
> It appears usbdevfs_urb is a Linux thang in
> include/linux/usbdevice_fs.h. I haven't been able to locate the same in
> the libusb code-base or elsewhere.
>
> Thoughts?
>
> Thanks,
> Darrin
include/linux/usbdevice_fs.h is a (very) linux specific include file
which defines a magic user mode interface to USB kernel land. It
allows us to have multiple USB request blocks (URB's) in flight
concurrently. It's used in the "Fast USB" code (fusb.{h,cc}).
Under OS/X, you'll probably need to come up with something else,
unless the default implementation of libusb is fast enough.
The right answer is probably to have fusb.h be an abstract class, and
then have separate concrete subclasses for each platform. E.g., linux
and OS/X.
I'll do the refactoring over the weekend. At a first cut we could
have one subclass that just used the standard libusb stuff (e.g.,
usb_bulk_write), and a second that uses the usbdevice_fs.h stuff.
Assuming that the OS/X libusb implementation is workable, that should
get you on the air, if not up to speed. You may need to come up with
another subclass that uses appropriate OS/X magic.
Eric