aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/usb_compat_linux.h
diff options
context:
space:
mode:
authorAndrew Thompson <thompsa@FreeBSD.org>2009-11-01 21:48:18 +0000
committerAndrew Thompson <thompsa@FreeBSD.org>2009-11-01 21:48:18 +0000
commit0f92028501be24c4dada1bbf9ba7b54f4a5a78c3 (patch)
tree37a3a245ec1841c59f644e449a09e3456f60a109 /sys/dev/usb/usb_compat_linux.h
parentbb9c7a8b22acbcb1792b7bdec6fd7ee47fdbff80 (diff)
downloadsrc-0f92028501be24c4dada1bbf9ba7b54f4a5a78c3.tar.gz
src-0f92028501be24c4dada1bbf9ba7b54f4a5a78c3.zip
- Add usb_fill_bulk_urb() and usb_bulk_msg() linux compat functions [1]
- Don't write actual length if the actual length pointer is NULL [2] - correct Linux Compatibility error codes for short isochronous IN transfers and make status field signed. Submitted by: Leunam Elebek [1], Manuel Gebele [2]
Notes
Notes: svn path=/head/; revision=198776
Diffstat (limited to 'sys/dev/usb/usb_compat_linux.h')
-rw-r--r--sys/dev/usb/usb_compat_linux.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_compat_linux.h b/sys/dev/usb/usb_compat_linux.h
index 25a5bfb5d1e3..1f00d4b4addc 100644
--- a/sys/dev/usb/usb_compat_linux.h
+++ b/sys/dev/usb/usb_compat_linux.h
@@ -217,7 +217,7 @@ struct usb_iso_packet_descriptor {
* packets are usually back to back) */
uint16_t length; /* expected length */
uint16_t actual_length;
- uint16_t status;
+ int16_t status; /* transfer status */
};
/*
@@ -299,6 +299,11 @@ void usb_set_intfdata(struct usb_interface *intf, void *data);
void usb_linux_register(void *arg);
void usb_linux_deregister(void *arg);
+void usb_fill_bulk_urb(struct urb *, struct usb_device *,
+ struct usb_host_endpoint *, void *, int, usb_complete_t, void *);
+int usb_bulk_msg(struct usb_device *, struct usb_host_endpoint *,
+ void *, int, uint16_t *, usb_timeout_t);
+
#define interface_to_usbdev(intf) (intf)->linux_udev
#define interface_to_bsddev(intf) (intf)->linux_udev