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 #define USBDEVFS_URB_SHORT_NOT_OK 0x01 56 #define USBDEVFS_URB_ISO_ASAP 0x02 57 #define USBDEVFS_URB_BULK_CONTINUATION 0x04 58 #define USBDEVFS_URB_NO_FSBR 0x20 59 #define USBDEVFS_URB_ZERO_PACKET 0x40 60 #define USBDEVFS_URB_NO_INTERRUPT 0x80 61 #define USBDEVFS_URB_TYPE_ISO 0 62 #define USBDEVFS_URB_TYPE_INTERRUPT 1 63 #define USBDEVFS_URB_TYPE_CONTROL 2 64 #define USBDEVFS_URB_TYPE_BULK 3 65 struct usbdevfs_iso_packet_desc { 66 unsigned int length; 67 unsigned int actual_length; 68 unsigned int status; 69 }; 70 struct usbdevfs_urb { 71 unsigned char type; 72 unsigned char endpoint; 73 int status; 74 unsigned int flags; 75 void __user * buffer; 76 int buffer_length; 77 int actual_length; 78 int start_frame; 79 union { 80 int number_of_packets; 81 unsigned int stream_id; 82 }; 83 int error_count; 84 unsigned int signr; 85 void __user * usercontext; 86 struct usbdevfs_iso_packet_desc iso_frame_desc[0]; 87 }; 88 struct usbdevfs_ioctl { 89 int ifno; 90 int ioctl_code; 91 void __user * data; 92 }; 93 struct usbdevfs_hub_portinfo { 94 char nports; 95 char port[127]; 96 }; 97 #define USBDEVFS_CAP_ZERO_PACKET 0x01 98 #define USBDEVFS_CAP_BULK_CONTINUATION 0x02 99 #define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04 100 #define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08 101 #define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10 102 #define USBDEVFS_CAP_MMAP 0x20 103 #define USBDEVFS_CAP_DROP_PRIVILEGES 0x40 104 #define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01 105 #define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02 106 struct usbdevfs_disconnect_claim { 107 unsigned int interface; 108 unsigned int flags; 109 char driver[USBDEVFS_MAXDRIVERNAME + 1]; 110 }; 111 struct usbdevfs_streams { 112 unsigned int num_streams; 113 unsigned int num_eps; 114 unsigned char eps[0]; 115 }; 116 #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) 117 #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) 118 #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) 119 #define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32) 120 #define USBDEVFS_RESETEP _IOR('U', 3, unsigned int) 121 #define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface) 122 #define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int) 123 #define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver) 124 #define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb) 125 #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) 126 #define USBDEVFS_DISCARDURB _IO('U', 11) 127 #define USBDEVFS_REAPURB _IOW('U', 12, void *) 128 #define USBDEVFS_REAPURB32 _IOW('U', 12, __u32) 129 #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) 130 #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32) 131 #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) 132 #define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32) 133 #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) 134 #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) 135 #define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo) 136 #define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl) 137 #define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32) 138 #define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo) 139 #define USBDEVFS_RESET _IO('U', 20) 140 #define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int) 141 #define USBDEVFS_DISCONNECT _IO('U', 22) 142 #define USBDEVFS_CONNECT _IO('U', 23) 143 #define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int) 144 #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int) 145 #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32) 146 #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim) 147 #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) 148 #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) 149 #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32) 150 #endif 151