Only use the new usb structure names if the version of FreeBSD being

used to compile libusb has them, otherwise use the old names.
This commit is contained in:
Josef Karthauser 2002-03-11 13:46:09 +00:00
parent 9d0199a95c
commit 8a1046673f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=55864

View File

@ -1,66 +1,92 @@
--- bsd.orig Sun Mar 3 09:58:41 2002
+++ bsd.c Sun Mar 3 10:03:56 2002
@@ -151,8 +151,8 @@
--- bsd.c.orig Thu Feb 7 06:43:25 2002
+++ bsd.c Mon Mar 11 13:39:50 2002
@@ -34,6 +34,7 @@
#include <assert.h>
#include <sys/time.h>
#include <sys/ioctl.h>
+#include <sys/param.h>
#include <dev/usb/usb.h>
@@ -151,8 +152,13 @@
if (dev->interface < 0)
USB_ERROR(-EINVAL);
- intf.interface_index = dev->interface;
- intf.alt_no = alternate;
+#if (__FreeBSD_version > 50000 && __FreeBSD_version < 500031) || (__FreeBSD_version < 450001)
intf.interface_index = dev->interface;
intf.alt_no = alternate;
+#else
+ intf.uai_interface_index = dev->interface;
+ intf.uai_alt_no = alternate;
+#endif
ret = ioctl(dev->fd, USB_SET_ALTINTERFACE, &intf);
if (ret < 0)
@@ -284,14 +284,14 @@
@@ -284,6 +290,7 @@
fprintf(stderr, "usb_control_msg: %d %d %d %d %p %d %d\n",
requesttype, request, value, index, bytes, size, timeout);
- req.request.bmRequestType = requesttype;
- req.request.bRequest = request;
- USETW(req.request.wValue, value);
- USETW(req.request.wIndex, index);
- USETW(req.request.wLength, size);
+#if (__FreeBSD_version > 50000 && __FreeBSD_version < 500031) || (__FreeBSD_version < 450001)
req.request.bmRequestType = requesttype;
req.request.bRequest = request;
USETW(req.request.wValue, value);
@@ -292,6 +299,16 @@
req.data = bytes;
req.flags = 0;
+#else
+ req.ucr_request.bmRequestType = requesttype;
+ req.ucr_request.bRequest = request;
+ USETW(req.ucr_request.wValue, value);
+ USETW(req.ucr_request.wIndex, index);
+ USETW(req.ucr_request.wLength, size);
- req.data = bytes;
- req.flags = 0;
+
+ req.ucr_data = bytes;
+ req.ucr_flags = 0;
+#endif
ret = ioctl(dev->fd, USB_SET_TIMEOUT, &timeout);
if (ret < 0)
@@ -303,7 +303,7 @@
@@ -303,7 +320,11 @@
USB_ERROR_STR(ret, "error sending control message: %s",
strerror(errno));
- return UGETW(req.request.wLength);
+#if (__FreeBSD_version > 50000 && __FreeBSD_version < 500031) || (__FreeBSD_version < 450001)
return UGETW(req.request.wLength);
+#else
+ return UGETW(req.ucr_request.wLength);
+#endif
}
int usb_find_devices_on_bus(struct usb_bus *bus)
@@ -321,18 +321,18 @@
@@ -321,18 +342,30 @@
struct usb_device *dev;
char buf[20];
- di.addr = device;
+#if (__FreeBSD_version > 50000 && __FreeBSD_version < 500031) || (__FreeBSD_version < 450001)
di.addr = device;
+#else
+ di.udi_addr = device;
+#endif
if (ioctl(cfd, USB_DEVICEINFO, &di) < 0)
continue;
/* There's a device; is it one we should mess with? */
- if (strncmp(di.devnames[0], "ugen", 4) != 0)
+#if (__FreeBSD_version > 50000 && __FreeBSD_version < 500031) || (__FreeBSD_version < 450001)
if (strncmp(di.devnames[0], "ugen", 4) != 0)
+#else
+ if (strncmp(di.udi_devnames[0], "ugen", 4) != 0)
+#endif
/* best not to play with things we don't understand */
continue;
#if __FreeBSD__
- snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.devnames[0]);
+#if (__FreeBSD_version > 50000 && __FreeBSD_version < 500031) || (__FreeBSD_version < 450001)
snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.devnames[0]);
+#else
+ snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.udi_devnames[0]);
+#endif
#else
snprintf(buf, sizeof(buf) - 1, "/dev/%s.00", di.devnames[0]);
#endif