1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_LINUX_USBDEVICE_FS_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_LINUX_USBDEVICE_FS_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/magic.h>
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_ctrltransfer {
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u8 bRequestType;
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u8 bRequest;
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u16 wValue;
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u16 wIndex;
30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u16 wLength;
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 timeout;
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng void __user *data;
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_bulktransfer {
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int ep;
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int len;
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int timeout;
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng void __user *data;
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_setinterface {
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int interface;
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int altsetting;
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_disconnectsignal {
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int signr;
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng void __user *context;
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_MAXDRIVERNAME 255
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_getdriver {
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int interface;
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng char driver[USBDEVFS_MAXDRIVERNAME + 1];
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_connectinfo {
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int devnum;
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned char slow;
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_SHORT_NOT_OK 0x01
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_ISO_ASAP 0x02
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_BULK_CONTINUATION 0x04
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_NO_FSBR 0x20
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_ZERO_PACKET 0x40
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_NO_INTERRUPT 0x80
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_TYPE_ISO 0
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_TYPE_INTERRUPT 1
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_TYPE_CONTROL 2
75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_URB_TYPE_BULK 3
76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_iso_packet_desc {
77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int length;
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int actual_length;
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int status;
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_urb {
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned char type;
85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned char endpoint;
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int status;
87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int flags;
88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng void __user *buffer;
90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int buffer_length;
91655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int actual_length;
92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int start_frame;
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int number_of_packets;
95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int error_count;
96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int signr;
97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng void __user *usercontext;
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng struct usbdevfs_iso_packet_desc iso_frame_desc[0];
100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_ioctl {
102655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int ifno;
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng int ioctl_code;
105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng void __user *data;
106655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
107655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_hub_portinfo {
108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng char nports;
110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng char port [127];
111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
112655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CAP_ZERO_PACKET 0x01
113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CAP_BULK_CONTINUATION 0x02
115655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
116655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
117655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
120655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct usbdevfs_disconnect_claim {
121655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int interface;
122655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng unsigned int flags;
123655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng char driver[USBDEVFS_MAXDRIVERNAME + 1];
125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
126655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
127655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
128655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
130655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32)
131655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
132655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
135655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCARDURB _IO('U', 11)
140655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_REAPURB _IOW('U', 12, void *)
141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_REAPURB32 _IOW('U', 12, __u32)
142655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
143655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32)
145655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
146655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32)
147655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
148655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
150655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
151655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
152655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
153655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
155655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_RESET _IO('U', 20)
156655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
157655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCONNECT _IO('U', 22)
158655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CONNECT _IO('U', 23)
160655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int)
161655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int)
162655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32)
163655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim)
165655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
166