|
Apache/2.2.15 (CentOS) Linux obd60-6c49958d75-2q7cw 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 uid=48(apache) gid=48(apache) groups=48(apache) server ip : 104.21.65.202 | your ip : 10.244.126.0 safemode OFF > / usr / include / linux / usb / |
| Filename | /usr/include/linux/usb/vstusb.h |
| Size | 2.43 kb |
| Permission | rw-r--r-- |
| Owner | apache |
| Create time | 23-Dec-2025 17:40 |
| Last modified | 07-Nov-2020 18:22 |
| Last accessed | 22-Apr-2026 00:21 |
| Actions | edit | rename | delete | download (gzip) |
| View | text | code | image |
/*****************************************************************************
* File: drivers/usb/misc/vstusb.h
*
* Purpose: Support for the bulk USB Vernier Spectrophotometers
*
* Author: EQware Engineering, Inc.
* Oregon City, OR, USA 97045
*
* Copyright: 2007, 2008
* Vernier Software & Technology
* Beaverton, OR, USA 97005
*
* Web: www.vernier.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*****************************************************************************/
/*****************************************************************************
*
* The vstusb module is a standard usb 'client' driver running on top of the
* standard usb host controller stack.
*
* In general, vstusb supports standard bulk usb pipes. It supports multiple
* devices and multiple pipes per device.
*
* The vstusb driver supports two interfaces:
* 1 - ioctl SEND_PIPE/RECV_PIPE - a general bulk write/read msg
* interface to any pipe with timeout support;
* 2 - standard read/write with ioctl config - offers standard read/write
* interface with ioctl configured pipes and timeouts.
*
* Both interfaces can be signal from other process and will abort its i/o
* operation.
*
* A timeout of 0 means NO timeout. The user can still terminate the read via
* signal.
*
* If using multiple threads with this driver, the user should ensure that
* any reads, writes, or ioctls are complete before closing the device.
* Changing read/write timeouts or pipes takes effect on next read/write.
*
*****************************************************************************/
struct vstusb_args {
union {
/* this struct is used for IOCTL_VSTUSB_SEND_PIPE, *
* IOCTL_VSTUSB_RECV_PIPE, and read()/write() fops */
struct {
void *buffer;
size_t count;
unsigned int timeout_ms;
int pipe;
};
/* this one is used for IOCTL_VSTUSB_CONFIG_RW */
struct {
int rd_pipe;
int rd_timeout_ms;
int wr_pipe;
int wr_timeout_ms;
};
};
};
#define VST_IOC_MAGIC 'L'
#define VST_IOC_FIRST 0x20
#define IOCTL_VSTUSB_SEND_PIPE _IO(VST_IOC_MAGIC, VST_IOC_FIRST)
#define IOCTL_VSTUSB_RECV_PIPE _IO(VST_IOC_MAGIC, VST_IOC_FIRST + 1)
#define IOCTL_VSTUSB_CONFIG_RW _IO(VST_IOC_MAGIC, VST_IOC_FIRST + 2)
* File: drivers/usb/misc/vstusb.h
*
* Purpose: Support for the bulk USB Vernier Spectrophotometers
*
* Author: EQware Engineering, Inc.
* Oregon City, OR, USA 97045
*
* Copyright: 2007, 2008
* Vernier Software & Technology
* Beaverton, OR, USA 97005
*
* Web: www.vernier.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*****************************************************************************/
/*****************************************************************************
*
* The vstusb module is a standard usb 'client' driver running on top of the
* standard usb host controller stack.
*
* In general, vstusb supports standard bulk usb pipes. It supports multiple
* devices and multiple pipes per device.
*
* The vstusb driver supports two interfaces:
* 1 - ioctl SEND_PIPE/RECV_PIPE - a general bulk write/read msg
* interface to any pipe with timeout support;
* 2 - standard read/write with ioctl config - offers standard read/write
* interface with ioctl configured pipes and timeouts.
*
* Both interfaces can be signal from other process and will abort its i/o
* operation.
*
* A timeout of 0 means NO timeout. The user can still terminate the read via
* signal.
*
* If using multiple threads with this driver, the user should ensure that
* any reads, writes, or ioctls are complete before closing the device.
* Changing read/write timeouts or pipes takes effect on next read/write.
*
*****************************************************************************/
struct vstusb_args {
union {
/* this struct is used for IOCTL_VSTUSB_SEND_PIPE, *
* IOCTL_VSTUSB_RECV_PIPE, and read()/write() fops */
struct {
void *buffer;
size_t count;
unsigned int timeout_ms;
int pipe;
};
/* this one is used for IOCTL_VSTUSB_CONFIG_RW */
struct {
int rd_pipe;
int rd_timeout_ms;
int wr_pipe;
int wr_timeout_ms;
};
};
};
#define VST_IOC_MAGIC 'L'
#define VST_IOC_FIRST 0x20
#define IOCTL_VSTUSB_SEND_PIPE _IO(VST_IOC_MAGIC, VST_IOC_FIRST)
#define IOCTL_VSTUSB_RECV_PIPE _IO(VST_IOC_MAGIC, VST_IOC_FIRST + 1)
#define IOCTL_VSTUSB_CONFIG_RW _IO(VST_IOC_MAGIC, VST_IOC_FIRST + 2)