111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_USBDEVICE_FS_H 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_USBDEVICE_FS_H 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVICE_SUPER_MAGIC 0x9fa2 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_ctrltransfer { 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bRequestType; 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bRequest; 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 wValue; 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 wIndex; 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 wLength; 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 timeout; 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data; 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_bulktransfer { 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int ep; 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int len; 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int timeout; 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data; 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_setinterface { 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int interface; 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int altsetting; 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_disconnectsignal { 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int signr; 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *context; 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_MAXDRIVERNAME 255 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_getdriver { 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int interface; 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char driver[USBDEVFS_MAXDRIVERNAME + 1]; 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_connectinfo { 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int devnum; 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char slow; 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_SHORT_NOT_OK 1 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_ISO_ASAP 2 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_ISO 0 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_INTERRUPT 1 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_CONTROL 2 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_URB_TYPE_BULK 3 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_iso_packet_desc { 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int length; 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int actual_length; 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int status; 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_urb { 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char type; 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char endpoint; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int status; 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int flags; 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *buffer; 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int buffer_length; 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int actual_length; 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int start_frame; 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int number_of_packets; 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int error_count; 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int signr; 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void *usercontext; 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct usbdevfs_iso_packet_desc iso_frame_desc[0]; 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_ioctl { 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int ifno; 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int ioctl_code; 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data; 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usbdevfs_hub_portinfo { 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char nports; 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char port [127]; 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int) 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface) 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int) 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver) 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb) 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCARDURB _IO('U', 11) 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURB _IOW('U', 12, void *) 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURB32 _IOW('U', 12, u32) 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, u32) 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo) 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl) 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32) 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo) 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_RESET _IO('U', 20) 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int) 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_DISCONNECT _IO('U', 22) 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USBDEVFS_CONNECT _IO('U', 23) 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 124