1c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner/****************************************************************************
2c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************
3c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***
4c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   This header was automatically generated from a Linux kernel header
5c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   of the same name, to make information necessary for userspace to
6c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   call into the kernel available to libc.  It contains only constants,
7c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   structures, and macros generated from the original header, and thus,
8c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   contains no copyrightable information.
9c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***
10c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************
11c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************/
12c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifndef _LINUX_USBDEVICE_FS_H
13c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _LINUX_USBDEVICE_FS_H
14c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
15c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <linux/types.h>
16c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
17c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVICE_SUPER_MAGIC 0x9fa2
18c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
19c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_ctrltransfer {
20c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 bRequestType;
21c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 bRequest;
22c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 wValue;
23c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 wIndex;
24c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 wLength;
25c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u32 timeout;
26c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void __user *data;
27c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
28c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
29c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_bulktransfer {
30c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int ep;
31c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int len;
32c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int timeout;
33c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void __user *data;
34c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
35c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
36c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_setinterface {
37c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int interface;
38c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int altsetting;
39c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
40c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
41c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_disconnectsignal {
42c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int signr;
43c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void __user *context;
44c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
45c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
46c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_MAXDRIVERNAME 255
47c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
48c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_getdriver {
49c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int interface;
50c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner char driver[USBDEVFS_MAXDRIVERNAME + 1];
51c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
52c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
53c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_connectinfo {
54c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int devnum;
55c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char slow;
56c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
57c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
58c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_URB_SHORT_NOT_OK 1
59c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_URB_ISO_ASAP 2
60c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
61c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_URB_TYPE_ISO 0
62c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_URB_TYPE_INTERRUPT 1
63c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_URB_TYPE_CONTROL 2
64c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_URB_TYPE_BULK 3
65c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
66c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_iso_packet_desc {
67c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int length;
68c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int actual_length;
69c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int status;
70c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
71c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
72c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_urb {
73c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char type;
74c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned char endpoint;
75c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int status;
76c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int flags;
77c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void __user *buffer;
78c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int buffer_length;
79c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int actual_length;
80c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int start_frame;
81c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int number_of_packets;
82c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int error_count;
83c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned int signr;
84c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void *usercontext;
85c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct usbdevfs_iso_packet_desc iso_frame_desc[0];
86c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
87c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
88c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_ioctl {
89c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int ifno;
90c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int ioctl_code;
91c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void __user *data;
92c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
93c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
94c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct usbdevfs_hub_portinfo {
95c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner char nports;
96c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner char port [127];
97c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
98c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
99c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
100c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
101c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
102c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
103c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
104c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
105c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
106c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
107c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_DISCARDURB _IO('U', 11)
108c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_REAPURB _IOW('U', 12, void *)
109c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_REAPURB32 _IOW('U', 12, u32)
110c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
111c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, u32)
112c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
113c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
114c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
115c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
116c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
117c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
118c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
119c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_RESET _IO('U', 20)
120c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
121c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_DISCONNECT _IO('U', 22)
122c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define USBDEVFS_CONNECT _IO('U', 23)
123c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif
124