Commit | Line | Data |
---|---|---|
5b775f67 GKH |
1 | /* |
2 | * Copyright (C) 2007 Stefan Kopp, Gechingen, Germany | |
3 | * Copyright (C) 2008 Novell, Inc. | |
4 | * Copyright (C) 2008 Greg Kroah-Hartman <gregkh@suse.de> | |
29779d89 | 5 | * Copyright (C) 2015 Dave Penkler <dpenkler@gmail.com> |
5b775f67 GKH |
6 | * |
7 | * This file holds USB constants defined by the USB Device Class | |
29779d89 DP |
8 | * and USB488 Subclass Definitions for Test and Measurement devices |
9 | * published by the USB-IF. | |
5b775f67 | 10 | * |
29779d89 DP |
11 | * It also has the ioctl and capability definitions for the |
12 | * usbtmc kernel driver that userspace needs to know about. | |
5b775f67 GKH |
13 | */ |
14 | ||
15 | #ifndef __LINUX_USB_TMC_H | |
16 | #define __LINUX_USB_TMC_H | |
17 | ||
18 | /* USB TMC status values */ | |
19 | #define USBTMC_STATUS_SUCCESS 0x01 | |
20 | #define USBTMC_STATUS_PENDING 0x02 | |
21 | #define USBTMC_STATUS_FAILED 0x80 | |
22 | #define USBTMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81 | |
23 | #define USBTMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82 | |
24 | #define USBTMC_STATUS_SPLIT_IN_PROGRESS 0x83 | |
25 | ||
26 | /* USB TMC requests values */ | |
27 | #define USBTMC_REQUEST_INITIATE_ABORT_BULK_OUT 1 | |
28 | #define USBTMC_REQUEST_CHECK_ABORT_BULK_OUT_STATUS 2 | |
29 | #define USBTMC_REQUEST_INITIATE_ABORT_BULK_IN 3 | |
30 | #define USBTMC_REQUEST_CHECK_ABORT_BULK_IN_STATUS 4 | |
31 | #define USBTMC_REQUEST_INITIATE_CLEAR 5 | |
32 | #define USBTMC_REQUEST_CHECK_CLEAR_STATUS 6 | |
33 | #define USBTMC_REQUEST_GET_CAPABILITIES 7 | |
34 | #define USBTMC_REQUEST_INDICATOR_PULSE 64 | |
dbf3e7f6 | 35 | #define USBTMC488_REQUEST_READ_STATUS_BYTE 128 |
379d3d33 DP |
36 | #define USBTMC488_REQUEST_REN_CONTROL 160 |
37 | #define USBTMC488_REQUEST_GOTO_LOCAL 161 | |
38 | #define USBTMC488_REQUEST_LOCAL_LOCKOUT 162 | |
5b775f67 GKH |
39 | |
40 | /* Request values for USBTMC driver's ioctl entry point */ | |
41 | #define USBTMC_IOC_NR 91 | |
42 | #define USBTMC_IOCTL_INDICATOR_PULSE _IO(USBTMC_IOC_NR, 1) | |
43 | #define USBTMC_IOCTL_CLEAR _IO(USBTMC_IOC_NR, 2) | |
44 | #define USBTMC_IOCTL_ABORT_BULK_OUT _IO(USBTMC_IOC_NR, 3) | |
45 | #define USBTMC_IOCTL_ABORT_BULK_IN _IO(USBTMC_IOC_NR, 4) | |
46 | #define USBTMC_IOCTL_CLEAR_OUT_HALT _IO(USBTMC_IOC_NR, 6) | |
47 | #define USBTMC_IOCTL_CLEAR_IN_HALT _IO(USBTMC_IOC_NR, 7) | |
29779d89 | 48 | #define USBTMC488_IOCTL_GET_CAPS _IOR(USBTMC_IOC_NR, 17, unsigned char) |
dbf3e7f6 | 49 | #define USBTMC488_IOCTL_READ_STB _IOR(USBTMC_IOC_NR, 18, unsigned char) |
379d3d33 DP |
50 | #define USBTMC488_IOCTL_REN_CONTROL _IOW(USBTMC_IOC_NR, 19, unsigned char) |
51 | #define USBTMC488_IOCTL_GOTO_LOCAL _IO(USBTMC_IOC_NR, 20) | |
52 | #define USBTMC488_IOCTL_LOCAL_LOCKOUT _IO(USBTMC_IOC_NR, 21) | |
5b775f67 | 53 | |
29779d89 DP |
54 | /* Driver encoded usb488 capabilities */ |
55 | #define USBTMC488_CAPABILITY_TRIGGER 1 | |
56 | #define USBTMC488_CAPABILITY_SIMPLE 2 | |
57 | #define USBTMC488_CAPABILITY_REN_CONTROL 2 | |
58 | #define USBTMC488_CAPABILITY_GOTO_LOCAL 2 | |
59 | #define USBTMC488_CAPABILITY_LOCAL_LOCKOUT 2 | |
60 | #define USBTMC488_CAPABILITY_488_DOT_2 4 | |
61 | #define USBTMC488_CAPABILITY_DT1 16 | |
62 | #define USBTMC488_CAPABILITY_RL1 32 | |
63 | #define USBTMC488_CAPABILITY_SR1 64 | |
64 | #define USBTMC488_CAPABILITY_FULL_SCPI 128 | |
65 | ||
5b775f67 | 66 | #endif |