HW/DAS/USBscopes/usbtm/include/usbcommon.h

#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>

#define countof(a) (sizeof(a) / sizeof(*a))
#define MAXFD 32

#ifndef DEVNAME
#define DEVNAME "/dev/ttyUSB"
#endif

#define USBTM_LED_MODE_NORMAL 0
#define USBTM_LED_MODE_BLINK 1
#define USBTM_LED_MODE_BLINK_FAST 2
#define USBTM_LED_MODE_BRIGHT 3

int opendev(int tty, int *fd);
void closedev(int tty, int fd);
char *deverror(int addr);
int readreg(int fd, unsigned char r, unsigned char *res);
int readregdouble(int fd, unsigned char r, unsigned *res);
int readregmulti(int fd, unsigned char r, int n, unsigned char *res);
int writereg(int fd, unsigned char r, unsigned char val);
int writeregdouble(int fd, unsigned char r, unsigned val);
int writeregquad(int fd, unsigned char r, unsigned val);
int writeregmulti(int fd, unsigned char *data, int n);
int changereg(int fd, unsigned char r,
    unsigned char andmask, unsigned char ormask);
int delaycycle(int fd, int cnt);

int usbtm_get_controller_rev(int fd, unsigned char *rev);
int usbtm_set_trig_master(int fd, int state);
int usbtm_set_clock_master(int fd, int state);
int usbtm_set_detect_line(int fd, int master, int state);
int usbtm_get_detect_line(int fd, int *ret);
int usbtm_set_led_mode(int fd, int mode);