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> 23struct 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}; 32struct usbdevfs_bulktransfer { 33 unsigned int ep; 34 unsigned int len; 35 unsigned int timeout; 36 void __user * data; 37}; 38struct usbdevfs_setinterface { 39 unsigned int interface; 40 unsigned int altsetting; 41}; 42struct usbdevfs_disconnectsignal { 43 unsigned int signr; 44 void __user * context; 45}; 46#define USBDEVFS_MAXDRIVERNAME 255 47struct usbdevfs_getdriver { 48 unsigned int interface; 49 char driver[USBDEVFS_MAXDRIVERNAME + 1]; 50}; 51struct 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 65struct usbdevfs_iso_packet_desc { 66 unsigned int length; 67 unsigned int actual_length; 68 unsigned int status; 69}; 70struct 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}; 88struct usbdevfs_ioctl { 89 int ifno; 90 int ioctl_code; 91 void __user * data; 92}; 93struct 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 106struct usbdevfs_disconnect_claim { 107 unsigned int interface; 108 unsigned int flags; 109 char driver[USBDEVFS_MAXDRIVERNAME + 1]; 110}; 111struct 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