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