diff options
Diffstat (limited to 'private/unimodem/tapisp/debug.c')
-rw-r--r-- | private/unimodem/tapisp/debug.c | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/private/unimodem/tapisp/debug.c b/private/unimodem/tapisp/debug.c new file mode 100644 index 000000000..e6e978008 --- /dev/null +++ b/private/unimodem/tapisp/debug.c @@ -0,0 +1,214 @@ +//**************************************************************************** +// +// Module: UNIMDM.TSP +// File: debug.c +// Content: This file contains miscellaneous debug routines. +// History: +// Wed 12-Apr-1995 11:26:28 -by- Viroon Touranachun [viroont] +// +//**************************************************************************** + +#include "unimdm.h" + +#ifdef DEBUG + +//========== Debug output routines ========================================= + +LINEEVENT glpfnDebugEventProc; + +HLOCAL WINAPI DebugLocalFree(HLOCAL hMem) +{ + HLOCAL hlRet; + +#ifdef LocalFree +#undef LocalFree +#endif // LocalFree + + FillMemory(hMem, (DWORD)LocalSize(LocalHandle(hMem)), 0x69); + + if ((hlRet = LocalFree(hMem)) != NULL) + { + DPRINTF1("UnimodemFree: LocalFree failed, error=%ld", GetLastError()); + } + + return hlRet; +} + +// LineEventProc spewing code. +void DebugSetEventProc(LINEEVENT lineEventProc) +{ + glpfnDebugEventProc = lineEventProc; +} + +void CALLBACK DebugEventProc(HTAPILINE htLine, + HTAPICALL htCall, + DWORD dwMsg, + DWORD dwParam1, + DWORD dwParam2, + DWORD dwParam3) +{ + DPRINTF3("EventProc: htLine=0x%0.8x htCall=0x%0.8x dwMsg=0x%0.8x", + htLine, htCall, dwMsg); + DPRINTF3("EventProc:dwParam1=0x%0.8x dwParam2=0x%0.8x dwParam3=0x%0.8x", + dwParam1, dwParam2, dwParam3); + + (*(glpfnDebugEventProc))(htLine, htCall, dwMsg, + dwParam1, dwParam2, dwParam3); +} + + +VOID WINAPIV +TspDpf( + UINT Id, + LPTSTR FormatString, + ... + ) + +{ + va_list VarArg; + TCHAR OutBuffer[1024]; + + if (DisplayDebug(TF_GENERAL)) { + + wsprintf( + OutBuffer, + TEXT("%d - UNIMDM: "), + Id + ); + + va_start(VarArg,FormatString); + + wvsprintf( + OutBuffer+lstrlen(OutBuffer), + FormatString, + VarArg + ); + + lstrcat(OutBuffer,TEXT("\n")); + + OutputDebugString(OutBuffer); + } + + return; + +} + +VOID WINAPIV +McxDpf( + UINT Id, + LPSTR FormatString, + ... + ) + +{ + va_list VarArg; + CHAR OutBuffer[1024]; + + if (DisplayDebug(TF_GENERAL)) { + + wsprintfA( + OutBuffer, + "%d - UNIMDM: ", + Id + ); + + va_start(VarArg,FormatString); + + wvsprintfA( + OutBuffer+lstrlenA(OutBuffer), + FormatString, + VarArg + ); + + lstrcatA(OutBuffer,"\n"); + + OutputDebugStringA(OutBuffer); + } + + return; + +} + +#ifdef TEST_GTC // Function versions of the GTC_macros + +BOOL GTC_AleB(DWORD dwA, DWORD dwB) +{ + BOOL fRet; + +// ((DWORD)(((_A)<=(_B)) \ +// ? (((_B)-(_A))<=GTC_MAXDELTA)\ +// : (((_A)-(_B))>GTC_MAXDELTA))) + + if (dwA<=dwB) + { + if ((dwB-dwA)<=GTC_MAXDELTA) + { + fRet=TRUE; + } + else + { + DPRINTF2("GTC_AleB(%d,%d) !!ROLLOVER!!, returning FALSE\n", + dwA, dwB); + fRet= FALSE; + } + + } + else + { + if ((dwA-dwB)>GTC_MAXDELTA) + { + DPRINTF2("GTC_AleB(%d,%d) !!ROLLOVER!!, returning TRUE\n", + dwA, dwB); + fRet= TRUE; + } + else + { + fRet= FALSE; + } + } + return fRet; +} + +DWORD GTC_DELTA(DWORD dwStart, DWORD dwEnd) +{ + DWORD dwRet; +// ((DWORD) \ +// (((_End)>=(_Start)) \ +// ? ((_End)-(_Start)) \ +// : ((_End)+(GTC_MASK-(_Start))))) + if (dwEnd>=dwStart) + { + dwRet= dwEnd-dwStart; + } + else + { + dwRet=dwEnd+(GTC_MASK-dwStart); + DPRINTF3("GTC_DELTA(%d,%d) !!ROLLOVER!!, returning %d\n", + dwStart, dwEnd, dwRet); + } + + return dwRet; +} + +void fnGTC_AequalsBplusC(LPDWORD lpdwA, DWORD dwB, DWORD dwC) +{ +// ((_A=((_B)+(_C))>C_MASK),(_A)?(_A):((_A)=1)) + DWORD dwA = dwB+dwC; + *lpdwA = dwA>C_MASK; + if (*lpdwA!=dwA) + { + DPRINTF3("GTC_A=B+C(%d,%d,%d) !!ROLLOVER!!\n", + *lpdwA, dwB, dwC); + } + if (!*lpdwA) + { + *lpdwA=1; + DPRINTF3("GTC_A=B+C(%d,%d,%d) !!ROLLOVER TO NULL!!\n", + *lpdwA, dwB, dwC); + } + +} + +#endif // TEST_GTC + +#endif // DEBUG |