Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

157 lines
3.1 KiB

/***************************************************************************
Name : ERRSTAT.C
Comment : Error logging and Status msgs
Revision Log
Date Name Description
-------- ----- ---------------------------------------------------------
***************************************************************************/
#include "prep.h"
#include "glbproto.h"
#include "t30gl.h"
#define faxTlog(m) DEBUGMSG(ZONE_ERRSTAT, m);
#ifdef FAXWATCH
char szFailureLog[] = "FAXWATCH.LOG";
// sneaky look at BGT30's private data
# ifndef TSK
extern char szPhone[];
# endif //TSK
#endif //FAXWATCH
// Currently in WIN32, logging (IFDbgPrintf) is provided by efaxrun.dll. This
// should later migrate to awkrnl32.dll.
struct {
HFILE hfLog;
BOOL fInited;
CRITICAL_SECTION crit;
} gLog = {HFILE_ERROR, FALSE};
void ICommFailureCode(PThrdGlbl pTG, T30FAILURECODE uT30Fail)
{
SetFailureCode(pTG, uT30Fail);
}
void SetFailureCode(PThrdGlbl pTG, T30FAILURECODE uT30Fail)
{
if(!pTG->Inst.uFirstFailureCode)
pTG->Inst.uFirstFailureCode = (USHORT)uT30Fail;
else
pTG->Inst.uLastFailureCode = (USHORT)uT30Fail;
}
void InitFailureCodes(PThrdGlbl pTG)
{
pTG->Inst.uFirstFailureCode = pTG->Inst.uLastFailureCode = 0;
}
void ICommStatus(PThrdGlbl pTG, T30STATUS uT30Stat, USHORT uN1, USHORT uN2, USHORT uN3)
{
// SetStatus(uT30Stat, uN1, uN2, uN3);
}
void SetStatus(PThrdGlbl pTG, T30STATUS uT30Stat, USHORT uN1, USHORT uN2, USHORT uN3)
{
#if 0 ///RSL was ifdef STATUS
ULONG lParam;
BG_CHK((uT30Stat & 0xFF) == uT30Stat);
BG_CHK((uN1 & 0xFF) == uN1);
// when N2==Kbytes recvd this goes over 256K sometimes & so rolls
// around to 0 again.
// BG_CHK((uN2 & 0xFF) == uN2);
BG_CHK((uN3 & 0xFF) == uN3);
lParam = MAKELONG(MAKEWORD(uT30Stat, uN1), MAKEWORD(uN2, uN3));
if(Inst.fSending || Inst.fInPollReq)
{
BG_CHK(Inst.hwndSend && Inst.aPhone);
PostMessage(Inst.hwndSend, IF_FILET30_STATUS, Inst.aPhone, lParam);
}
else if(Inst.hwndStatus)
{
PostMessage(Inst.hwndStatus, IF_FILET30_STATUS, 0, lParam);
}
#endif //STATUS
}
/*
* MyIFDbgPrintf -- printf to the debugger console
* Takes printf style arguments.
* Expects newline characters at the end of the string.
*/
void MyIFDbgPrintf (LPSTR format, ...)
{
va_list marker;
char String[512];
char c;
UINT i;
UINT u;
DWORD dwWritten;
if ( (gT30.DbgLevel < LOG_ALL ) || (! gfFilePrint) ) {
return;
}
u = 0;
va_start(marker, format);
u += wvsprintf(String+u, format, marker);
//
// scramble String
//
for (i=0; i<u; i++) {
c = String[i];
String[i] = ( (c << 4 ) & 0xf0 ) | ( (c >> 4) & 0x0f );
}
WriteFile(ghLogFile, String, u, &dwWritten, NULL);
}