33#define __RELFILE__ __FILE__
68#define UNIMPLEMENTED WINE_FIXME("%s is UNIMPLEMENTED!\n", __FUNCTION__)
70#ifndef WINE_NO_TRACE_MSGS
71# define __WINE_GET_DEBUGGING_TRACE(dbch) ((dbch)->flags & (1 << __WINE_DBCL_TRACE))
73# define __WINE_GET_DEBUGGING_TRACE(dbch) 0
76#ifndef WINE_NO_DEBUG_MSGS
77# define __WINE_GET_DEBUGGING_WARN(dbch) ((dbch)->flags & (1 << __WINE_DBCL_WARN))
78# define __WINE_GET_DEBUGGING_FIXME(dbch) ((dbch)->flags & (1 << __WINE_DBCL_FIXME))
80# define __WINE_GET_DEBUGGING_WARN(dbch) 0
81# define __WINE_GET_DEBUGGING_FIXME(dbch) 0
85#define __WINE_GET_DEBUGGING_ERR(dbch) ((dbch)->flags & (1 << __WINE_DBCL_ERR))
87#define __WINE_GET_DEBUGGING(dbcl,dbch) __WINE_GET_DEBUGGING##dbcl(dbch)
89#define __WINE_IS_DEBUG_ON(dbcl,dbch) \
90 (__WINE_GET_DEBUGGING##dbcl(dbch) && (__wine_dbg_get_channel_flags(dbch) & (1 << __WINE_DBCL##dbcl)))
92#define __WINE_DPRINTF(dbcl,dbch) \
93 do { if(__WINE_GET_DEBUGGING(dbcl,(dbch))) { \
94 struct __wine_debug_channel * const __dbch = (dbch); \
95 const enum __wine_debug_class __dbcl = __WINE_DBCL##dbcl; \
98#define __WINE_DBG_LOG(...) \
99 ros_dbg_log( __dbcl, __dbch, __RELFILE__, __FUNCTION__, __LINE__, __VA_ARGS__); } } while(0)
101#ifndef __WINE_PRINTF_ATTR
102#if !defined(__REACTOS__)
103#define __WINE_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
105#define __WINE_PRINTF_ATTR(fmt,args)
109#ifdef WINE_NO_TRACE_MSGS
110#define WINE_TRACE(...) do { } while(0)
111#define WINE_TRACE_(ch) WINE_TRACE
114#ifdef WINE_NO_DEBUG_MSGS
115#define WINE_WARN(...) do { } while(0)
116#define WINE_WARN_(ch) WINE_WARN
117#define WINE_FIXME(...) do { } while(0)
118#define WINE_FIXME_(ch) WINE_FIXME
134 unsigned char set,
unsigned char clear );
145#ifndef __WINE_WINE_TEST_H
159#ifndef __WINE_WINE_TEST_H
171#if defined(__hstring_h__) && defined(__WINSTRING_H_)
172static inline const char *wine_dbgstr_hstring(
HSTRING hstr )
180#ifndef __WINE_WINE_TEST_H
183 if (!
id)
return "(null)";
185 return wine_dbg_sprintf(
"{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
186 id->Data1,
id->Data2,
id->Data3,
187 id->Data4[0],
id->Data4[1],
id->Data4[2],
id->Data4[3],
188 id->Data4[4],
id->Data4[5],
id->Data4[6],
id->Data4[7] );
194static inline const char *wine_dbgstr_fourcc(
unsigned int fourcc )
196 char str[4] = { (
char)fourcc, (
char)(fourcc >> 8), (
char)(fourcc >> 16), (
char)(fourcc >> 24) };
205#ifndef __WINE_WINE_TEST_H
208 if (!
pt)
return "(null)";
214 if (!
size)
return "(null)";
220 if (!
rect)
return "(null)";
227#if !defined(__WINE_WINE_TEST_H) || !defined(WINETEST_USE_DBGSTR_LONGLONG)
236#if defined(__oaidl_h__) && defined(V_VT)
238static inline const char *wine_dbgstr_vt(
VARTYPE vt )
240 static const char *
const variant_types[] =
242 "VT_EMPTY",
"VT_NULL",
"VT_I2",
"VT_I4",
"VT_R4",
"VT_R8",
"VT_CY",
"VT_DATE",
243 "VT_BSTR",
"VT_DISPATCH",
"VT_ERROR",
"VT_BOOL",
"VT_VARIANT",
"VT_UNKNOWN",
244 "VT_DECIMAL",
"15",
"VT_I1",
"VT_UI1",
"VT_UI2",
"VT_UI4",
"VT_I8",
"VT_UI8",
245 "VT_INT",
"VT_UINT",
"VT_VOID",
"VT_HRESULT",
"VT_PTR",
"VT_SAFEARRAY",
246 "VT_CARRAY",
"VT_USERDEFINED",
"VT_LPSTR",
"VT_LPWSTR",
"32",
"33",
"34",
"35",
247 "VT_RECORD",
"VT_INT_PTR",
"VT_UINT_PTR",
"39",
"40",
"41",
"42",
"43",
"44",
"45",
248 "46",
"47",
"48",
"49",
"50",
"51",
"52",
"53",
"54",
"55",
"56",
"57",
"58",
"59",
"60",
249 "61",
"62",
"63",
"VT_FILETIME",
"VT_BLOB",
"VT_STREAM",
"VT_STORAGE",
250 "VT_STREAMED_OBJECT",
"VT_STORED_OBJECT",
"VT_BLOB_OBJECT",
"VT_CF",
"VT_CLSID",
251 "VT_VERSIONED_STREAM"
254 static const char *
const variant_flags[16] =
259 "|VT_VECTOR|VT_ARRAY",
261 "|VT_VECTOR|VT_BYREF",
262 "|VT_ARRAY|VT_BYREF",
263 "|VT_VECTOR|VT_ARRAY|VT_BYREF",
265 "|VT_VECTOR|VT_RESERVED",
266 "|VT_ARRAY|VT_RESERVED",
267 "|VT_VECTOR|VT_ARRAY|VT_RESERVED",
268 "|VT_BYREF|VT_RESERVED",
269 "|VT_VECTOR|VT_BYREF|VT_RESERVED",
270 "|VT_ARRAY|VT_BYREF|VT_RESERVED",
271 "|VT_VECTOR|VT_ARRAY|VT_BYREF|VT_RESERVED",
277 if (
vt <
sizeof(variant_types)/
sizeof(*variant_types))
278 return variant_types[
vt];
281 return "VT_BSTR_BLOB";
286static inline const char *wine_dbgstr_variant(
const VARIANT *
v )
357#define WINE_TRACE __WINE_DPRINTF(_TRACE,__wine_dbch___default)
358#define WINE_TRACE_(ch) __WINE_DPRINTF(_TRACE,&__wine_dbch_##ch)
360#define WINE_TRACE_ON(ch) __WINE_IS_DEBUG_ON(_TRACE,&__wine_dbch_##ch)
363#define WINE_WARN __WINE_DPRINTF(_WARN,__wine_dbch___default)
364#define WINE_WARN_(ch) __WINE_DPRINTF(_WARN,&__wine_dbch_##ch)
366#define WINE_WARN_ON(ch) __WINE_IS_DEBUG_ON(_WARN,&__wine_dbch_##ch)
369#define WINE_FIXME __WINE_DPRINTF(_FIXME,__wine_dbch___default)
370#define WINE_FIXME_(ch) __WINE_DPRINTF(_FIXME,&__wine_dbch_##ch)
372#define WINE_FIXME_ON(ch) __WINE_IS_DEBUG_ON(_FIXME,&__wine_dbch_##ch)
374#define WINE_ERR __WINE_DPRINTF(_ERR,__wine_dbch___default)
375#define WINE_ERR_(ch) __WINE_DPRINTF(_ERR,&__wine_dbch_##ch)
376#define WINE_ERR_ON(ch) __WINE_IS_DEBUG_ON(_ERR,&__wine_dbch_##ch)
378#define WINE_DECLARE_DEBUG_CHANNEL(ch) \
379 static struct __wine_debug_channel __wine_dbch_##ch = { (unsigned char)~0, #ch }
380#define WINE_DEFAULT_DEBUG_CHANNEL(ch) \
381 static struct __wine_debug_channel __wine_dbch_##ch = { (unsigned char)~0, #ch }; \
382 static struct __wine_debug_channel * const __wine_dbch___default = &__wine_dbch_##ch
384#define WINE_DPRINTF wine_dbg_printf
385#define WINE_MESSAGE wine_dbg_printf
389#ifndef __WINE_WINE_TEST_H
399#if defined(__hstring_h__) && defined(__WINSTRING_H_)
400static inline const char *debugstr_hstring(
struct HSTRING__ *
s ) {
return wine_dbgstr_hstring(
s ); }
403#if defined(__oaidl_h__) && defined(V_VT)
408#define TRACE WINE_TRACE
409#define TRACE_(ch) WINE_TRACE_(ch)
410#define TRACE_ON(ch) WINE_TRACE_ON(ch)
412#define WARN WINE_WARN
413#define WARN_(ch) WINE_WARN_(ch)
414#define WARN_ON(ch) WINE_WARN_ON(ch)
416#define FIXME WINE_FIXME
417#define FIXME_(ch) WINE_FIXME_(ch)
418#define FIXME_ON(ch) WINE_FIXME_ON(ch)
422#define ERR_(ch) WINE_ERR_(ch)
423#define ERR_ON(ch) WINE_ERR_ON(ch)
425#define DPRINTF WINE_DPRINTF
426#define MESSAGE WINE_MESSAGE
LPCWSTR WINAPI WindowsGetStringRawBuffer(HSTRING str, UINT32 *len)
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
static const char * debugstr_variant(const VARIANT *var)
int __wine_dbg_set_channel_flags(struct __wine_debug_channel *channel, unsigned char set, unsigned char clear)
const char int int __cdecl __wine_dbg_output(const char *str)
const char * wine_dbgstr_an(const char *s, int n)
static __inline const char * wine_dbgstr_point(const POINT *pt)
static __inline const char * debugstr_an(const char *s, int n)
const char * wine_dbg_sprintf(const char *format,...) __WINE_PRINTF_ATTR(1
int int ros_dbg_log(enum __wine_debug_class cls, struct __wine_debug_channel *ch, const char *file, const char *func, const int line, const char *format,...) __WINE_PRINTF_ATTR(6
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define __WINE_PRINTF_ATTR(fmt, args)
static __inline const char * wine_dbgstr_size(const SIZE *size)
static __inline const char * wine_dbgstr_rect(const RECT *rect)
int int static __inline const char * wine_dbgstr_a(const char *s)
static __inline const char * wine_dbgstr_guid(const GUID *id)
void __wine_dbg_set_functions(const struct __wine_debug_functions *new_funcs, struct __wine_debug_functions *old_funcs, size_t size)
int wine_dbg_log(enum __wine_debug_class cls, struct __wine_debug_channel *ch, const char *func, const char *format,...) __WINE_PRINTF_ATTR(4
const char int wine_dbg_printf(const char *format,...) __WINE_PRINTF_ATTR(1
static __inline const char * debugstr_fourcc(unsigned int cc)
void(*const release_temp_buffer)(char *buffer, size_t n)
int(* dbg_vlog)(enum __wine_debug_class cls, struct __wine_debug_channel *channel, const char *file, const char *function, const int line, const char *format, va_list args)
const char *(*const dbgstr_wn)(const WCHAR *s, int n)
const char *(*const dbgstr_an)(const char *s, int n)
int(*const dbg_vprintf)(const char *format, va_list args)
char *(*const get_temp_buffer)(size_t n)
#define __wine_dbg_get_channel_flags(channel)