XBinder
Version 2.6.x
|
These functions add diagnostic tracing to the generated code to assist in finding where a problem might occur. More...
Classes | |
struct | OSRTPrintStream |
Structure to hold information about a global PrintStream. More... | |
Typedefs | |
typedef void(* | rtxPrintCallback) (void *pPrntStrmInfo, const char *fmtspec, va_list arglist) |
Callback function definition for print stream. | |
typedef struct OSRTPrintStream | OSRTPrintStream |
Structure to hold information about a global PrintStream. | |
Functions | |
EXTERNRT OSBOOL | rtxDiagEnabled (OSCTXT *pctxt) |
This function is used to determine if diagnostic tracing is currently enabled for the specified context. More... | |
EXTERNRT OSBOOL | rtxSetDiag (OSCTXT *pctxt, OSBOOL value) |
This function is used to turn diagnostic tracing on or off at run-time on a per-context basis. More... | |
EXTERNRT OSBOOL | rtxSetGlobalDiag (OSBOOL value) |
This function is used to turn diagnostic tracing on or off at run-time on a global basis. More... | |
EXTERNRT void | rtxDiagPrint (OSCTXT *pctxt, const char *fmtspec,...) |
This function is used to print a diagnostics message to stdout . More... | |
EXTERNRT void | rtxDiagStream (OSCTXT *pctxt, const char *fmtspec,...) |
This function conditionally outputs diagnostic trace messages to an output stream defined within the context. More... | |
EXTERNRT void | rtxDiagHexDump (OSCTXT *pctxt, const OSOCTET *data, size_t numocts) |
This function is used to print a diagnostics hex dump of a section of memory. More... | |
EXTERNRT void | rtxDiagStreamHexDump (OSCTXT *pctxt, const OSOCTET *data, size_t numocts) |
This function is used to print a diagnostics hex dump of a section of memory to a print stream. More... | |
EXTERNRT void | rtxDiagPrintChars (OSCTXT *pctxt, const char *data, size_t nchars) |
This function is used to print a given number of characters to standard output. More... | |
EXTERNRT void | rtxDiagStreamPrintChars (OSCTXT *pctxt, const char *data, size_t nchars) |
This function is used to print a given number of characters to a print stream. More... | |
EXTERNRT void | rtxDiagStreamPrintBits (OSCTXT *pctxt, const char *descr, const OSOCTET *data, size_t bitIndex, size_t nbits) |
This function is used to print a given number of bits as '1' or '0' values to a print stream. More... | |
EXTERNRT void | rtxDiagSetTraceLevel (OSCTXT *pctxt, OSRTDiagTraceLevel level) |
This function is used to set the maximum trace level for diagnostic trace messages. More... | |
EXTERNRT OSBOOL | rtxDiagTraceLevelEnabled (OSCTXT *pctxt, OSRTDiagTraceLevel level) |
This function tests if a given trace level is enabled. More... | |
EXTERNRT int | rtxSetPrintStream (OSCTXT *pctxt, rtxPrintCallback myCallback, void *pStrmInfo) |
This function is for setting the callback function for a PrintStream. More... | |
EXTERNRT int | rtxSetGlobalPrintStream (rtxPrintCallback myCallback, void *pStrmInfo) |
This function is for setting the callback function for a PrintStream. More... | |
EXTERNRT int | rtxPrintToStream (OSCTXT *pctxt, const char *fmtspec,...) |
Print-to-stream function which in turn calls the user registered callback function of the context for printing. More... | |
EXTERNRT int | rtxDiagToStream (OSCTXT *pctxt, const char *fmtspec, va_list arglist) |
Diagnostics print-to-stream function. More... | |
EXTERNRT int | rtxPrintStreamRelease (OSCTXT *pctxt) |
This function releases the memory held by PrintStream in the context. More... | |
EXTERNRT void | rtxPrintStreamToStdoutCB (void *pPrntStrmInfo, const char *fmtspec, va_list arglist) |
Standard callback function for use with print-to-stream for writing to stdout. More... | |
EXTERNRT void | rtxPrintStreamToFileCB (void *pPrntStrmInfo, const char *fmtspec, va_list arglist) |
Standard callback function for use with print-to-stream for writing to a file. More... | |
Variables | |
OSRTPrintStream | g_PrintStream |
Global PrintStream. | |
These functions add diagnostic tracing to the generated code to assist in finding where a problem might occur.
Calls to these macros and functions are added when the -trace
command-line argument is used. The diagnostic message can be turned on and off at both C compile and run-time. To C compile the diagnostics in, the _TRACE macro must be defined (-D_TRACE). To turn the diagnostics on at run-time, the rtxSetDiag
function must be invoked with the value
argument set to TRUE.
EXTERNRT OSBOOL rtxDiagEnabled | ( | OSCTXT * | pctxt | ) |
This function is used to determine if diagnostic tracing is currently enabled for the specified context.
It returns true if enabled, false otherwise.
pctxt | Pointer to context structure. |
EXTERNRT void rtxDiagHexDump | ( | OSCTXT * | pctxt, |
const OSOCTET * | data, | ||
size_t | numocts | ||
) |
This function is used to print a diagnostics hex dump of a section of memory.
pctxt | Pointer to context structure. |
data | Start address of memory to dump. |
numocts | Number of bytes to dump. |
EXTERNRT void rtxDiagPrint | ( | OSCTXT * | pctxt, |
const char * | fmtspec, | ||
... | |||
) |
This function is used to print a diagnostics message to stdout
.
Its parameter specification is similar to that of the C runtime printf
method. The fmtspec
argument may contain % style modifiers into which variable arguments are substituted. This function is called in the generated code via the RTDIAG macros to allow diagnostic trace call to easily be compiled out of the object code.
pctxt | Pointer to context structure. |
fmtspec | A printf-like format specification string describing the message to be printed (for example, "string %s, ivalue %d\n"). A special character sequence (~L) may be used at the beginning of the string to select a trace level (L would be replaced with E for Error, W for warning, I for info, or D for debug). |
... | Variable list of parameters to be substituted into the format string. |
EXTERNRT void rtxDiagPrintChars | ( | OSCTXT * | pctxt, |
const char * | data, | ||
size_t | nchars | ||
) |
This function is used to print a given number of characters to standard output.
The buffer containing the characters does not need to be null-terminated.
pctxt | Pointer to context structure. |
data | Start address of character string. |
nchars | Number of characters to dump (this assumes 1-byte chars). |
EXTERNRT void rtxDiagSetTraceLevel | ( | OSCTXT * | pctxt, |
OSRTDiagTraceLevel | level | ||
) |
This function is used to set the maximum trace level for diagnostic trace messages.
Values are ERROR, WARNING, INFO, or DEBUG. The special string start sequence (~L) described in rtxDiagPrint function documentation is used to set a message level to be compared with the trace level.
pctxt | Pointer to context structure. |
level | Trace level to be set. |
EXTERNRT void rtxDiagStream | ( | OSCTXT * | pctxt, |
const char * | fmtspec, | ||
... | |||
) |
This function conditionally outputs diagnostic trace messages to an output stream defined within the context.
A code generator embeds calls to this function into the generated source code when the -trace option is specified on the command line (note: it may embed the macro version of these calls - RTDIAGSTREAMx - so that these calls can be compiled out of the final code.
EXTERNRT void rtxDiagStreamHexDump | ( | OSCTXT * | pctxt, |
const OSOCTET * | data, | ||
size_t | numocts | ||
) |
This function is used to print a diagnostics hex dump of a section of memory to a print stream.
pctxt | Pointer to context structure. |
data | Start address of memory to dump. |
numocts | Number of bytes to dump. |
EXTERNRT void rtxDiagStreamPrintBits | ( | OSCTXT * | pctxt, |
const char * | descr, | ||
const OSOCTET * | data, | ||
size_t | bitIndex, | ||
size_t | nbits | ||
) |
This function is used to print a given number of bits as '1' or '0' values to a print stream.
pctxt | Pointer to context structure. |
descr | Descriptive text to print before bits |
data | Start address of binary data. |
bitIndex | Zero-based offset to first bit to be printed |
nbits | Number of bits to dump |
EXTERNRT void rtxDiagStreamPrintChars | ( | OSCTXT * | pctxt, |
const char * | data, | ||
size_t | nchars | ||
) |
This function is used to print a given number of characters to a print stream.
The buffer containing the characters does not need to be null-terminated.
pctxt | Pointer to context structure. |
data | Start address of character string. |
nchars | Number of characters to dump (this assumes 1-byte chars). |
EXTERNRT int rtxDiagToStream | ( | OSCTXT * | pctxt, |
const char * | fmtspec, | ||
va_list | arglist | ||
) |
Diagnostics print-to-stream function.
This is the same as the rtxPrintToStream
function except that it checks if diagnostic tracing is enabled before invoking the callback function.
pctxt | Pointer to context to be used. |
fmtspec | A printf-like format specification string describing the message to be printed (for example, "string %s, ivalue %d\n"). |
arglist | A variable list of arguments passed as va_list |
EXTERNRT OSBOOL rtxDiagTraceLevelEnabled | ( | OSCTXT * | pctxt, |
OSRTDiagTraceLevel | level | ||
) |
This function tests if a given trace level is enabled.
pctxt | Pointer to context structure. |
level | Trace level to check. |
EXTERNRT int rtxPrintStreamRelease | ( | OSCTXT * | pctxt | ) |
This function releases the memory held by PrintStream in the context.
pctxt | Pointer to a context for which the memory has to be released. |
EXTERNRT void rtxPrintStreamToFileCB | ( | void * | pPrntStrmInfo, |
const char * | fmtspec, | ||
va_list | arglist | ||
) |
Standard callback function for use with print-to-stream for writing to a file.
pPrntStrmInfo | User-defined information for use by the callback function. This is supplied by the user at the time the callback is registered. This parameter should be set to the file pointer (FILE*) to which data is to be written. |
fmtspec | Format specification of the data to be printed. This is supplied by the print-to-stream utility. |
arglist | Variable argument list. This is supplied by the print-to-stream utility. |
EXTERNRT void rtxPrintStreamToStdoutCB | ( | void * | pPrntStrmInfo, |
const char * | fmtspec, | ||
va_list | arglist | ||
) |
Standard callback function for use with print-to-stream for writing to stdout.
pPrntStrmInfo | User-defined information for use by the callback function. This is supplied by the user at the time the callback is registered. In this case, no user-defined information is required, so the argument can be set to NULL when the callback is registered. |
fmtspec | Format specification of the data to be printed. This is supplied by the print-to-stream utility. |
arglist | Variable argument list. This is supplied by the print-to-stream utility. |
EXTERNRT int rtxPrintToStream | ( | OSCTXT * | pctxt, |
const char * | fmtspec, | ||
... | |||
) |
Print-to-stream function which in turn calls the user registered callback function of the context for printing.
If no callback function is registered it prints to standard output by default.
pctxt | Pointer to context to be used. |
fmtspec | A printf-like format specification string describing the message to be printed (for example, "string %s, ivalue %d\n"). |
... | A variable list of arguments. |
EXTERNRT OSBOOL rtxSetDiag | ( | OSCTXT * | pctxt, |
OSBOOL | value | ||
) |
This function is used to turn diagnostic tracing on or off at run-time on a per-context basis.
Code generated using ASN1C or XBinder or a similar code generator must use the -trace command line option to enable diagnostic messages. The generated code must then be C compiled with _TRACE defined for the code to be present.
pctxt | Pointer to context structure. |
value | Boolean switch: TRUE turns tracing on, FALSE off. |
EXTERNRT OSBOOL rtxSetGlobalDiag | ( | OSBOOL | value | ) |
This function is used to turn diagnostic tracing on or off at run-time on a global basis.
It is similar to rtxSetDiag except tracing is enabled within all contexts.
value | Boolean switch: TRUE turns tracing on, FALSE off. |
EXTERNRT int rtxSetGlobalPrintStream | ( | rtxPrintCallback | myCallback, |
void * | pStrmInfo | ||
) |
This function is for setting the callback function for a PrintStream.
This version of the function sets a callback at the global level.
myCallback | Pointer to a callback print function. |
pStrmInfo | Pointer to user defined PrintInfo structure where users can store information required by the callback function across calls. Ex. An open File handle for callbak function which directs stream to a file. |
EXTERNRT int rtxSetPrintStream | ( | OSCTXT * | pctxt, |
rtxPrintCallback | myCallback, | ||
void * | pStrmInfo | ||
) |
This function is for setting the callback function for a PrintStream.
Once a callback function is set, then all print and debug output ia sent to the defined callback function.
pctxt | Pointer to a context in which callback print function will be set |
myCallback | Pointer to a callback print function. |
pStrmInfo | Pointer to user defined PrintInfo structure where users can store information required by the callback function across calls. Ex. An open File handle for callbak function which directs stream to a file. |