00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _RTXDIAG_H_
00029 #define _RTXDIAG_H_
00030
00031 #include <stdarg.h>
00032 #include "rtxsrc/rtxContext.h"
00033
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037
00038
00051 #ifdef _TRACE
00052 #define RTDIAG1(pctxt,msg) rtxDiagPrint(pctxt,msg)
00053 #define RTDIAG2(pctxt,msg,a) rtxDiagPrint(pctxt,msg,a)
00054 #define RTDIAG3(pctxt,msg,a,b) rtxDiagPrint(pctxt,msg,a,b)
00055 #define RTDIAG4(pctxt,msg,a,b,c) rtxDiagPrint(pctxt,msg,a,b,c)
00056 #define RTDIAG5(pctxt,msg,a,b,c,d) rtxDiagPrint(pctxt,msg,a,b,c,d)
00057 #define RTHEXDUMP(pctxt,buffer,numocts) rtxDiagHexDump(pctxt,buffer,numocts)
00058 #define RTDIAGCHARS(pctxt,buf,nchars) rtxDiagPrintChars(pctxt,buf,nchars)
00059
00060 #ifndef _NO_STREAM
00061
00062 #define RTDIAGSTRM2(pctxt,msg) rtxDiagStream(pctxt,msg)
00063 #define RTDIAGSTRM3(pctxt,msg,a) rtxDiagStream(pctxt,msg,a)
00064 #define RTDIAGSTRM4(pctxt,msg,a,b) rtxDiagStream(pctxt,msg,a,b)
00065 #define RTDIAGSTRM5(pctxt,msg,a,b,c) rtxDiagStream(pctxt,msg,a,b,c)
00066 #define RTHEXDUMPSTRM(pctxt,buffer,numocts) \
00067 rtxDiagStreamHexDump(pctxt,buffer,numocts)
00068 #define RTDIAGSCHARS(pctxt,buf,nchars) \
00069 rtxDiagStreamPrintChars(pctxt,buf,nchars)
00070
00071 #else
00072
00073 #define RTDIAGSTRM2(pctxt,msg) rtxDiagPrint(pctxt,msg)
00074 #define RTDIAGSTRM3(pctxt,msg,a) rtxDiagPrint(pctxt,msg,a)
00075 #define RTDIAGSTRM4(pctxt,msg,a,b) rtxDiagPrint(pctxt,msg,a,b)
00076 #define RTDIAGSTRM5(pctxt,msg,a,b,c) rtxDiagPrint(pctxt,msg,a,b,c)
00077 #define RTHEXDUMPSTRM(pctxt,buffer,numocts) rtxDiagHexDump(pctxt,buffer,numocts)
00078 #define RTDIAGSCHARS(pctxt,buf,nchars) rtxDiagPrintChars(pctxt,buf,nchars)
00079
00080 #endif
00081
00082 #else
00083
00084 #define RTDIAG1(pctxt,msg)
00085 #define RTDIAG2(pctxt,msg,a)
00086 #define RTDIAG3(pctxt,msg,a,b)
00087 #define RTDIAG4(pctxt,msg,a,b,c)
00088 #define RTDIAG5(pctxt,msg,a,b,c,d)
00089 #define RTDIAGU(pctxt,ucstr)
00090 #define RTHEXDUMP(pctxt,buffer,numocts)
00091 #define RTDIAGCHARS(pctxt,buf,nchars)
00092
00093 #define RTDIAGSTRM2(pctxt,msg)
00094 #define RTDIAGSTRM3(pctxt,msg,a)
00095 #define RTDIAGSTRM4(pctxt,msg,a,b)
00096 #define RTDIAGSTRM5(pctxt,msg,a,b,c)
00097 #define RTHEXDUMPSTRM(pctxt,buffer,numocts)
00098 #define RTDIAGSCHARS(pctxt,buf,nchars)
00099
00100 #endif
00101
00102 typedef enum {
00103 OSRTDiagError,
00104 OSRTDiagWarning,
00105 OSRTDiagInfo,
00106 OSRTDiagDebug
00107 } OSRTDiagTraceLevel;
00108
00117 EXTERNRT OSBOOL rtxDiagEnabled (OSCTXT* pctxt);
00118
00131 EXTERNRT OSBOOL rtxSetDiag (OSCTXT* pctxt, OSBOOL value);
00132
00133 #ifndef __SYMBIAN32__
00134
00143 EXTERNRT OSBOOL rtxSetGlobalDiag (OSBOOL value);
00144 #endif
00145
00164 EXTERNRT void rtxDiagPrint (OSCTXT* pctxt, const char* fmtspec, ...);
00165
00166 #ifndef _NO_STREAM
00167
00176 EXTERNRT void rtxDiagStream (OSCTXT* pctxt, const char* fmtspec, ...);
00177 #endif
00178
00187 EXTERNRT void rtxDiagHexDump
00188 (OSCTXT* pctxt, const OSOCTET* data, size_t numocts);
00189
00190 #ifndef _NO_STREAM
00191
00199 EXTERNRT void rtxDiagStreamHexDump
00200 (OSCTXT* pctxt, const OSOCTET* data, size_t numocts);
00201 #endif
00202
00213 EXTERNRT void rtxDiagPrintChars
00214 (OSCTXT* pctxt, const char* data, size_t nchars);
00215
00216 #ifndef _NO_STREAM
00217
00227 EXTERNRT void rtxDiagStreamPrintChars
00228 (OSCTXT* pctxt, const char* data, size_t nchars);
00229
00240 EXTERNRT void rtxDiagStreamPrintBits
00241 (OSCTXT* pctxt, const char* descr, const OSOCTET* data,
00242 size_t bitIndex, size_t nbits);
00243 #endif
00244
00255 EXTERNRT void rtxDiagSetTraceLevel (OSCTXT* pctxt, OSRTDiagTraceLevel level);
00256
00264 EXTERNRT OSBOOL rtxDiagTraceLevelEnabled
00265 (OSCTXT* pctxt, OSRTDiagTraceLevel level);
00266
00271 #ifdef __cplusplus
00272 }
00273 #endif
00274
00275 #endif