xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/usbdevice_fs.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_USBDEVICE_FS_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_USBDEVICE_FS_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/magic.h>
11*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_ctrltransfer {
12*8d67ca89SAndroid Build Coastguard Worker   __u8 bRequestType;
13*8d67ca89SAndroid Build Coastguard Worker   __u8 bRequest;
14*8d67ca89SAndroid Build Coastguard Worker   __u16 wValue;
15*8d67ca89SAndroid Build Coastguard Worker   __u16 wIndex;
16*8d67ca89SAndroid Build Coastguard Worker   __u16 wLength;
17*8d67ca89SAndroid Build Coastguard Worker   __u32 timeout;
18*8d67ca89SAndroid Build Coastguard Worker   void  * data;
19*8d67ca89SAndroid Build Coastguard Worker };
20*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_bulktransfer {
21*8d67ca89SAndroid Build Coastguard Worker   unsigned int ep;
22*8d67ca89SAndroid Build Coastguard Worker   unsigned int len;
23*8d67ca89SAndroid Build Coastguard Worker   unsigned int timeout;
24*8d67ca89SAndroid Build Coastguard Worker   void  * data;
25*8d67ca89SAndroid Build Coastguard Worker };
26*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_setinterface {
27*8d67ca89SAndroid Build Coastguard Worker   unsigned int interface;
28*8d67ca89SAndroid Build Coastguard Worker   unsigned int altsetting;
29*8d67ca89SAndroid Build Coastguard Worker };
30*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_disconnectsignal {
31*8d67ca89SAndroid Build Coastguard Worker   unsigned int signr;
32*8d67ca89SAndroid Build Coastguard Worker   void  * context;
33*8d67ca89SAndroid Build Coastguard Worker };
34*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_MAXDRIVERNAME 255
35*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_getdriver {
36*8d67ca89SAndroid Build Coastguard Worker   unsigned int interface;
37*8d67ca89SAndroid Build Coastguard Worker   char driver[USBDEVFS_MAXDRIVERNAME + 1];
38*8d67ca89SAndroid Build Coastguard Worker };
39*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_connectinfo {
40*8d67ca89SAndroid Build Coastguard Worker   unsigned int devnum;
41*8d67ca89SAndroid Build Coastguard Worker   unsigned char slow;
42*8d67ca89SAndroid Build Coastguard Worker };
43*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_conninfo_ex {
44*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
45*8d67ca89SAndroid Build Coastguard Worker   __u32 busnum;
46*8d67ca89SAndroid Build Coastguard Worker   __u32 devnum;
47*8d67ca89SAndroid Build Coastguard Worker   __u32 speed;
48*8d67ca89SAndroid Build Coastguard Worker   __u8 num_ports;
49*8d67ca89SAndroid Build Coastguard Worker   __u8 ports[7];
50*8d67ca89SAndroid Build Coastguard Worker };
51*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_SHORT_NOT_OK 0x01
52*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_ISO_ASAP 0x02
53*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_BULK_CONTINUATION 0x04
54*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_NO_FSBR 0x20
55*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_ZERO_PACKET 0x40
56*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_NO_INTERRUPT 0x80
57*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_TYPE_ISO 0
58*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_TYPE_INTERRUPT 1
59*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_TYPE_CONTROL 2
60*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_URB_TYPE_BULK 3
61*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_iso_packet_desc {
62*8d67ca89SAndroid Build Coastguard Worker   unsigned int length;
63*8d67ca89SAndroid Build Coastguard Worker   unsigned int actual_length;
64*8d67ca89SAndroid Build Coastguard Worker   unsigned int status;
65*8d67ca89SAndroid Build Coastguard Worker };
66*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_urb {
67*8d67ca89SAndroid Build Coastguard Worker   unsigned char type;
68*8d67ca89SAndroid Build Coastguard Worker   unsigned char endpoint;
69*8d67ca89SAndroid Build Coastguard Worker   int status;
70*8d67ca89SAndroid Build Coastguard Worker   unsigned int flags;
71*8d67ca89SAndroid Build Coastguard Worker   void  * buffer;
72*8d67ca89SAndroid Build Coastguard Worker   int buffer_length;
73*8d67ca89SAndroid Build Coastguard Worker   int actual_length;
74*8d67ca89SAndroid Build Coastguard Worker   int start_frame;
75*8d67ca89SAndroid Build Coastguard Worker   union {
76*8d67ca89SAndroid Build Coastguard Worker     int number_of_packets;
77*8d67ca89SAndroid Build Coastguard Worker     unsigned int stream_id;
78*8d67ca89SAndroid Build Coastguard Worker   };
79*8d67ca89SAndroid Build Coastguard Worker   int error_count;
80*8d67ca89SAndroid Build Coastguard Worker   unsigned int signr;
81*8d67ca89SAndroid Build Coastguard Worker   void  * usercontext;
82*8d67ca89SAndroid Build Coastguard Worker   struct usbdevfs_iso_packet_desc iso_frame_desc[];
83*8d67ca89SAndroid Build Coastguard Worker };
84*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_ioctl {
85*8d67ca89SAndroid Build Coastguard Worker   int ifno;
86*8d67ca89SAndroid Build Coastguard Worker   int ioctl_code;
87*8d67ca89SAndroid Build Coastguard Worker   void  * data;
88*8d67ca89SAndroid Build Coastguard Worker };
89*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_hub_portinfo {
90*8d67ca89SAndroid Build Coastguard Worker   char nports;
91*8d67ca89SAndroid Build Coastguard Worker   char port[127];
92*8d67ca89SAndroid Build Coastguard Worker };
93*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_ZERO_PACKET 0x01
94*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_BULK_CONTINUATION 0x02
95*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
96*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
97*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
98*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_MMAP 0x20
99*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
100*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_CONNINFO_EX 0x80
101*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CAP_SUSPEND 0x100
102*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
103*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
104*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_disconnect_claim {
105*8d67ca89SAndroid Build Coastguard Worker   unsigned int interface;
106*8d67ca89SAndroid Build Coastguard Worker   unsigned int flags;
107*8d67ca89SAndroid Build Coastguard Worker   char driver[USBDEVFS_MAXDRIVERNAME + 1];
108*8d67ca89SAndroid Build Coastguard Worker };
109*8d67ca89SAndroid Build Coastguard Worker struct usbdevfs_streams {
110*8d67ca89SAndroid Build Coastguard Worker   unsigned int num_streams;
111*8d67ca89SAndroid Build Coastguard Worker   unsigned int num_eps;
112*8d67ca89SAndroid Build Coastguard Worker   unsigned char eps[];
113*8d67ca89SAndroid Build Coastguard Worker };
114*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
115*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
116*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
117*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32)
118*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
119*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
120*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
121*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
122*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
123*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
124*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCARDURB _IO('U', 11)
125*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_REAPURB _IOW('U', 12, void *)
126*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_REAPURB32 _IOW('U', 12, __u32)
127*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
128*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32)
129*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
130*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32)
131*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
132*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
133*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
134*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
135*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
136*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
137*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_RESET _IO('U', 20)
138*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
139*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCONNECT _IO('U', 22)
140*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CONNECT _IO('U', 23)
141*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int)
142*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int)
143*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32)
144*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim)
145*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)
146*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
147*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
148*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_GET_SPEED _IO('U', 31)
149*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)
150*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_FORBID_SUSPEND _IO('U', 33)
151*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_ALLOW_SUSPEND _IO('U', 34)
152*8d67ca89SAndroid Build Coastguard Worker #define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35)
153*8d67ca89SAndroid Build Coastguard Worker #endif
154