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