1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/****************************************************************************
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com ****************************************************************************
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com ***
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com ***   This header was automatically generated from a Linux kernel header
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com ***   of the same name, to make information necessary for userspace to
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com ***   call into the kernel available to libc.  It contains only constants,
78a21c9fe7f5fef9e87115defef27bd7218419f28reed ***   structures, and macros generated from the original header, and thus,
88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com ***   contains no copyrightable information.
98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com ***
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com ****************************************************************************
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com ****************************************************************************/
128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef _LINUX_USBDEVICE_FS_H
138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define _LINUX_USBDEVICE_FS_H
148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <linux/types.h>
168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
17b7069e9c1f65d11f9581be0adbffa968257afc33bungeman#define USBDEVICE_SUPER_MAGIC 0x9fa2
18b7069e9c1f65d11f9581be0adbffa968257afc33bungeman
194b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_ctrltransfer {
204b5894c82df1777ef86353521d789e094070156breed@google.com __u8 bRequestType;
214b5894c82df1777ef86353521d789e094070156breed@google.com __u8 bRequest;
224b5894c82df1777ef86353521d789e094070156breed@google.com __u16 wValue;
234b5894c82df1777ef86353521d789e094070156breed@google.com __u16 wIndex;
24a8c183125f2861067daf432cada06d431a795cd0commit-bot@chromium.org __u16 wLength;
25dbfac8a72393eaf01670aeb3244de0e18d8faf98junov@google.com __u32 timeout;
264b5894c82df1777ef86353521d789e094070156breed@google.com void __user *data;
274b5894c82df1777ef86353521d789e094070156breed@google.com};
284b5894c82df1777ef86353521d789e094070156breed@google.com
29ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.comstruct usbdevfs_bulktransfer {
304b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int ep;
31ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com unsigned int len;
32ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com unsigned int timeout;
334debcac8c38cae17a01e697578719c60a068052frobertphillips@google.com void __user *data;
344debcac8c38cae17a01e697578719c60a068052frobertphillips@google.com};
35ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
364b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_setinterface {
374b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int interface;
384b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int altsetting;
394b5894c82df1777ef86353521d789e094070156breed@google.com};
404b5894c82df1777ef86353521d789e094070156breed@google.com
414b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_disconnectsignal {
424b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int signr;
434b5894c82df1777ef86353521d789e094070156breed@google.com void __user *context;
44dbfac8a72393eaf01670aeb3244de0e18d8faf98junov@google.com};
454b5894c82df1777ef86353521d789e094070156breed@google.com
4696fcdcc219d2a0d3579719b84b28bede76efba64halcanary#define USBDEVFS_MAXDRIVERNAME 255
474b5894c82df1777ef86353521d789e094070156breed@google.com
484b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_getdriver {
49dbfac8a72393eaf01670aeb3244de0e18d8faf98junov@google.com unsigned int interface;
504b5894c82df1777ef86353521d789e094070156breed@google.com char driver[USBDEVFS_MAXDRIVERNAME + 1];
5196fcdcc219d2a0d3579719b84b28bede76efba64halcanary};
524b5894c82df1777ef86353521d789e094070156breed@google.com
534b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_connectinfo {
544b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int devnum;
554b5894c82df1777ef86353521d789e094070156breed@google.com unsigned char slow;
564b5894c82df1777ef86353521d789e094070156breed@google.com};
574b5894c82df1777ef86353521d789e094070156breed@google.com
584b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_URB_SHORT_NOT_OK 1
594b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_URB_ISO_ASAP 2
60ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
614b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_URB_TYPE_ISO 0
624b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_URB_TYPE_INTERRUPT 1
634b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_URB_TYPE_CONTROL 2
644b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_URB_TYPE_BULK 3
654b5894c82df1777ef86353521d789e094070156breed@google.com
664b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_iso_packet_desc {
674b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int length;
6896fcdcc219d2a0d3579719b84b28bede76efba64halcanary unsigned int actual_length;
694b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int status;
704b5894c82df1777ef86353521d789e094070156breed@google.com};
714b5894c82df1777ef86353521d789e094070156breed@google.com
724b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_urb {
734b5894c82df1777ef86353521d789e094070156breed@google.com unsigned char type;
744b5894c82df1777ef86353521d789e094070156breed@google.com unsigned char endpoint;
754b5894c82df1777ef86353521d789e094070156breed@google.com int status;
764b5894c82df1777ef86353521d789e094070156breed@google.com unsigned int flags;
774b5894c82df1777ef86353521d789e094070156breed@google.com void __user *buffer;
784b5894c82df1777ef86353521d789e094070156breed@google.com int buffer_length;
794b413c8bb123e42ca4b9c7bfa6bc2167283cb84ccommit-bot@chromium.org int actual_length;
804b5894c82df1777ef86353521d789e094070156breed@google.com int start_frame;
814b5894c82df1777ef86353521d789e094070156breed@google.com int number_of_packets;
828a21c9fe7f5fef9e87115defef27bd7218419f28reed int error_count;
83374772bd61951f01bf84fe17bf53d8867681c9aereed unsigned int signr;
844b5894c82df1777ef86353521d789e094070156breed@google.com void *usercontext;
854b5894c82df1777ef86353521d789e094070156breed@google.com struct usbdevfs_iso_packet_desc iso_frame_desc[0];
864b5894c82df1777ef86353521d789e094070156breed@google.com};
874b5894c82df1777ef86353521d789e094070156breed@google.com
884b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_ioctl {
894b5894c82df1777ef86353521d789e094070156breed@google.com int ifno;
904b5894c82df1777ef86353521d789e094070156breed@google.com int ioctl_code;
914b5894c82df1777ef86353521d789e094070156breed@google.com void __user *data;
924b5894c82df1777ef86353521d789e094070156breed@google.com};
93ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
944b5894c82df1777ef86353521d789e094070156breed@google.comstruct usbdevfs_hub_portinfo {
954b5894c82df1777ef86353521d789e094070156breed@google.com char nports;
964b5894c82df1777ef86353521d789e094070156breed@google.com char port [127];
974b5894c82df1777ef86353521d789e094070156breed@google.com};
984b5894c82df1777ef86353521d789e094070156breed@google.com
994b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
1004b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
1014b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
1024b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
1034b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
1044b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
1054b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
1068a21c9fe7f5fef9e87115defef27bd7218419f28reed#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
1074b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_DISCARDURB _IO('U', 11)
1088a21c9fe7f5fef9e87115defef27bd7218419f28reed#define USBDEVFS_REAPURB _IOW('U', 12, void *)
1094b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_REAPURB32 _IOW('U', 12, u32)
1104b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
1114b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, u32)
11296fcdcc219d2a0d3579719b84b28bede76efba64halcanary#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
1134b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
1144b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
1154b5894c82df1777ef86353521d789e094070156breed@google.com#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
1168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
1178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
1187fa2a65c0cfc714364490cb715171461143024e0reed@google.com#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
1198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define USBDEVFS_RESET _IO('U', 20)
1208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
121ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com#define USBDEVFS_DISCONNECT _IO('U', 22)
1228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define USBDEVFS_CONNECT _IO('U', 23)
1238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif
1248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com