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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdarg.h>
#include <time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>


#define MAXDATA  256
#define QUEUELEN 1024
#define NQUEUE   5
#define MAXWAIT  5

#define MIN(a,b) ((a)<(b)?(a):(b))


#define RETVAL_MALLOC   1
#define RETVAL_SOCKET   2
#define RETVAL_DEVICE   3
#define RETVAL_SEND     4
#define RETVAL_RECV     5
#define RETVAL_QUEUE    6
#define RETVAL_WAIT     7
#define RETVAL_WRITE    8

#define LX_ERROR_NO_ERROR   0
#define LX_ERROR_MEMORY     1
#define LX_ERROR_NETWORK    2
#define LX_ERROR_NOT_FOUND   3
#define LX_ERROR_ACTIVATE   4

struct commstr;
struct devinfo;
struct cliinfo;
struct udppacket;


int initsock(char *ip);

void setupstr(struct commstr *str, unsigned char code, unsigned acc, unsigned short d0E,
    unsigned short d10, unsigned short d12, unsigned short datalen);
void sendstr(struct commstr *str);
void sendpacket(unsigned char code, unsigned acc, unsigned short d0E,
    unsigned short d10, unsigned short d12, unsigned short datalen, ...);
void sendsimple(unsigned char code, unsigned acc, unsigned short d0E,
    unsigned short d10, unsigned short d12);
void sendpacket_va(unsigned char code, unsigned acc, unsigned short d0E,
    unsigned short d10, unsigned short d12, unsigned short datalen, va_list ap);
void sendconfig(unsigned acc, unsigned short datalen, ...);

struct commstr *readpacket(int sock);
void dispatch(struct commstr *str);
struct commstr *waitpacket(unsigned char code);
struct commstr *waitpacket61(unsigned short code);
struct commstr *waitpacket_sid(unsigned sid);

int opendev_lx(int addr, int *acc);
int closedev_lx(int addr);
char *deverror_lx(int addr);

int write_lx(unsigned acc, void *buf, size_t count);
int read_lx(unsigned acc, void *buf, size_t count);