Windows NT 4.0 source code leak
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
3.0 KiB

/*++
Copyright (c) 1993 Micorsoft Corporation
Module Name:
bwatch.h
Abstract:
Header file for browser watch program.
Author:
Congpa You (CongpaY) 10-Feb-1993
Revision History:
--*/
// Local data.
#define SIXTEENSPACES " "
#define BUFFERLENGTH 512
#define STRINGLEN 30
#define szBWATCH "bwatchlg"
#define szLOGFILE L"bwatchlg"
#define szBACKUP L"bwbackup"
#define szSeps " ,\t\n"
#define szAPPNAME "bwatch"
#define szDOMAINS "DOMAINS"
#define szDefaultDomain "ntlan"
#define szFILENAME "bwatch.ini"
#define szFILESIZELIMIT "FileSizeLimit"
#define szDefaultFileSizeLimit "100000"
// Global data.
INT nIndex = -1;
LIST_ENTRY WorkQueueHead;
LIST_ENTRY FreeQueueHead;
CRITICAL_SECTION CSWorkQueue;
CRITICAL_SECTION CSFreeQueue;
HANDLE hEvent;
// Local data type.
typedef struct _QUEUE_ENTRY
{
LIST_ENTRY List;
UCHAR ncb_callname[NCBNAMSZ];
UCHAR ncb_buffer[BUFFERLENGTH];
CHAR pTransportName[STRINGLEN];
CHAR pDomainName[STRINGLEN];
INT nIndex;
SYSTEMTIME systime;
}QUEUE_ENTRY, *PQUEUE_ENTRY;
typedef struct _SUPER_NCB
{
NCB ncb;
UCHAR Buffer[BUFFERLENGTH];
CCHAR lanaNumber;
CHAR pTransportName[STRINGLEN];
CHAR pDomainName[STRINGLEN];
CHAR nameNumber;
INT nIndex;
}SUPER_NCB, *PSUPER_NCB;
// Local Functions.
#define ClearNcb( PNCB ) { \
RtlZeroMemory( PNCB , sizeof (NCB) ); \
RtlCopyMemory( (PNCB)->ncb_name, SIXTEENSPACES, sizeof(SIXTEENSPACES)-1 );\
RtlCopyMemory( (PNCB)->ncb_callname, SIXTEENSPACES, sizeof(SIXTEENSPACES)-1 );\
}
void ReportError (DWORD dwError);
BOOL GetDomain (CHAR * pDomain);
INT GetLimit ();
BOOL Init();
void Registe (LPTSTR lpTransportName,
CHAR * pDomainName,
PSUPER_NCB psuperncb,
INT nIndex);
void RegisteWkgroupName (LPTSTR lpTransportName,
CHAR * pDomainName,
PSUPER_NCB psuperncb,
INT nIndex);
void SubmitRCDg(PSUPER_NCB psuperncb);
void RCDgPost(NCB * pncb);
void ProcessQueue(FILE * pFile, INT nFileSizeLimit);
void LoadWorkQueue (PSUPER_NCB psuperncb);
void PutBufferOnQueue(PLIST_ENTRY pQueueHead,
PQUEUE_ENTRY pEntry,
CRITICAL_SECTION * pCriticalSection);
PQUEUE_ENTRY PullBufferFromQueue(PLIST_ENTRY pQueueHead,
CRITICAL_SECTION * pCriticalSection);
BOOL Reset (UCHAR Lsn, CCHAR Lana_Num);
VOID AddName(UCHAR Suffix, NCB * pncb);
VOID DecodeName(LPSTR DecodedName, LPSTR EncodedName);
BOOL DecodeSmb(FILE * pFile, LPSTR DecodedName, PQUEUE_ENTRY pEntry);
LPSTR toansi(LPTSTR lpUnicode);
NET_API_STATUS GetBrowserTransportList (OUT PLMDR_TRANSPORT_LIST *TransportList);
void PrintHeader (FILE * pFile);
void TimeStamp (FILE * pFile, SYSTEMTIME * psystime);