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