static void GL_SendString( NETFILE *fp, char *str) { size_t size; ENTER_FUNC; if (str != NULL) { size = strlen(str); } else { size = 0; } GL_SendLength(fp,size); if (!CheckNetFile(fp)) { GL_Error(); } if (size > 0) { Send(fp,str,size); if (!CheckNetFile(fp)) { GL_Error(); } } LEAVE_FUNC; }
static void GL_SendVersionString( NETFILE *fp) { char version[256]; char buff[256]; size_t size; sprintf(version,"version:blob:expand:pdf:download:negotiation:v47:v48:i18n"); #ifdef NETWORK_ORDER strcat(version, ":no"); #endif sprintf(buff,":agent=glclient2/%s",PACKAGE_VERSION); strcat(version, buff); size = strlen(version); SendChar(fp,(size&0xFF)); SendChar(fp,0); SendChar(fp,0); SendChar(fp,0); Send(fp,version,size); if ( !CheckNetFile(fp) ) { GL_Error(); } }
static void GL_SendFloat( NETFILE *fp, double data) { Send(fp,&data,sizeof(data)); if ( !CheckNetFile(fp) ) { GL_Error(); } }
static Bool GL_RecvBool( NETFILE *fp) { char buf[1]; Recv(fp,buf,1); if ( !CheckNetFile(fp) ) { GL_Error(); } return ((buf[0] == 'T' ) ? TRUE : FALSE); }
static double GL_RecvFloat( NETFILE *fp) { double data; Recv(fp,&data,sizeof(data)); if ( !CheckNetFile(fp) ) { GL_Error(); } return (data); }
static void GL_SendLBS( NETFILE *fp, LargeByteString *lbs) { GL_SendLength(fp,LBS_Size(lbs)); if ( LBS_Size(lbs) > 0 ) { Send(fp,LBS_Body(lbs),LBS_Size(lbs)); if ( !CheckNetFile(fp) ) { GL_Error(); } } }
static void GL_SendBool( NETFILE *fp, Bool data) { char buf[1]; buf[0] = data ? 'T' : 'F'; Send(fp,buf,1); if ( !CheckNetFile(fp) ) { GL_Error(); } }
static void GL_SendUInt( NETFILE *fp, unsigned int data) { unsigned char buff[sizeof(int)]; *(unsigned int *)buff = SEND32(data); Send(fp,buff,sizeof(unsigned int)); if ( !CheckNetFile(fp) ) { GL_Error(); } }
extern void GL_SendInt( NETFILE *fp, int data) { unsigned char buff[sizeof(int)]; data = SEND32(data); memcpy(buff,&data,sizeof(int)); Send(fp,buff,sizeof(int)); if ( !CheckNetFile(fp) ) { GL_Error(); } }
extern int GL_RecvInt( NETFILE *fp) { unsigned char buff[sizeof(int)]; int data; Recv(fp,buff,sizeof(int)); if ( !CheckNetFile(fp) ) { GL_Error(); } memcpy(&data,buff,sizeof(int)); data = RECV32(data); return data; }
static void LogThread(void *para) { int fhLog = (int)(long)para; NETFILE *fpLog; char buff[SIZE_BUFF + 1]; Bool fOK; char *str; fpLog = SocketToNet(fhLog); do { if ((fOK = RecvStringDelim(fpLog, SIZE_BUFF, buff))) { str = StrDup(buff); EnQueue(FileQueue, str); } if (!CheckNetFile(fpLog)) break; } while (fOK); CloseNet(fpLog); }
static void GL_RecvLBS( NETFILE *fp, LargeByteString *lbs) { size_t size; ENTER_FUNC; size = GL_RecvLength(fp); LBS_ReserveSize(lbs,size,FALSE); if ( size > 0 ) { Recv(fp,LBS_Body(lbs),size); if ( !CheckNetFile(fp) ) { GL_Error(); } } else { dbgmsg("Recv LBS 0 size."); } LEAVE_FUNC; }
extern void GL_SendName( NETFILE *fp, char *name) { size_t size; ENTER_FUNC; if ( name != NULL ) { size = strlen(name); } else { size = 0; } GL_SendLength(fp,size); if ( size > 0 ) { Send(fp,name,size); if ( !CheckNetFile(fp) ) { GL_Error(); } } LEAVE_FUNC; }
static void GL_RecvString( NETFILE *fp, size_t maxsize, char *str) { size_t lsize; ENTER_FUNC; lsize = GL_RecvLength(fp); if ( maxsize >= lsize ){ Recv(fp,str,lsize); if ( !CheckNetFile(fp) ) { GL_Error(); } str[lsize] = 0; } else { ShowErrorDialog( _("GL_RecvString invalid size %ld > %ld(max size)"), (unsigned long)lsize,(unsigned long)maxsize); } LEAVE_FUNC; }
static void DisconnectBlobAPI(NETFILE *fp) { if (fp != NULL && CheckNetFile(fp)) { CloseNet(fp); } }