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