summaryrefslogtreecommitdiff
path: root/sys/src/cmd/nusb/lib/usb.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2021-02-10 20:08:13 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2021-02-10 20:08:13 +0100
commit2f28aaac65b4dde059f393222bfd2f939d83f9f5 (patch)
tree3767e9061c1c2e39860b580005e8e9cdd59e7922 /sys/src/cmd/nusb/lib/usb.h
parentd7ade692c8c3c96bae6828f63afb1b19765b5589 (diff)
nusb: don't create rw iso endpoints (by Michael Forney)
There may be two iso endpoints with the same ID if it is asynchronous or adaptive (one for data, one for feedback), and rw iso endpoints are unusable (error out with "iso i/o is half-duplex").
Diffstat (limited to 'sys/src/cmd/nusb/lib/usb.h')
-rw-r--r--sys/src/cmd/nusb/lib/usb.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/src/cmd/nusb/lib/usb.h b/sys/src/cmd/nusb/lib/usb.h
index 6a0f790ad..9abf2a9f4 100644
--- a/sys/src/cmd/nusb/lib/usb.h
+++ b/sys/src/cmd/nusb/lib/usb.h
@@ -116,6 +116,11 @@ enum {
Eadapt = 2,
Esync = 3,
+ /* endpoint isousage */
+ Edata = 0,
+ Efeedback = 1,
+ Eimplicit = 2,
+
/* config attrib */
Cbuspowered = 1<<7,
Cselfpowered = 1<<6,
@@ -209,7 +214,9 @@ struct Ep
uchar addr; /* endpt address, 0-15 (|0x80 if Ein) */
uchar dir; /* direction, Ein/Eout */
uchar type; /* Econtrol, Eiso, Ebulk, Eintr */
- uchar isotype; /* Eunknown, Easync, Eadapt, Esync */
+ uchar isotype; /* Eunknown, Easync, Eadapt, Esync */
+ uchar isousage; /* Edata, Efeedback, Eimplicit */
+
int id;
int maxpkt; /* max. packet size */
int ntds; /* nb. of Tds per µframe */