www.pudn.com > wsc4c30.zip > LINE.C
/*** line.c ***/
#include "windows.h"
#include "wsc.h"
#include "line.h"
#include "sioerror.h"
#include "paint.h"
extern HWND hMainWnd;
extern int FatalFlag;
extern int OnLineFlag;
/*** PRIVATE ***/
static int ErrorCheck(int Code,char *Text)
{if(Code<0) SioError(Code,Text);
return Code;
}
/*** PUBLIC ***/
int GoOnLine(int Port, int BaudCode, int RxQueSize, int TxQueSize)
{int RetCode;
int Version;
char Temp[50];
if(OnLineFlag) return TRUE;
/* reset Port */
SioReset(-1,1,1); // Set DTR & RTS at port initialization.
RetCode = SioReset(Port,RxQueSize,TxQueSize);
if(RetCode<0)
{wsprintf((LPSTR)Temp,"SioReset:COM%d",1+Port);
SioError(RetCode,Temp);
return FALSE;
}
/* set baud rate */
ErrorCheck( SioBaud(Port,BaudCode), "SioBaud");
/* clear receive buffer */
ErrorCheck( SioRxClear(Port), "SioRxClear");
/* no flow control */
ErrorCheck( SioFlow(Port,'N'), "SioFlow");
/* we're done */
Version = SioInfo('V');
wsprintf((LPSTR)Temp,"WSC Version %d.%d.%d", (Version>>8),0x0f&(Version>>4),0x0f&Version);
DisplayLine((LPSTR)Temp);
OnLineFlag = TRUE;
return TRUE;
}
void GoOffLine(int Port)
{SioDone(Port);
/* we're done */
OnLineFlag = FALSE;
}