linux/include/uapi/linux/usbdevice_fs.h

/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
/*****************************************************************************/

/*
 *	usbdevice_fs.h  --  USB device file system.
 *
 *	Copyright (C) 2000
 *          Thomas Sailer ([email protected])
 *
 *	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 _UAPI_LINUX_USBDEVICE_FS_H
#define _UAPI_LINUX_USBDEVICE_FS_H

#include <linux/types.h>
#include <linux/magic.h>

/* --------------------------------------------------------------------- */

/* usbdevfs ioctl codes */

struct usbdevfs_ctrltransfer {};

struct usbdevfs_bulktransfer {};

struct usbdevfs_setinterface {};

struct usbdevfs_disconnectsignal {};

#define USBDEVFS_MAXDRIVERNAME

struct usbdevfs_getdriver {};

struct usbdevfs_connectinfo {};

struct usbdevfs_conninfo_ex {};

#define USBDEVFS_URB_SHORT_NOT_OK
#define USBDEVFS_URB_ISO_ASAP
#define USBDEVFS_URB_BULK_CONTINUATION
#define USBDEVFS_URB_NO_FSBR
#define USBDEVFS_URB_ZERO_PACKET
#define USBDEVFS_URB_NO_INTERRUPT

#define USBDEVFS_URB_TYPE_ISO
#define USBDEVFS_URB_TYPE_INTERRUPT
#define USBDEVFS_URB_TYPE_CONTROL
#define USBDEVFS_URB_TYPE_BULK

struct usbdevfs_iso_packet_desc {};

struct usbdevfs_urb {};

/* ioctls for talking directly to drivers */
struct usbdevfs_ioctl {};

/* You can do most things with hubs just through control messages,
 * except find out what device connects to what port. */
struct usbdevfs_hub_portinfo {};

/* System and bus capability flags */
#define USBDEVFS_CAP_ZERO_PACKET
#define USBDEVFS_CAP_BULK_CONTINUATION
#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM
#define USBDEVFS_CAP_BULK_SCATTER_GATHER
#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT
#define USBDEVFS_CAP_MMAP
#define USBDEVFS_CAP_DROP_PRIVILEGES
#define USBDEVFS_CAP_CONNINFO_EX
#define USBDEVFS_CAP_SUSPEND

/* USBDEVFS_DISCONNECT_CLAIM flags & struct */

/* disconnect-and-claim if the driver matches the driver field */
#define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER
/* disconnect-and-claim except when the driver matches the driver field */
#define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER

struct usbdevfs_disconnect_claim {};

struct usbdevfs_streams {};

/*
 * USB_SPEED_* values returned by USBDEVFS_GET_SPEED are defined in
 * linux/usb/ch9.h
 */

#define USBDEVFS_CONTROL
#define USBDEVFS_CONTROL32
#define USBDEVFS_BULK
#define USBDEVFS_BULK32
#define USBDEVFS_RESETEP
#define USBDEVFS_SETINTERFACE
#define USBDEVFS_SETCONFIGURATION
#define USBDEVFS_GETDRIVER
#define USBDEVFS_SUBMITURB
#define USBDEVFS_SUBMITURB32
#define USBDEVFS_DISCARDURB
#define USBDEVFS_REAPURB
#define USBDEVFS_REAPURB32
#define USBDEVFS_REAPURBNDELAY
#define USBDEVFS_REAPURBNDELAY32
#define USBDEVFS_DISCSIGNAL
#define USBDEVFS_DISCSIGNAL32
#define USBDEVFS_CLAIMINTERFACE
#define USBDEVFS_RELEASEINTERFACE
#define USBDEVFS_CONNECTINFO
#define USBDEVFS_IOCTL
#define USBDEVFS_IOCTL32
#define USBDEVFS_HUB_PORTINFO
#define USBDEVFS_RESET
#define USBDEVFS_CLEAR_HALT
#define USBDEVFS_DISCONNECT
#define USBDEVFS_CONNECT
#define USBDEVFS_CLAIM_PORT
#define USBDEVFS_RELEASE_PORT
#define USBDEVFS_GET_CAPABILITIES
#define USBDEVFS_DISCONNECT_CLAIM
#define USBDEVFS_ALLOC_STREAMS
#define USBDEVFS_FREE_STREAMS
#define USBDEVFS_DROP_PRIVILEGES
#define USBDEVFS_GET_SPEED
/*
 * Returns struct usbdevfs_conninfo_ex; length is variable to allow
 * extending size of the data returned.
 */
#define USBDEVFS_CONNINFO_EX(len)
#define USBDEVFS_FORBID_SUSPEND
#define USBDEVFS_ALLOW_SUSPEND
#define USBDEVFS_WAIT_FOR_RESUME

#endif /* _UAPI_LINUX_USBDEVICE_FS_H */