windows-nt/Source/XPSP1/NT/drivers/wdm/input/tabletpc/tracer/tracer.h
2020-09-26 16:20:57 +08:00

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