212 lines
4.4 KiB
C
212 lines
4.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998-2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
tracer.h
|
||
|
|
||
|
Abstract:
|
||
|
This module contains the global definitions of Tracer.
|
||
|
|
||
|
Author:
|
||
|
Michael Tsang (MikeTs) 02-May-2000
|
||
|
|
||
|
Environment:
|
||
|
User mode
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _TRACER_H
|
||
|
#define _TRACER_H
|
||
|
|
||
|
//
|
||
|
// Constants
|
||
|
//
|
||
|
#define ES_STD (WS_CHILD | WS_VSCROLL | WS_VISIBLE | \
|
||
|
ES_MULTILINE | ES_READONLY)
|
||
|
#define MAX_LEVELS 255
|
||
|
|
||
|
// gdwfTracer flag values
|
||
|
#define TF_UNTITLED 0x00000001
|
||
|
#define TF_LINEWRAP 0x00000002
|
||
|
#define TF_TERMINATING 0x80000000
|
||
|
|
||
|
//
|
||
|
// Macors
|
||
|
//
|
||
|
#define InitializeListHead(lh) ((lh)->Flink = (lh)->Blink = (lh))
|
||
|
#define IsListEmpty(lh) ((lh)->Flink == (lh))
|
||
|
#define RemoveHeadList(lh) (lh)->Flink; \
|
||
|
{RemoveEntryList((lh)->Flink)}
|
||
|
#define RemoveEntryList(e) { \
|
||
|
(e)->Blink->Flink = (e)->Flink; \
|
||
|
(e)->Flink->Blink = (e)->Blink; \
|
||
|
}
|
||
|
#define InsertTailList(lh,e) { \
|
||
|
(e)->Flink = (lh); \
|
||
|
(e)->Blink = (lh)->Blink; \
|
||
|
(lh)->Blink->Flink = (e); \
|
||
|
(lh)->Blink = (e); \
|
||
|
}
|
||
|
|
||
|
|
||
|
//
|
||
|
// Type definitions
|
||
|
//
|
||
|
typedef struct _SRVREQ
|
||
|
{
|
||
|
LONG lRequest;
|
||
|
PVOID Context;
|
||
|
} SRVREQ, *PSRVREQ;
|
||
|
|
||
|
typedef struct _CLIENT_ENTRY
|
||
|
{
|
||
|
CLIENTINFO ClientInfo;
|
||
|
SRVREQ SrvReq;
|
||
|
HANDLE hSrvReqEvent;
|
||
|
HPROPSHEETPAGE hPage;
|
||
|
SETTINGS TempSettings;
|
||
|
TRIGPT TempTrigPts[NUM_TRIGPTS];
|
||
|
LIST_ENTRY list;
|
||
|
char szClientName[MAX_CLIENTNAME_LEN];
|
||
|
} CLIENT_ENTRY, *PCLIENT_ENTRY;
|
||
|
|
||
|
#define SRVREQ_NONE 0x00000000
|
||
|
#define SRVREQ_BUSY 0x00000001
|
||
|
#define SRVREQ_GETCLIENTINFO 0x00000002
|
||
|
#define SRVREQ_SETCLIENTINFO 0x00000003
|
||
|
#define SRVREQ_TERMINATE 0x00000004
|
||
|
|
||
|
//
|
||
|
// Global Data
|
||
|
//
|
||
|
extern HANDLE ghServerThread;
|
||
|
extern HINSTANCE ghInstance;
|
||
|
extern PSZ gpszWinTraceClass;
|
||
|
extern HWND ghwndTracer;
|
||
|
extern HWND ghwndEdit;
|
||
|
extern HWND ghwndPropSheet;
|
||
|
extern HFONT ghFont;
|
||
|
extern HCURSOR ghStdCursor;
|
||
|
extern HCURSOR ghWaitCursor;
|
||
|
extern DWORD gdwfTracer;
|
||
|
extern LIST_ENTRY glistClients;
|
||
|
extern char gszApp[16];
|
||
|
extern char gszSearchText[128];
|
||
|
extern char gszFileName[MAX_PATH + 1];
|
||
|
extern char gszSaveFilterSpec[80];
|
||
|
extern int giPointSize;
|
||
|
extern LOGFONT gLogFont;
|
||
|
extern SETTINGS gDefGlobalSettings;
|
||
|
extern const int gTrigPtCtrlMap[NUM_TRIGPTS];
|
||
|
extern const int gTrigPtTraceMap[NUM_TRIGPTS];
|
||
|
extern const int gTrigPtBreakMap[NUM_TRIGPTS];
|
||
|
extern const int gTrigPtTextMap[NUM_TRIGPTS];
|
||
|
extern const int gTrigPtTraceTextMap[NUM_TRIGPTS];
|
||
|
extern const int gTrigPtBreakTextMap[NUM_TRIGPTS];
|
||
|
|
||
|
//
|
||
|
// Function prototypes
|
||
|
//
|
||
|
|
||
|
// tracer.c
|
||
|
BOOL
|
||
|
TracerInit(
|
||
|
IN HINSTANCE hInstance,
|
||
|
IN int nCmdShow
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
RegisterTracerClass(
|
||
|
IN HINSTANCE hInstance
|
||
|
);
|
||
|
|
||
|
LRESULT CALLBACK
|
||
|
TracerWndProc(
|
||
|
IN HWND hwnd,
|
||
|
IN UINT uiMsg,
|
||
|
IN WPARAM wParam,
|
||
|
IN LPARAM lParam
|
||
|
);
|
||
|
|
||
|
LRESULT
|
||
|
TracerCmdProc(
|
||
|
IN HWND hwnd,
|
||
|
IN WPARAM wParam,
|
||
|
IN LPARAM lParam
|
||
|
);
|
||
|
|
||
|
INT_PTR APIENTRY
|
||
|
GlobalSettingsDlgProc(
|
||
|
IN HWND hwnd,
|
||
|
IN UINT uiMsg,
|
||
|
IN WPARAM wParam,
|
||
|
IN LPARAM lParam
|
||
|
);
|
||
|
|
||
|
INT_PTR APIENTRY
|
||
|
ClientSettingsDlgProc(
|
||
|
IN HWND hwnd,
|
||
|
IN UINT uiMsg,
|
||
|
IN WPARAM wParam,
|
||
|
IN LPARAM lParam
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
EnableTrigPts(
|
||
|
IN HWND hDlg,
|
||
|
IN BOOL fEnable
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SaveFile(
|
||
|
IN HWND hwndParent,
|
||
|
IN PSZ pszFileName,
|
||
|
IN BOOL fSaveAs
|
||
|
);
|
||
|
|
||
|
UINT
|
||
|
CreatePropertyPages(
|
||
|
OUT HPROPSHEETPAGE *hPages
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SetTitle(
|
||
|
IN PSZ pszTitle OPTIONAL
|
||
|
);
|
||
|
|
||
|
int
|
||
|
FindTrigPtIndex(
|
||
|
IN int iID,
|
||
|
IN const int *IDTable
|
||
|
);
|
||
|
|
||
|
int
|
||
|
ErrorMsg(
|
||
|
IN ULONG ErrCode,
|
||
|
...
|
||
|
);
|
||
|
|
||
|
// server.c
|
||
|
VOID __cdecl
|
||
|
ServerThread(
|
||
|
PVOID pv
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SendServerRequest(
|
||
|
IN PCLIENT_ENTRY ClientEntry,
|
||
|
IN LONG lRequest,
|
||
|
IN PVOID Context
|
||
|
);
|
||
|
|
||
|
LPSTR
|
||
|
CopyStr(
|
||
|
OUT LPSTR pszDest,
|
||
|
IN LPCSTR pszSrc
|
||
|
);
|
||
|
|
||
|
#endif //ifndef _TRACER_H
|