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