1704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner/****************************************************************************
2704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ****************************************************************************
3704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***
4704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***   This header was automatically generated from a Linux kernel header
5704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***   of the same name, to make information necessary for userspace to
6704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***   call into the kernel available to libc.  It contains only constants,
7704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***   structures, and macros generated from the original header, and thus,
8704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***   contains no copyrightable information.
9704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ***
10704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ****************************************************************************
11704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ****************************************************************************/
12704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#ifndef _LINUX_USBDEVICE_FS_H
13704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define _LINUX_USBDEVICE_FS_H
14704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
15704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#include <linux/types.h>
16704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
17704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVICE_SUPER_MAGIC 0x9fa2
18704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
19704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_ctrltransfer {
20704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner __u8 bRequestType;
21704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner __u8 bRequest;
22704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner __u16 wValue;
23704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner __u16 wIndex;
24704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner __u16 wLength;
25704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner __u32 timeout;
26704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void __user *data;
27704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
28704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
29704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_bulktransfer {
30704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int ep;
31704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int len;
32704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int timeout;
33704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void __user *data;
34704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
35704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
36704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_setinterface {
37704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int interface;
38704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int altsetting;
39704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
40704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
41704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_disconnectsignal {
42704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int signr;
43704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void __user *context;
44704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
45704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
46704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_MAXDRIVERNAME 255
47704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
48704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_getdriver {
49704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int interface;
50704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner char driver[USBDEVFS_MAXDRIVERNAME + 1];
51704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
52704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
53704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_connectinfo {
54704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int devnum;
55704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned char slow;
56704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
57704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
58704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_URB_SHORT_NOT_OK 1
59704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_URB_ISO_ASAP 2
60704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
61704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_URB_TYPE_ISO 0
62704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_URB_TYPE_INTERRUPT 1
63704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_URB_TYPE_CONTROL 2
64704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_URB_TYPE_BULK 3
65704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
66704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_iso_packet_desc {
67704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int length;
68704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int actual_length;
69704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int status;
70704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
71704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
72704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_urb {
73704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned char type;
74704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned char endpoint;
75704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int status;
76704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int flags;
77704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void __user *buffer;
78704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int buffer_length;
79704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int actual_length;
80704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int start_frame;
81704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int number_of_packets;
82704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int error_count;
83704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner unsigned int signr;
84704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void *usercontext;
85704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner struct usbdevfs_iso_packet_desc iso_frame_desc[0];
86704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
87704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
88704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_ioctl {
89704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int ifno;
90704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int ioctl_code;
91704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void __user *data;
92704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
93704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
94704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct usbdevfs_hub_portinfo {
95704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner char nports;
96704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner char port [127];
97704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner};
98704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner
99704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
100704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
101704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
102704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
103704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
104704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
105704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
106704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
107704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_DISCARDURB _IO('U', 11)
108704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_REAPURB _IOW('U', 12, void *)
109704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_REAPURB32 _IOW('U', 12, u32)
110704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
111704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, u32)
112704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
113704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
114704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
115704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
116704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
117704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
118704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
119704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_RESET _IO('U', 20)
120704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
121704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_DISCONNECT _IO('U', 22)
122704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define USBDEVFS_CONNECT _IO('U', 23)
123704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#endif
124