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