111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPI_LINUX_USBDEVICE_FS_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPI_LINUX_USBDEVICE_FS_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/magic.h>
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_ctrltransfer {
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bRequestType;
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bRequest;
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 wValue;
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 wIndex;
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 wLength;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 timeout;
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data;
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_bulktransfer {
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int ep;
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int len;
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int timeout;
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data;
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_setinterface {
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int interface;
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int altsetting;
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_disconnectsignal {
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int signr;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *context;
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_MAXDRIVERNAME 255
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_getdriver {
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int interface;
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char driver[USBDEVFS_MAXDRIVERNAME + 1];
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_connectinfo {
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int devnum;
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char slow;
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_SHORT_NOT_OK 0x01
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_ISO_ASAP 0x02
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_BULK_CONTINUATION 0x04
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_NO_FSBR 0x20
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_ZERO_PACKET 0x40
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_NO_INTERRUPT 0x80
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_ISO 0
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_INTERRUPT 1
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_CONTROL 2
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_BULK 3
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_iso_packet_desc {
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int length;
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int actual_length;
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int status;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_urb {
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char type;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char endpoint;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int status;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int flags;
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *buffer;
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int buffer_length;
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int actual_length;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int start_frame;
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int number_of_packets;
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int error_count;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int signr;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *usercontext;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct usbdevfs_iso_packet_desc iso_frame_desc[0];
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_ioctl {
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int ifno;
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int ioctl_code;
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data;
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_hub_portinfo {
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char nports;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char port [127];
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CAP_ZERO_PACKET 0x01
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CAP_BULK_CONTINUATION 0x02
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_disconnect_claim {
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int interface;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int flags;
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char driver[USBDEVFS_MAXDRIVERNAME + 1];
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32)
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCARDURB _IO('U', 11)
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURB _IOW('U', 12, void *)
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURB32 _IOW('U', 12, __u32)
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32)
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32)
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RESET _IO('U', 20)
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCONNECT _IO('U', 22)
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONNECT _IO('U', 23)
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int)
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int)
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32)
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim)
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
166