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