summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usbdivar.h
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2014-03-06 23:53:11 +0000
committermpi <mpi@openbsd.org>2014-03-06 23:53:11 +0000
commitf7686759cc87b8445d8a17a237d923a8540cfea5 (patch)
tree24408b2e28b1c5dbde2056c138ed6bededa00f48 /sys/dev/usb/usbdivar.h
parentAdd include guards. (diff)
downloadwireguard-openbsd-f7686759cc87b8445d8a17a237d923a8540cfea5.tar.xz
wireguard-openbsd-f7686759cc87b8445d8a17a237d923a8540cfea5.zip
Turn usbd_xfer_isread() into a public function so that we can use
it in various drivers, mainly HC, instead of always rerolling our own.
Diffstat (limited to 'sys/dev/usb/usbdivar.h')
-rw-r--r--sys/dev/usb/usbdivar.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/usb/usbdivar.h b/sys/dev/usb/usbdivar.h
index f099a2cac1f..4602518a384 100644
--- a/sys/dev/usb/usbdivar.h
+++ b/sys/dev/usb/usbdivar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdivar.h,v 1.54 2014/03/06 23:51:04 mpi Exp $ */
+/* $OpenBSD: usbdivar.h,v 1.55 2014/03/06 23:53:11 mpi Exp $ */
/* $NetBSD: usbdivar.h,v 1.70 2002/07/11 21:14:36 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdivar.h,v 1.11 1999/11/17 22:33:51 n_hibma Exp $ */
@@ -282,4 +282,13 @@ void usb_schedsoftintr(struct usbd_bus *);
#define UHUB_UNK_PRODUCT UHUBCF_PRODUCT_DEFAULT /* wildcarded 'product' */
#define UHUB_UNK_RELEASE UHUBCF_RELEASE_DEFAULT /* wildcarded 'release' */
+static inline int
+usbd_xfer_isread(struct usbd_xfer *xfer)
+{
+ if (xfer->rqflags & URQ_REQUEST)
+ return (xfer->request.bmRequestType & UT_READ);
+
+ return (xfer->pipe->endpoint->edesc->bEndpointAddress & UE_DIR_IN);
+}
+
#endif /* _USBDIVAR_H_ */