]> git.saurik.com Git - wxWidgets.git/blame - src/iodbc/itrace.h
fix for wxuse_iostreamh
[wxWidgets.git] / src / iodbc / itrace.h
CommitLineData
7e616b10 1#ifndef _ITRACE_H
1a6944fd
RR
2# define _ITRACE_H
3
7e616b10 4# ifdef DEBUG
1a6944fd
RR
5# ifndef NO_TRACE
6# define NO_TRACE
7# endif
8# endif
9
7e616b10
RR
10# define TRACE_TYPE_APP2DM 1
11# define TRACE_TYPE_DM2DRV 2
12# define TRACE_TYPE_DRV2DM 3
1a6944fd 13
7e616b10 14# define TRACE_TYPE_RETURN 4
1a6944fd 15
7e616b10 16extern HPROC _iodbcdm_gettrproc(void FAR* stm, int procid, int type);
1a6944fd
RR
17
18# ifdef NO_TRACE
7e616b10 19# define TRACE_CALL( stm, trace_on, procid, plist )
1a6944fd
RR
20# else
21# define TRACE_CALL( stm, trace_on, plist )\
7e616b10
RR
22 {\
23 if( trace_on)\
24 {\
25 HPROC hproc;\
1a6944fd 26\
7e616b10 27 hproc = _iodbcdm_gettrproc(stm, procid, TRACE_TYPE_APP2DM);\
1a6944fd 28\
7e616b10
RR
29 if( hproc )\
30 hproc plist;\
31 }\
32 }
1a6944fd
RR
33# endif
34
35# ifdef NO_TRACE
36# define TRACE_DM2DRV( stm, procid, plist )
37# else
38# define TRACE_DM2DRV( stm, procid, plist )\
7e616b10
RR
39 {\
40 HPROC hproc;\
1a6944fd 41\
7e616b10 42 hproc = _iodbcdm_gettrproc(stm, procid, TRACE_TYPE_DM2DRV);\
1a6944fd 43\
7e616b10
RR
44 if( hproc )\
45 hproc plist;\
46 }
1a6944fd
RR
47# endif
48
49# ifdef NO_TRACE
50# define TRACE_DRV2DM( stm, procid, plist )
51# else
52# define TRACE_DRV2DM( stm, procid, plist ) \
7e616b10
RR
53 {\
54 HPROC hproc;\
1a6944fd 55\
7e616b10 56 hproc = _iodbcdm_gettrproc( stm, procid, TRACE_TYPE_DRV2DM);\
1a6944fd 57\
7e616b10
RR
58 if( hproc )\
59 hproc plist;\
60 }
1a6944fd
RR
61# endif
62
63# ifdef NO_TRACE
64# define TRACE_RETURN( stm, trace_on, ret )
65# else
66# define TRACE_RETURN( stm, trace_on, ret )\
7e616b10
RR
67 {\
68 if( trace_on ) {\
69 HPROC hproc;\
1a6944fd 70\
7e616b10 71 hproc = _iodbcdm_gettrproc( stm, 0, TRACE_TYPE_RETURN);\
1a6944fd 72\
7e616b10
RR
73 if( hproc )\
74 hproc( stm, ret );\
75 }\
76 }
1a6944fd
RR
77# endif
78
7e616b10
RR
79# ifdef NO_TRACE
80# define CALL_DRIVER( hdbc, ret, proc, procid, plist ) { ret = proc plist; }
1a6944fd
RR
81# else
82# define CALL_DRIVER( hdbc, ret, proc, procid, plist )\
7e616b10
RR
83 {\
84 DBC_t FAR* pdbc = (DBC_t FAR*)(hdbc);\
1a6944fd 85\
7e616b10
RR
86 if( pdbc->trace ) {\
87 TRACE_DM2DRV( pdbc->tstm, procid, plist )\
88 ret = proc plist;\
89 TRACE_DRV2DM( pdbc->tstm, procid, plist )\
90 TRACE_RETURN( pdbc->tstm, 1, ret )\
91 }\
92 else\
93 ret = proc plist;\
94 }
1a6944fd
RR
95# endif
96
97#endif