#include #include #include #include #include #include #include #include #include #include #include #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);