Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPI_LINUX_USBDEVICE_FS_H
     20 #define _UAPI_LINUX_USBDEVICE_FS_H
     21 #include <linux/types.h>
     22 #include <linux/magic.h>
     23 struct usbdevfs_ctrltransfer {
     24   __u8 bRequestType;
     25   __u8 bRequest;
     26   __u16 wValue;
     27   __u16 wIndex;
     28   __u16 wLength;
     29   __u32 timeout;
     30   void __user * data;
     31 };
     32 struct usbdevfs_bulktransfer {
     33   unsigned int ep;
     34   unsigned int len;
     35   unsigned int timeout;
     36   void __user * data;
     37 };
     38 struct usbdevfs_setinterface {
     39   unsigned int interface;
     40   unsigned int altsetting;
     41 };
     42 struct usbdevfs_disconnectsignal {
     43   unsigned int signr;
     44   void __user * context;
     45 };
     46 #define USBDEVFS_MAXDRIVERNAME 255
     47 struct usbdevfs_getdriver {
     48   unsigned int interface;
     49   char driver[USBDEVFS_MAXDRIVERNAME + 1];
     50 };
     51 struct usbdevfs_connectinfo {
     52   unsigned int devnum;
     53   unsigned char slow;
     54 };
     55 #define USBDEVFS_URB_SHORT_NOT_OK 0x01
     56 #define USBDEVFS_URB_ISO_ASAP 0x02
     57 #define USBDEVFS_URB_BULK_CONTINUATION 0x04
     58 #define USBDEVFS_URB_NO_FSBR 0x20
     59 #define USBDEVFS_URB_ZERO_PACKET 0x40
     60 #define USBDEVFS_URB_NO_INTERRUPT 0x80
     61 #define USBDEVFS_URB_TYPE_ISO 0
     62 #define USBDEVFS_URB_TYPE_INTERRUPT 1
     63 #define USBDEVFS_URB_TYPE_CONTROL 2
     64 #define USBDEVFS_URB_TYPE_BULK 3
     65 struct usbdevfs_iso_packet_desc {
     66   unsigned int length;
     67   unsigned int actual_length;
     68   unsigned int status;
     69 };
     70 struct usbdevfs_urb {
     71   unsigned char type;
     72   unsigned char endpoint;
     73   int status;
     74   unsigned int flags;
     75   void __user * buffer;
     76   int buffer_length;
     77   int actual_length;
     78   int start_frame;
     79   union {
     80     int number_of_packets;
     81     unsigned int stream_id;
     82   };
     83   int error_count;
     84   unsigned int signr;
     85   void __user * usercontext;
     86   struct usbdevfs_iso_packet_desc iso_frame_desc[0];
     87 };
     88 struct usbdevfs_ioctl {
     89   int ifno;
     90   int ioctl_code;
     91   void __user * data;
     92 };
     93 struct usbdevfs_hub_portinfo {
     94   char nports;
     95   char port[127];
     96 };
     97 #define USBDEVFS_CAP_ZERO_PACKET 0x01
     98 #define USBDEVFS_CAP_BULK_CONTINUATION 0x02
     99 #define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
    100 #define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
    101 #define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
    102 #define USBDEVFS_CAP_MMAP 0x20
    103 #define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
    104 #define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
    105 #define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
    106 struct usbdevfs_disconnect_claim {
    107   unsigned int interface;
    108   unsigned int flags;
    109   char driver[USBDEVFS_MAXDRIVERNAME + 1];
    110 };
    111 struct usbdevfs_streams {
    112   unsigned int num_streams;
    113   unsigned int num_eps;
    114   unsigned char eps[0];
    115 };
    116 #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
    117 #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
    118 #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
    119 #define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32)
    120 #define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
    121 #define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
    122 #define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
    123 #define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
    124 #define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
    125 #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
    126 #define USBDEVFS_DISCARDURB _IO('U', 11)
    127 #define USBDEVFS_REAPURB _IOW('U', 12, void *)
    128 #define USBDEVFS_REAPURB32 _IOW('U', 12, __u32)
    129 #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
    130 #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32)
    131 #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
    132 #define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32)
    133 #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
    134 #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
    135 #define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
    136 #define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
    137 #define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
    138 #define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
    139 #define USBDEVFS_RESET _IO('U', 20)
    140 #define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
    141 #define USBDEVFS_DISCONNECT _IO('U', 22)
    142 #define USBDEVFS_CONNECT _IO('U', 23)
    143 #define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int)
    144 #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int)
    145 #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32)
    146 #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim)
    147 #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)
    148 #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
    149 #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
    150 #define USBDEVFS_GET_SPEED _IO('U', 31)
    151 #endif
    152