1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_USBDEVICE_FS_H
20#define _UAPI_LINUX_USBDEVICE_FS_H
21#include <linux/types.h>
22#include <linux/magic.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24struct usbdevfs_ctrltransfer {
25  __u8 bRequestType;
26  __u8 bRequest;
27  __u16 wValue;
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  __u16 wIndex;
30  __u16 wLength;
31  __u32 timeout;
32  void __user * data;
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34};
35struct usbdevfs_bulktransfer {
36  unsigned int ep;
37  unsigned int len;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  unsigned int timeout;
40  void __user * data;
41};
42struct usbdevfs_setinterface {
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  unsigned int interface;
45  unsigned int altsetting;
46};
47struct usbdevfs_disconnectsignal {
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  unsigned int signr;
50  void __user * context;
51};
52#define USBDEVFS_MAXDRIVERNAME 255
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54struct usbdevfs_getdriver {
55  unsigned int interface;
56  char driver[USBDEVFS_MAXDRIVERNAME + 1];
57};
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59struct usbdevfs_connectinfo {
60  unsigned int devnum;
61  unsigned char slow;
62};
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define USBDEVFS_URB_SHORT_NOT_OK 0x01
65#define USBDEVFS_URB_ISO_ASAP 0x02
66#define USBDEVFS_URB_BULK_CONTINUATION 0x04
67#define USBDEVFS_URB_NO_FSBR 0x20
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define USBDEVFS_URB_ZERO_PACKET 0x40
70#define USBDEVFS_URB_NO_INTERRUPT 0x80
71#define USBDEVFS_URB_TYPE_ISO 0
72#define USBDEVFS_URB_TYPE_INTERRUPT 1
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define USBDEVFS_URB_TYPE_CONTROL 2
75#define USBDEVFS_URB_TYPE_BULK 3
76struct usbdevfs_iso_packet_desc {
77  unsigned int length;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  unsigned int actual_length;
80  unsigned int status;
81};
82struct usbdevfs_urb {
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  unsigned char type;
85  unsigned char endpoint;
86  int status;
87  unsigned int flags;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  void __user * buffer;
90  int buffer_length;
91  int actual_length;
92  int start_frame;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  union {
95    int number_of_packets;
96    unsigned int stream_id;
97  };
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  int error_count;
100  unsigned int signr;
101  void __user * usercontext;
102  struct usbdevfs_iso_packet_desc iso_frame_desc[0];
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104};
105struct usbdevfs_ioctl {
106  int ifno;
107  int ioctl_code;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  void __user * data;
110};
111struct usbdevfs_hub_portinfo {
112  char nports;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  char port[127];
115};
116#define USBDEVFS_CAP_ZERO_PACKET 0x01
117#define USBDEVFS_CAP_BULK_CONTINUATION 0x02
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
120#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
121#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
122#define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
125struct usbdevfs_disconnect_claim {
126  unsigned int interface;
127  unsigned int flags;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  char driver[USBDEVFS_MAXDRIVERNAME + 1];
130};
131struct usbdevfs_streams {
132  unsigned int num_streams;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  unsigned int num_eps;
135  unsigned char eps[0];
136};
137#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
140#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
141#define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32)
142#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
145#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
146#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
147#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
150#define USBDEVFS_DISCARDURB _IO('U', 11)
151#define USBDEVFS_REAPURB _IOW('U', 12, void *)
152#define USBDEVFS_REAPURB32 _IOW('U', 12, __u32)
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
155#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32)
156#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
157#define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32)
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
160#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
161#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
162#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
165#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
166#define USBDEVFS_RESET _IO('U', 20)
167#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169#define USBDEVFS_DISCONNECT _IO('U', 22)
170#define USBDEVFS_CONNECT _IO('U', 23)
171#define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int)
172#define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int)
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32)
175#define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim)
176#define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)
177#define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#endif
180