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.
 
 
 
 
 
 

120 lines
2.4 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1997 - 1999
//
// File: log.cxx
//
//--------------------------------------------------------------------------
#include "precomp.h"
#ifdef LOGGING
static HANDLE _hLogFile = INVALID_HANDLE_VALUE;
BOOL Log_Init( VOID )
{
#if 1
_hLogFile = CreateFile(
L"IrXfer.log",
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS, // overwrite any existing file
FILE_ATTRIBUTE_NORMAL,
NULL
);
#endif
if( INVALID_HANDLE_VALUE == _hLogFile )
return FALSE;
Log( SEV_INFO, "**\r\n**\r\n** Infrared File Transfer Log\r\n**\r\n**" );
return TRUE;
}
VOID Log_Close( VOID )
{
if( INVALID_HANDLE_VALUE != _hLogFile )
{
CloseHandle( _hLogFile );
_hLogFile = INVALID_HANDLE_VALUE;
}
}
VOID Log( DWORD dwSev, LPSTR lpsz )
{
DWORD dwWritten;
LPSTR lpszPrefix = "??";
#if 1
if( INVALID_HANDLE_VALUE == _hLogFile )
if( !Log_Init() )
return;
switch( dwSev )
{
case SEV_INFO: lpszPrefix = ""; break;
case SEV_FUNCTION: lpszPrefix = "Function: "; break;
case SEV_WARNING: lpszPrefix = "WARNING: "; break;
case SEV_ERROR: lpszPrefix = "ERROR! "; break;
}
char Buffer[2000];
sprintf( Buffer,
"[%d] %d %s %s\r\n",
GetTickCount(),
GetCurrentThreadId(),
lpszPrefix,
lpsz
);
WriteFile(
_hLogFile,
Buffer,
lstrlenA(Buffer),
&dwWritten,
NULL
);
#else
char threadId[20];
sprintf(threadId, "[%d] ", GetCurrentThreadId() );
printf(threadId);
switch( dwSev )
{
case SEV_INFO: lpszPrefix = ""; break;
case SEV_FUNCTION: lpszPrefix = "Function: "; break;
case SEV_WARNING: lpszPrefix = "WARNING: "; break;
case SEV_ERROR: lpszPrefix = "ERROR! "; break;
}
printf(lpszPrefix);
printf("%s\n", lpsz);
#endif
}
LPSTR GetSocketMsgSz( INT nSockMsg )
{
switch( nSockMsg )
{
case FD_WRITE: return "FD_WRITE";
case FD_ACCEPT: return "FD_ACCEPT";
case FD_READ: return "FD_READ";
case FD_OOB: return "FD_OOB";
case FD_CLOSE: return "FD_CLOSE";
default: return "UNKNOWN";
}
}
#endif