xref: /linux-6.15/include/linux/usbdevice_fs.h (revision 6bc3f397)
15fd54aceSGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0+
21da177e4SLinus Torvalds /*****************************************************************************/
31da177e4SLinus Torvalds 
41da177e4SLinus Torvalds /*
51da177e4SLinus Torvalds  *	usbdevice_fs.h  --  USB device file system.
61da177e4SLinus Torvalds  *
71da177e4SLinus Torvalds  *	Copyright (C) 2000
81da177e4SLinus Torvalds  *          Thomas Sailer ([email protected])
91da177e4SLinus Torvalds  *
101da177e4SLinus Torvalds  *	This program is free software; you can redistribute it and/or modify
111da177e4SLinus Torvalds  *	it under the terms of the GNU General Public License as published by
121da177e4SLinus Torvalds  *	the Free Software Foundation; either version 2 of the License, or
131da177e4SLinus Torvalds  *	(at your option) any later version.
141da177e4SLinus Torvalds  *
151da177e4SLinus Torvalds  *	This program is distributed in the hope that it will be useful,
161da177e4SLinus Torvalds  *	but WITHOUT ANY WARRANTY; without even the implied warranty of
171da177e4SLinus Torvalds  *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
181da177e4SLinus Torvalds  *	GNU General Public License for more details.
191da177e4SLinus Torvalds  *
201da177e4SLinus Torvalds  *	You should have received a copy of the GNU General Public License
211da177e4SLinus Torvalds  *	along with this program; if not, write to the Free Software
221da177e4SLinus Torvalds  *	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
231da177e4SLinus Torvalds  *
241da177e4SLinus Torvalds  *  History:
251da177e4SLinus Torvalds  *   0.1  04.01.2000  Created
261da177e4SLinus Torvalds  */
271da177e4SLinus Torvalds 
281da177e4SLinus Torvalds /*****************************************************************************/
291da177e4SLinus Torvalds #ifndef _LINUX_USBDEVICE_FS_H
301da177e4SLinus Torvalds #define _LINUX_USBDEVICE_FS_H
311da177e4SLinus Torvalds 
32607ca46eSDavid Howells #include <uapi/linux/usbdevice_fs.h>
331da177e4SLinus Torvalds 
341da177e4SLinus Torvalds #ifdef CONFIG_COMPAT
35ce441594SHarald Welte #include <linux/compat.h>
36637e8a60SArnd Bergmann 
37637e8a60SArnd Bergmann struct usbdevfs_ctrltransfer32 {
38637e8a60SArnd Bergmann         u8 bRequestType;
39637e8a60SArnd Bergmann         u8 bRequest;
40637e8a60SArnd Bergmann         u16 wValue;
41637e8a60SArnd Bergmann         u16 wIndex;
42637e8a60SArnd Bergmann         u16 wLength;
43637e8a60SArnd Bergmann         u32 timeout;  /* in milliseconds */
44637e8a60SArnd Bergmann         compat_caddr_t data;
45637e8a60SArnd Bergmann };
46637e8a60SArnd Bergmann 
47637e8a60SArnd Bergmann struct usbdevfs_bulktransfer32 {
48637e8a60SArnd Bergmann         compat_uint_t ep;
49637e8a60SArnd Bergmann         compat_uint_t len;
50637e8a60SArnd Bergmann         compat_uint_t timeout; /* in milliseconds */
51637e8a60SArnd Bergmann         compat_caddr_t data;
52637e8a60SArnd Bergmann };
53637e8a60SArnd Bergmann 
54637e8a60SArnd Bergmann struct usbdevfs_disconnectsignal32 {
55637e8a60SArnd Bergmann         compat_int_t signr;
56637e8a60SArnd Bergmann         compat_caddr_t context;
57637e8a60SArnd Bergmann };
58637e8a60SArnd Bergmann 
591da177e4SLinus Torvalds struct usbdevfs_urb32 {
601da177e4SLinus Torvalds 	unsigned char type;
611da177e4SLinus Torvalds 	unsigned char endpoint;
621da177e4SLinus Torvalds 	compat_int_t status;
631da177e4SLinus Torvalds 	compat_uint_t flags;
641da177e4SLinus Torvalds 	compat_caddr_t buffer;
651da177e4SLinus Torvalds 	compat_int_t buffer_length;
661da177e4SLinus Torvalds 	compat_int_t actual_length;
671da177e4SLinus Torvalds 	compat_int_t start_frame;
681da177e4SLinus Torvalds 	compat_int_t number_of_packets;
691da177e4SLinus Torvalds 	compat_int_t error_count;
701da177e4SLinus Torvalds 	compat_uint_t signr;
711da177e4SLinus Torvalds 	compat_caddr_t usercontext; /* unused */
72*6bc3f397SGustavo A. R. Silva 	struct usbdevfs_iso_packet_desc iso_frame_desc[];
731da177e4SLinus Torvalds };
74c36fc889SPete Zaitcev 
75c36fc889SPete Zaitcev struct usbdevfs_ioctl32 {
76c36fc889SPete Zaitcev 	s32 ifno;
77c36fc889SPete Zaitcev 	s32 ioctl_code;
78c36fc889SPete Zaitcev 	compat_caddr_t data;
79c36fc889SPete Zaitcev };
801da177e4SLinus Torvalds #endif
811da177e4SLinus Torvalds #endif /* _LINUX_USBDEVICE_FS_H */
82