PATH:
usr
/
include
/
linux
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ /*****************************************************************************/ /* * usbdevice_fs.h -- USB device file system. * * Copyright (C) 2000 * Thomas Sailer (sailer@ife.ee.ethz.ch) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * History: * 0.1 04.01.2000 Created */ /*****************************************************************************/ #ifndef _LINUX_USBDEVICE_FS_H #define _LINUX_USBDEVICE_FS_H #include <linux/types.h> #include <linux/magic.h> /* --------------------------------------------------------------------- */ /* usbdevfs ioctl codes */ struct usbdevfs_ctrltransfer { __u8 bRequestType; __u8 bRequest; __u16 wValue; __u16 wIndex; __u16 wLength; __u32 timeout; /* in milliseconds */ void *data; }; struct usbdevfs_bulktransfer { unsigned int ep; unsigned int len; unsigned int timeout; /* in milliseconds */ void *data; }; struct usbdevfs_setinterface { unsigned int interface; unsigned int altsetting; }; struct usbdevfs_disconnectsignal { unsigned int signr; void *context; }; #define USBDEVFS_MAXDRIVERNAME 255 struct usbdevfs_getdriver { unsigned int interface; char driver[USBDEVFS_MAXDRIVERNAME + 1]; }; struct usbdevfs_connectinfo { unsigned int devnum; unsigned char slow; }; #define USBDEVFS_URB_SHORT_NOT_OK 0x01 #define USBDEVFS_URB_ISO_ASAP 0x02 #define USBDEVFS_URB_BULK_CONTINUATION 0x04 #define USBDEVFS_URB_NO_FSBR 0x20 /* Not used */ #define USBDEVFS_URB_ZERO_PACKET 0x40 #define USBDEVFS_URB_NO_INTERRUPT 0x80 #define USBDEVFS_URB_TYPE_ISO 0 #define USBDEVFS_URB_TYPE_INTERRUPT 1 #define USBDEVFS_URB_TYPE_CONTROL 2 #define USBDEVFS_URB_TYPE_BULK 3 struct usbdevfs_iso_packet_desc { unsigned int length; unsigned int actual_length; unsigned int status; }; struct usbdevfs_urb { unsigned char type; unsigned char endpoint; int status; unsigned int flags; void *buffer; int buffer_length; int actual_length; int start_frame; union { int number_of_packets; /* Only used for isoc urbs */ unsigned int stream_id; /* Only used with bulk streams */ }; int error_count; unsigned int signr; /* signal to be sent on completion, or 0 if none should be sent. */ void *usercontext; struct usbdevfs_iso_packet_desc iso_frame_desc[0]; }; /* ioctls for talking directly to drivers */ struct usbdevfs_ioctl { int ifno; /* interface 0..N ; negative numbers reserved */ int ioctl_code; /* MUST encode size + direction of data so the * macros in <asm/ioctl.h> give correct values */ void *data; /* param buffer (in, or out) */ }; /* You can do most things with hubs just through control messages, * except find out what device connects to what port. */ struct usbdevfs_hub_portinfo { char nports; /* number of downstream ports in this hub */ char port [127]; /* e.g. port 3 connects to device 27 */ }; /* System and bus capability flags */ #define USBDEVFS_CAP_ZERO_PACKET 0x01 #define USBDEVFS_CAP_BULK_CONTINUATION 0x02 #define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04 #define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08 #define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10 #define USBDEVFS_CAP_MMAP 0x20 #define USBDEVFS_CAP_DROP_PRIVILEGES 0x40 /* USBDEVFS_DISCONNECT_CLAIM flags & struct */ /* disconnect-and-claim if the driver matches the driver field */ #define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01 /* disconnect-and-claim except when the driver matches the driver field */ #define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02 struct usbdevfs_disconnect_claim { unsigned int interface; unsigned int flags; char driver[USBDEVFS_MAXDRIVERNAME + 1]; }; struct usbdevfs_streams { unsigned int num_streams; /* Not used by USBDEVFS_FREE_STREAMS */ unsigned int num_eps; unsigned char eps[0]; }; /* * USB_SPEED_* values returned by USBDEVFS_GET_SPEED are defined in * linux/usb/ch9.h */ #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) #define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32) #define USBDEVFS_RESETEP _IOR('U', 3, unsigned int) #define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface) #define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int) #define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver) #define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb) #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) #define USBDEVFS_DISCARDURB _IO('U', 11) #define USBDEVFS_REAPURB _IOW('U', 12, void *) #define USBDEVFS_REAPURB32 _IOW('U', 12, __u32) #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32) #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) #define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32) #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) #define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo) #define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl) #define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32) #define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo) #define USBDEVFS_RESET _IO('U', 20) #define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int) #define USBDEVFS_DISCONNECT _IO('U', 22) #define USBDEVFS_CONNECT _IO('U', 23) #define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int) #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int) #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32) #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim) #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32) #define USBDEVFS_GET_SPEED _IO('U', 31) #endif /* _LINUX_USBDEVICE_FS_H */
[+]
..
[-] sysinfo.h
[edit]
[-] mroute.h
[edit]
[-] if_eql.h
[edit]
[-] serial_core.h
[edit]
[-] membarrier.h
[edit]
[-] sched.h
[edit]
[-] mei.h
[edit]
[-] bfs_fs.h
[edit]
[-] atmlec.h
[edit]
[-] v4l2-mediabus.h
[edit]
[-] videodev2.h
[edit]
[-] screen_info.h
[edit]
[-] if_slip.h
[edit]
[-] uuid.h
[edit]
[-] version.h
[edit]
[-] ipv6_route.h
[edit]
[-] ixjuser.h
[edit]
[-] pkt_cls.h
[edit]
[-] atm_he.h
[edit]
[-] raw.h
[edit]
[-] msdos_fs.h
[edit]
[-] mman.h
[edit]
[-] aio_abi.h
[edit]
[-] reboot.h
[edit]
[-] snmp.h
[edit]
[-] atm_eni.h
[edit]
[-] netfilter_bridge.h
[edit]
[-] patchkey.h
[edit]
[-] string.h
[edit]
[-] socket.h
[edit]
[+]
spi
[-] auxvec.h
[edit]
[-] sockios.h
[edit]
[-] keyboard.h
[edit]
[-] scc.h
[edit]
[-] dn.h
[edit]
[-] unistd.h
[edit]
[-] oom.h
[edit]
[-] pkt_sched.h
[edit]
[-] if_phonet.h
[edit]
[+]
byteorder
[-] if_arcnet.h
[edit]
[+]
caif
[-] fd.h
[edit]
[-] radeonfb.h
[edit]
[-] qnx4_fs.h
[edit]
[-] nfs2.h
[edit]
[-] magic.h
[edit]
[-] target_core_user.h
[edit]
[-] atm_zatm.h
[edit]
[-] pci.h
[edit]
[-] nfsacl.h
[edit]
[-] if_packet.h
[edit]
[-] arcfb.h
[edit]
[-] nfs_mount.h
[edit]
[-] fib_rules.h
[edit]
[-] atmsap.h
[edit]
[+]
dvb
[-] cciss_defs.h
[edit]
[+]
netfilter_ipv6
[-] atmdev.h
[edit]
[-] kexec.h
[edit]
[-] ipc.h
[edit]
[-] sock_diag.h
[edit]
[+]
wimax
[-] serial.h
[edit]
[-] if_link.h
[edit]
[-] route.h
[edit]
[-] if_bonding.h
[edit]
[-] auto_fs.h
[edit]
[-] pg.h
[edit]
[-] l2tp.h
[edit]
[-] perf_event.h
[edit]
[-] tcp_metrics.h
[edit]
[-] v4l2-controls.h
[edit]
[-] personality.h
[edit]
[-] dcbnl.h
[edit]
[-] netfilter_arp.h
[edit]
[-] toshiba.h
[edit]
[-] memfd.h
[edit]
[-] resource.h
[edit]
[-] tipc.h
[edit]
[-] virtio_vsock.h
[edit]
[-] atm_tcp.h
[edit]
[-] cn_proc.h
[edit]
[-] utime.h
[edit]
[-] nbd.h
[edit]
[-] netfilter_ipv6.h
[edit]
[-] meye.h
[edit]
[-] gfs2_ondisk.h
[edit]
[-] som.h
[edit]
[-] ncp_mount.h
[edit]
[-] coda.h
[edit]
[-] hw_breakpoint.h
[edit]
[-] shm.h
[edit]
[-] wanrouter.h
[edit]
[-] kernel-page-flags.h
[edit]
[-] auto_fs4.h
[edit]
[-] ppp_defs.h
[edit]
[-] tty.h
[edit]
[-] sysctl.h
[edit]
[-] joystick.h
[edit]
[-] ip.h
[edit]
[-] jffs2.h
[edit]
[-] nfs3.h
[edit]
[-] if_infiniband.h
[edit]
[-] agpgart.h
[edit]
[+]
raid
[-] blkpg.h
[edit]
[-] virtio_ids.h
[edit]
[-] udp.h
[edit]
[-] swab.h
[edit]
[-] romfs_fs.h
[edit]
[-] fb.h
[edit]
[-] kvm_para.h
[edit]
[-] btrfs.h
[edit]
[-] efs_fs_sb.h
[edit]
[-] xfrm.h
[edit]
[-] iso_fs.h
[edit]
[-] serial_reg.h
[edit]
[-] virtio_gpu.h
[edit]
[-] sound.h
[edit]
[-] errno.h
[edit]
[-] kernelcapi.h
[edit]
[-] net_tstamp.h
[edit]
[-] isdnif.h
[edit]
[-] hiddev.h
[edit]
[-] ncp_fs.h
[edit]
[-] hdlc.h
[edit]
[-] fcntl.h
[edit]
[-] if.h
[edit]
[-] minix_fs.h
[edit]
[-] hdreg.h
[edit]
[-] virtio_9p.h
[edit]
[-] coff.h
[edit]
[-] elf-em.h
[edit]
[-] mqueue.h
[edit]
[+]
tc_ematch
[-] gameport.h
[edit]
[-] if_ether.h
[edit]
[-] if_addrlabel.h
[edit]
[-] ife.h
[edit]
[-] isdn_divertif.h
[edit]
[-] rds.h
[edit]
[-] fdreg.h
[edit]
[-] pmu.h
[edit]
[-] cuda.h
[edit]
[-] stat.h
[edit]
[-] virtio_net.h
[edit]
[-] posix_types.h
[edit]
[-] cyclades.h
[edit]
[-] baycom.h
[edit]
[-] ipv6.h
[edit]
[-] net_dropmon.h
[edit]
[-] ipmi_msgdefs.h
[edit]
[+]
netfilter_arp
[-] v4l2-subdev.h
[edit]
[-] vsockmon.h
[edit]
[-] neighbour.h
[edit]
[-] sctp.h
[edit]
[-] atmppp.h
[edit]
[-] usbdevice_fs.h
[edit]
[-] dm-ioctl.h
[edit]
[-] netconf.h
[edit]
[-] v4l2-dv-timings.h
[edit]
[-] chio.h
[edit]
[-] msg.h
[edit]
[+]
netfilter_ipv4
[-] netlink.h
[edit]
[-] genetlink.h
[edit]
[-] cgroupstats.h
[edit]
[-] i8k.h
[edit]
[-] cciss_ioctl.h
[edit]
[-] major.h
[edit]
[-] nfs_fs.h
[edit]
[-] rfkill.h
[edit]
[-] atm.h
[edit]
[-] fuse.h
[edit]
[-] fsl_hypervisor.h
[edit]
[-] atalk.h
[edit]
[-] ivtv.h
[edit]
[-] nfs4_mount.h
[edit]
[-] pps.h
[edit]
[-] nubus.h
[edit]
[-] ethtool.h
[edit]
[-] hpet.h
[edit]
[-] atmmpc.h
[edit]
[-] fou.h
[edit]
[-] dccp.h
[edit]
[-] if_pppox.h
[edit]
[-] media.h
[edit]
[-] dm-log-userspace.h
[edit]
[-] ndctl.h
[edit]
[-] wmi.h
[edit]
[-] timex.h
[edit]
[-] mii.h
[edit]
[-] kd.h
[edit]
[-] if_pppol2tp.h
[edit]
[-] uinput.h
[edit]
[-] time.h
[edit]
[-] fadvise.h
[edit]
[-] phonet.h
[edit]
[-] dlm_device.h
[edit]
[-] bpf_perf_event.h
[edit]
[-] quota.h
[edit]
[-] ppdev.h
[edit]
[-] ivtvfb.h
[edit]
[-] if_plip.h
[edit]
[-] net_namespace.h
[edit]
[-] ipmi.h
[edit]
[-] vhost.h
[edit]
[-] v4l2-common.h
[edit]
[-] ultrasound.h
[edit]
[-] lp.h
[edit]
[-] wireless.h
[edit]
[-] keyctl.h
[edit]
[-] atm_idt77105.h
[edit]
[-] bt-bmc.h
[edit]
[-] netrom.h
[edit]
[-] rtc.h
[edit]
[-] types.h
[edit]
[-] qnxtypes.h
[edit]
[-] affs_hardblocks.h
[edit]
[-] if_ppp.h
[edit]
[-] prctl.h
[edit]
[-] firewire-cdev.h
[edit]
[-] sdla.h
[edit]
[-] atmbr2684.h
[edit]
[-] falloc.h
[edit]
[-] connector.h
[edit]
[+]
mmc
[-] rtnetlink.h
[edit]
[-] tty_flags.h
[edit]
[-] bpf.h
[edit]
[-] watchdog.h
[edit]
[-] bsg.h
[edit]
[-] kernel.h
[edit]
[-] reiserfs_fs.h
[edit]
[+]
can
[-] selinux_netlink.h
[edit]
[-] hdlcdrv.h
[edit]
[-] filter.h
[edit]
[-] hidraw.h
[edit]
[-] icmp.h
[edit]
[-] uio.h
[edit]
[-] if_ltalk.h
[edit]
[-] ppp-ioctl.h
[edit]
[-] vtpm_proxy.h
[edit]
[-] elfcore.h
[edit]
[-] limits.h
[edit]
[-] if_tunnel.h
[edit]
[-] if_fddi.h
[edit]
[-] uvcvideo.h
[edit]
[-] ioctl.h
[edit]
[-] capi.h
[edit]
[-] nvme_ioctl.h
[edit]
[-] dlm.h
[edit]
[-] tiocl.h
[edit]
[-] inotify.h
[edit]
[-] poll.h
[edit]
[-] rose.h
[edit]
[-] if_hippi.h
[edit]
[-] matroxfb.h
[edit]
[-] i2o-dev.h
[edit]
[-] tipc_config.h
[edit]
[-] ipsec.h
[edit]
[-] dlm_netlink.h
[edit]
[-] serio.h
[edit]
[-] cdrom.h
[edit]
[-] fanotify.h
[edit]
[-] virtio_blk.h
[edit]
[-] atmioc.h
[edit]
[-] securebits.h
[edit]
[-] bpf_common.h
[edit]
[-] if_team.h
[edit]
[-] omapfb.h
[edit]
[-] pktcdvd.h
[edit]
[-] phantom.h
[edit]
[-] atmapi.h
[edit]
[-] hyperv.h
[edit]
[-] stddef.h
[edit]
[-] vt.h
[edit]
[-] cycx_cfm.h
[edit]
[-] parport.h
[edit]
[-] ptrace.h
[edit]
[-] nfs.h
[edit]
[-] if_bridge.h
[edit]
[+]
netfilter_bridge
[-] unix_diag.h
[edit]
[-] times.h
[edit]
[-] n_r3964.h
[edit]
[-] nl80211.h
[edit]
[-] kvm.h
[edit]
[-] virtio_ring.h
[edit]
[-] bpqether.h
[edit]
[-] ip6_tunnel.h
[edit]
[-] sem.h
[edit]
[-] llc.h
[edit]
[-] omap3isp.h
[edit]
[-] virtio_types.h
[edit]
[-] xattr.h
[edit]
[-] netfilter.h
[edit]
[-] edd.h
[edit]
[-] inet_diag.h
[edit]
[-] vfio.h
[edit]
[-] un.h
[edit]
[-] termios.h
[edit]
[+]
usb
[-] firewire-constants.h
[edit]
[-] nfs4.h
[edit]
[-] atmclip.h
[edit]
[-] devlink.h
[edit]
[-] ip_vs.h
[edit]
[-] nfc.h
[edit]
[-] flat.h
[edit]
[-] elf.h
[edit]
[-] if_x25.h
[edit]
[-] mdio.h
[edit]
[-] isdn_ppp.h
[edit]
[+]
isdn
[-] cm4000_cs.h
[edit]
[-] nvram.h
[edit]
[-] param.h
[edit]
[-] dlm_plock.h
[edit]
[-] virtio_balloon.h
[edit]
[-] telephony.h
[edit]
[-] dlmconstants.h
[edit]
[-] tcp.h
[edit]
[-] futex.h
[edit]
[-] virtio_scsi.h
[edit]
[-] net.h
[edit]
[-] sonypi.h
[edit]
[-] wait.h
[edit]
[-] apm_bios.h
[edit]
[-] if_macsec.h
[edit]
[+]
hsi
[-] gigaset_dev.h
[edit]
[-] capability.h
[edit]
[-] errqueue.h
[edit]
[+]
netfilter
[-] a.out.h
[edit]
[-] utsname.h
[edit]
[-] gen_stats.h
[edit]
[-] kdev_t.h
[edit]
[-] if_vlan.h
[edit]
[-] lwtunnel.h
[edit]
[-] uhid.h
[edit]
[-] i2c-dev.h
[edit]
[-] wimax.h
[edit]
[-] openvswitch.h
[edit]
[-] virtio_input.h
[edit]
[-] sonet.h
[edit]
[+]
hdlc
[-] ppp-comp.h
[edit]
[-] veth.h
[edit]
[-] atmsvc.h
[edit]
[-] netlink_diag.h
[edit]
[-] hid.h
[edit]
[-] const.h
[edit]
[-] psample.h
[edit]
[-] vm_sockets.h
[edit]
[-] i2c.h
[edit]
[-] synclink.h
[edit]
[-] if_arp.h
[edit]
[-] pfkeyv2.h
[edit]
[-] virtio_config.h
[edit]
[-] if_fc.h
[edit]
[-] eventpoll.h
[edit]
[-] binfmts.h
[edit]
[-] soundcard.h
[edit]
[-] in6.h
[edit]
[-] b1lli.h
[edit]
[-] suspend_ioctls.h
[edit]
[-] loop.h
[edit]
[-] seccomp.h
[edit]
[-] blktrace_api.h
[edit]
[-] adfs_fs.h
[edit]
[-] netdevice.h
[edit]
[-] virtio_console.h
[edit]
[-] dqblk_xfs.h
[edit]
[-] netfilter_decnet.h
[edit]
[-] mmtimer.h
[edit]
[-] can.h
[edit]
[-] adb.h
[edit]
[-] acct.h
[edit]
[-] ax25.h
[edit]
[-] coda_psdev.h
[edit]
[-] elf-fdpic.h
[edit]
[-] virtio_rng.h
[edit]
[-] signal.h
[edit]
[-] libc-compat.h
[edit]
[-] taskstats.h
[edit]
[-] ncp_no.h
[edit]
[-] ipx.h
[edit]
[-] userfaultfd.h
[edit]
[-] mempolicy.h
[edit]
[-] icmpv6.h
[edit]
[-] atmarp.h
[edit]
[-] if_frad.h
[edit]
[-] signalfd.h
[edit]
[-] irda.h
[edit]
[-] fiemap.h
[edit]
[-] virtio_pci.h
[edit]
[-] if_cablemodem.h
[edit]
[-] in_route.h
[edit]
[-] mpls.h
[edit]
[-] input.h
[edit]
[-] nfs_idmap.h
[edit]
[-] cramfs_fs.h
[edit]
[-] ptp_clock.h
[edit]
[-] audit.h
[edit]
[-] if_tun.h
[edit]
[-] igmp.h
[edit]
[-] if_alg.h
[edit]
[-] random.h
[edit]
[-] netfilter_ipv4.h
[edit]
[-] atm_nicstar.h
[edit]
[-] packet_diag.h
[edit]
[-] x25.h
[edit]
[+]
tc_act
[-] in.h
[edit]
[-] irqnr.h
[edit]
[-] ncp.h
[edit]
[-] reiserfs_xattr.h
[edit]
[+]
iio
[-] fs.h
[edit]
[-] map_to_7segment.h
[edit]
[+]
sunrpc
[-] if_addr.h
[edit]
[-] mtio.h
[edit]
[+]
nfsd
[-] hysdn_if.h
[edit]
[-] pci_regs.h
[edit]
[-] mroute6.h
[edit]
[-] isdn.h
[edit]
[-] udf_fs_i.h
[edit]