Home | History | Annotate | Download | only in usb
      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_FUNCTIONFS_H__
     20 #define _UAPI__LINUX_FUNCTIONFS_H__
     21 #include <linux/types.h>
     22 #include <linux/ioctl.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #include <linux/usb/ch9.h>
     25 enum {
     26   FUNCTIONFS_DESCRIPTORS_MAGIC = 1,
     27   FUNCTIONFS_STRINGS_MAGIC = 2,
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29   FUNCTIONFS_DESCRIPTORS_MAGIC_V2 = 3,
     30 };
     31 enum functionfs_flags {
     32   FUNCTIONFS_HAS_FS_DESC = 1,
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34   FUNCTIONFS_HAS_HS_DESC = 2,
     35   FUNCTIONFS_HAS_SS_DESC = 4,
     36   FUNCTIONFS_HAS_MS_OS_DESC = 8,
     37   FUNCTIONFS_VIRTUAL_ADDR = 16,
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39   FUNCTIONFS_EVENTFD = 32,
     40   FUNCTIONFS_ALL_CTRL_RECIP = 64,
     41   FUNCTIONFS_CONFIG0_SETUP = 128,
     42 };
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 struct usb_endpoint_descriptor_no_audio {
     45   __u8 bLength;
     46   __u8 bDescriptorType;
     47   __u8 bEndpointAddress;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49   __u8 bmAttributes;
     50   __le16 wMaxPacketSize;
     51   __u8 bInterval;
     52 } __attribute__((packed));
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 struct usb_functionfs_descs_head_v2 {
     55   __le32 magic;
     56   __le32 length;
     57   __le32 flags;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 } __attribute__((packed));
     60 struct usb_functionfs_descs_head {
     61   __le32 magic;
     62   __le32 length;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64   __le32 fs_count;
     65   __le32 hs_count;
     66 } __attribute__((packed, deprecated));
     67 struct usb_os_desc_header {
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69   __u8 interface;
     70   __le32 dwLength;
     71   __le16 bcdVersion;
     72   __le16 wIndex;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74   union {
     75     struct {
     76       __u8 bCount;
     77       __u8 Reserved;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79     };
     80     __le16 wCount;
     81   };
     82 } __attribute__((packed));
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 struct usb_ext_compat_desc {
     85   __u8 bFirstInterfaceNumber;
     86   __u8 Reserved1;
     87   __u8 CompatibleID[8];
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89   __u8 SubCompatibleID[8];
     90   __u8 Reserved2[6];
     91 };
     92 struct usb_ext_prop_desc {
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94   __le32 dwSize;
     95   __le32 dwPropertyDataType;
     96   __le16 wPropertyNameLength;
     97 } __attribute__((packed));
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 struct usb_functionfs_strings_head {
    100   __le32 magic;
    101   __le32 length;
    102   __le32 str_count;
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104   __le32 lang_count;
    105 } __attribute__((packed));
    106 enum usb_functionfs_event_type {
    107   FUNCTIONFS_BIND,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109   FUNCTIONFS_UNBIND,
    110   FUNCTIONFS_ENABLE,
    111   FUNCTIONFS_DISABLE,
    112   FUNCTIONFS_SETUP,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114   FUNCTIONFS_SUSPEND,
    115   FUNCTIONFS_RESUME
    116 };
    117 struct usb_functionfs_event {
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119   union {
    120     struct usb_ctrlrequest setup;
    121   } __attribute__((packed)) u;
    122   __u8 type;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124   __u8 _pad[3];
    125 } __attribute__((packed));
    126 #define FUNCTIONFS_FIFO_STATUS _IO('g', 1)
    127 #define FUNCTIONFS_FIFO_FLUSH _IO('g', 2)
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define FUNCTIONFS_CLEAR_HALT _IO('g', 3)
    130 #define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128)
    131 #define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129)
    132 #define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, struct usb_endpoint_descriptor)
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #endif
    135