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