2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
13 #include <WINNT/afsclass.h>
15 #ifndef DEBUG // building retail?
18 #define ASSERT(b) ((b) ? TRUE : FALSE) // take failure paths if retail asserts
21 #else // building debug?
24 #define ASSERT(b) AssertFn(b, #b, __LINE__, __FILE__)
30 typedef unsigned char uchar
;
31 typedef unsigned short ushort
;
33 #define ANGLES_ON "[AnglesOn]"
34 #define ANGLES_OFF "[AnglesOff]"
35 #define LASTERROR "[LastError]"
39 * DEFINITIONS ________________________________________________________________
51 * TYPEDEFS ___________________________________________________________________
60 Debugstr
& operator<< (char *psz
);
61 Debugstr
& operator<< (void *psz
);
62 Debugstr
& operator<< (long v
);
63 Debugstr
& operator<< (size_t v
);
64 Debugstr
& operator<< (ushort v
);
65 Debugstr
& operator<< (short v
);
66 Debugstr
& operator<< (uchar ch
);
67 Debugstr
& operator<< (char ch
);
68 Debugstr
& operator<< (double f
);
69 Debugstr
& operator<< (RECT r
);
70 Debugstr
& operator<< (LPIDENT lpi
);
75 static LRESULT APIENTRY
DebugWndProc (HWND
, UINT
, WPARAM
, LPARAM
);
77 void OutString (char *str
, BOOL fRecord
);
85 static void Register (void);
86 static void Initialize (void);
87 void Output (HDC hdc
, char *str
, BOOL fRecord
);
89 static int fRegistered
;
93 static ushort gx
, gcX
;
94 static ushort gy
, gcY
;
95 static char gdata
[ yMAX
][ xMAX
];
107 cdecl LogOut (char *format
, ...);
111 char pszFormat
[ 256 ];
113 char *aPtr
[ MAX_ARGS
];
120 * VARIABLES __________________________________________________________________
124 extern Debugstr debug
;
128 * PROTOTYPES _________________________________________________________________
132 extern int AssertFn (int, char *, int, char *);