#ifndef _SURFACE_ #define _SURFACE_ #define MAXENDPOINTS 32 typedef struct { struct { HANDLE hRead, hWrite; char inPipe[256], outPipe[256]; } endpoint[MAXENDPOINTS]; HANDLE hDriver; char completeDeviceName[256]; } Surf; int surf_init(Surf *pSurf); int surf_close(Surf *pSurf); int surf_version(Surf *pSurf); int surf_send(Surf *pSurfC,int endPoint,void *buff,int len); int surf_recv(Surf *pSurfC,int endPoint,void *buff,int len); int surf_vendor(Surf *pSurf,unsigned int requestType, unsigned int request, unsigned int value, unsigned int idx, void *buff, int len); int surf_descriptor(Surf *pSurf,unsigned int requestType, unsigned int request, unsigned int value, unsigned int idx, void *buff, int len); int surf_peek_queue(Surf *pSurf); int surf_poke_queue(Surf *pSurf, char *str); int surf_read_queue(Surf *pSurf,char *buffer,int len); #endif