|
|
 |
 |
|
Error Formatting and Print FunctionsError formatting and print functions allow information about encode/decode errors to be added to a context block structure and then printed when the error is propagated to the top level.
More...
|
Defines |
| #define | LOG_RTERR(pctxt, stat) rtxErrSetData(pctxt,stat,__FILE__,__LINE__) |
| | This macro is used to log a run-time error in the context.
|
|
#define | LOG_RTERRNEW(pctxt, stat) rtxErrSetNewData(pctxt,stat,__FILE__,__LINE__) |
| #define | OSRTASSERT(condition) if (!(condition)) { rtxErrAssertionFailed(#condition,__LINE__,__FILE__); } |
| | This macro is used to check an assertion.
|
|
#define | LOG_RTERR1(pctxt, stat, a) (LOG_RTERR (pctxt, stat),a,stat) |
|
#define | LOG_RTERRNEW1(pctxt, stat, a) (LOG_RTERRNEW (pctxt, stat),a,stat) |
|
#define | LOG_RTERR2(pctxt, stat, a, b) (LOG_RTERR (pctxt, stat),a,b,stat) |
|
#define | LOG_RTERRNEW2(pctxt, stat, a, b) (LOG_RTERRNEW (pctxt, stat),a,b,stat) |
Typedefs |
|
typedef int(* | OSErrCbFunc )(const char *ptext, void *cbArg_p) |
Functions |
| OSBOOL | rtxErrAddDoubleParm (OSCTXT *pctxt, double errParm) |
| | This function adds a double parameter to an error information structure.
|
| OSBOOL | rtxErrAddIntParm (OSCTXT *pctxt, int errParm) |
| | This function adds an integer parameter to an error information structure.
|
| OSBOOL | rtxErrAddInt64Parm (OSCTXT *pctxt, OSINT64 errParm) |
| | This function adds a 64-bit integer parameter to an error information structure.
|
| OSBOOL | rtxErrAddStrParm (OSCTXT *pctxt, const char *pErrParm) |
| | This function adds a character string parameter to an error information structure.
|
| OSBOOL | rtxErrAddStrnParm (OSCTXT *pctxt, const char *pErrParm, size_t nchars) |
| | This function adds a given number of characters from a character string parameter to an error information structure.
|
| OSBOOL | rtxErrAddUniStrParm (OSCTXT *pctxt, const OSUNICHAR *pErrParm) |
| | This function adds a Unicode string parameter to an error information structure.
|
| OSBOOL | rtxErrAddUIntParm (OSCTXT *pctxt, unsigned int errParm) |
| | This function adds an unsigned integer parameter to an error information structure.
|
| OSBOOL | rtxErrAddUInt64Parm (OSCTXT *pctxt, OSUINT64 errParm) |
| | This function adds an unsigned 64-bit integer parameter to an error information structure.
|
| void | rtxErrAssertionFailed (const char *conditionText, int lineNo, const char *fileName) |
| | This function is used to record an assertion failure.
|
| void | rtxErrFreeParms (OSCTXT *pctxt) |
| | This function is used to free dynamic memory that was used in the recording of error parameters.
|
| char * | rtxErrGetText (OSCTXT *pctxt, char *pBuf, size_t *pBufSize) |
| | This function returns error text in a memory buffer.
|
| OSErrInfo * | rtxErrNewNode (OSCTXT *pctxt) |
| | This function creates a new empty error record for the passed context.
|
| int | rtxErrReset (OSCTXT *pctxt) |
| | This function is used to reset the error state recorded in the context to successful.
|
| void | rtxErrLogUsingCB (OSCTXT *pctxt, OSErrCbFunc cb, void *cbArg_p) |
| | This function allows error information to be logged using a user-defined callback routine.
|
| void | rtxErrPrint (OSCTXT *pctxt) |
| | This function is used to print the error information stored in the context to the standard output device.
|
| void | rtxErrPrintElement (OSErrInfo *pErrInfo) |
| | This function is used to print the error information stored in the error information element to the standard output device.
|
| int | rtxErrSetData (OSCTXT *pctxt, int status, const char *module, int lineno) |
| | This function is used to record an error in the context structure.
|
| int | rtxErrSetNewData (OSCTXT *pctxt, int status, const char *module, int lineno) |
| | This function is used to record an error in the context structure.
|
| int | rtxErrGetFirstError (const OSCTXT *pctxt) |
| | This function returns the error code, stored in the first error record.
|
| int | rtxErrGetLastError (const OSCTXT *pctxt) |
| | This function returns the error code, stored in the last error record.
|
| OSUINT32 | rtxErrGetErrorsCnt (const OSCTXT *pctxt) |
| | This function returns the total number of error records.
|
| int | rtxErrResetLastErrors (OSCTXT *pctxt, int errorsToReset) |
| | This function resets last 'errorsToReset` errors in the context.
|
Detailed Description
Error formatting and print functions allow information about encode/decode errors to be added to a context block structure and then printed when the error is propagated to the top level.
Define Documentation
| #define LOG_RTERR |
( |
pctxt, |
|
|
stat |
|
) |
rtxErrSetData(pctxt,stat,__FILE__,__LINE__) |
|
|
|
This macro is used to log a run-time error in the context.
It calls the rtxErrSetData function to set the status and error parameters. The C built-in __FILE__ and __LINE__ macros are used to record the position in the source file of the error.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| stat | Error status value from rtxErrCodes.h |
Definition at line 435 of file rtxCommon.h. |
| #define OSRTASSERT |
( |
condition |
|
) |
if (!(condition)) { rtxErrAssertionFailed(#condition,__LINE__,__FILE__); } |
|
|
|
This macro is used to check an assertion.
This is a condition that is expected to be true. The rtxErrAssertionFailed function is called if the condition is not true. The C built-in __FILE__ and __LINE__ macros are used to record the position in the source file of the failure.
- Parameters:
-
| condition | Condition expected to be true (for example, "(ptr != NULL)" ) |
Definition at line 450 of file rtxCommon.h. |
Function Documentation
| OSBOOL rtxErrAddDoubleParm |
( |
OSCTXT * |
pctxt, |
|
|
double |
errParm |
|
) |
|
|
|
|
This function adds a double parameter to an error information structure.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| errParm | The double error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
| OSBOOL rtxErrAddInt64Parm |
( |
OSCTXT * |
pctxt, |
|
|
OSINT64 |
errParm |
|
) |
|
|
|
|
This function adds a 64-bit integer parameter to an error information structure.
Parameter substitution is done in much the same way as it is done in C printf statments. The base error message specification that goes along with a particular status code may have variable fields built in using '' modifiers. These would be replaced with actual parameter data.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| errParm | The 64-bit integer error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
|
|
This function adds an integer parameter to an error information structure.
Parameter substitution is done in much the same way as it is done in C printf statments. The base error message specification that goes along with a particular status code may have variable fields built in using '' modifiers. These would be replaced with actual parameter data.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| errParm | The integer error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
| OSBOOL rtxErrAddStrnParm |
( |
OSCTXT * |
pctxt, |
|
|
const char * |
pErrParm, |
|
|
size_t |
nchars |
|
) |
|
|
|
|
This function adds a given number of characters from a character string parameter to an error information structure.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| pErrParm | The character string error parameter. |
| nchars | Number of characters to add from pErrParm. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
| OSBOOL rtxErrAddStrParm |
( |
OSCTXT * |
pctxt, |
|
|
const char * |
pErrParm |
|
) |
|
|
|
|
This function adds a character string parameter to an error information structure.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| pErrParm | The character string error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
| OSBOOL rtxErrAddUInt64Parm |
( |
OSCTXT * |
pctxt, |
|
|
OSUINT64 |
errParm |
|
) |
|
|
|
|
This function adds an unsigned 64-bit integer parameter to an error information structure.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| errParm | The unsigned 64-bit integer error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
| OSBOOL rtxErrAddUIntParm |
( |
OSCTXT * |
pctxt, |
|
|
unsigned int |
errParm |
|
) |
|
|
|
|
This function adds an unsigned integer parameter to an error information structure.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| errParm | The unsigned integer error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
|
|
This function adds a Unicode string parameter to an error information structure.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| pErrParm | The Unicode string error parameter. |
- Returns:
- The status of the operation (TRUE if the parameter was sucessfully added).
|
| void rtxErrAssertionFailed |
( |
const char * |
conditionText, |
|
|
int |
lineNo, |
|
|
const char * |
fileName |
|
) |
|
|
|
|
This function is used to record an assertion failure.
It is used in conjunction with the OTRTASSERT macro. It outputs information on the condition to stderr and then calls exit to terminate the program.
- Parameters:
-
| conditionText | The condition that failed (for example, ptr != NULL) |
| lineNo | Line number in the program of the failure. |
| fileName | Name of the C source file in which the assertion failure occurred. |
|
| void rtxErrFreeParms |
( |
OSCTXT * |
pctxt |
) |
|
|
|
|
This function is used to free dynamic memory that was used in the recording of error parameters.
After an error is logged, this function should be called to prevent memory leaks.
- Parameters:
-
| pctxt | A pointer to a context structure. |
|
|
|
This function returns the total number of error records.
- Parameters:
-
| pctxt | A pointer to a context structure. |
- Returns:
- The total number of error records in the context.
|
| int rtxErrGetFirstError |
( |
const OSCTXT * |
pctxt |
) |
|
|
|
|
This function returns the error code, stored in the first error record.
- Parameters:
-
| pctxt | A pointer to a context structure. |
- Returns:
- The first status code; zero if no error records exist.
|
| int rtxErrGetLastError |
( |
const OSCTXT * |
pctxt |
) |
|
|
|
|
This function returns the error code, stored in the last error record.
- Parameters:
-
| pctxt | A pointer to a context structure. |
- Returns:
- The last status code; zero if no error records exist.
|
| char* rtxErrGetText |
( |
OSCTXT * |
pctxt, |
|
|
char * |
pBuf, |
|
|
size_t * |
pBufSize |
|
) |
|
|
|
|
This function returns error text in a memory buffer.
If buffer pointer and buffer size are specified in parameters (not NULL) then error text will be copied in the passed buffer. Otherwise, this function allocates memory using the 'rtxMemAlloc' function. This memory is automatically freed at the time the 'rtxMemFree' or 'rtxFreeContext' functions are called. The calling function may free the memory by using 'rtxMemFreePtr' function.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| pBuf | A pointer to a destination buffer to obtain the error text. If NULL, dynamic buffer will be allocated. |
| pBufSize | A pointer to buffer size. If pBuf is NULL and this parameter is not, it will receive the size of allocated dynamic buffer. |
- Returns:
- A pointer to a buffer with error text. If pBuf is not NULL, the return pointer will be equal to it. Otherwise, returns newly allocated buffer with error text. NULL, if error occured.
|
|
|
This function allows error information to be logged using a user-defined callback routine.
The callback information is invoked with error information in the context allowing the user to do application-specific handling (for example, it can be written to an error log or a Window display). The prototype of the callback function to be passed is as follows:
int cb (const char* ptext, void* cbArg_p);
where ptext is a pointer to the formatted error text string and cbArg_p is a pointer to a user-defined callback argument.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| cb | Callback function pointer. |
| cbArg_p | Pointer to a user-defined argument that is passed to the callback function. |
|
|
|
This function creates a new empty error record for the passed context.
rtxErrSetData function call with bAllocNew = FALSE should be used to set the data for this node.
- Parameters:
-
| pctxt | A pointer to a context structure. |
- Returns:
- A pointer to a newly allocated error record; NULL, if error occured.
|
| void rtxErrPrint |
( |
OSCTXT * |
pctxt |
) |
|
|
|
|
This function is used to print the error information stored in the context to the standard output device.
Parameter substitution is done so that recorded parameters are added to the output message text.
- Parameters:
-
| pctxt | A pointer to a context structure. |
|
| void rtxErrPrintElement |
( |
OSErrInfo * |
pErrInfo |
) |
|
|
|
|
This function is used to print the error information stored in the error information element to the standard output device.
Parameter substitution is done so that recorded parameters are added to the output message text.
- Parameters:
-
| pErrInfo | A pointer to an error information element. |
|
| int rtxErrReset |
( |
OSCTXT * |
pctxt |
) |
|
|
|
|
This function is used to reset the error state recorded in the context to successful.
It is used in the generated code in places where automatic error correction can be done.
- Parameters:
-
| pctxt | A pointer to a context structure. |
|
| int rtxErrResetLastErrors |
( |
OSCTXT * |
pctxt, |
|
|
int |
errorsToReset |
|
) |
|
|
|
|
This function resets last 'errorsToReset` errors in the context.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| errorsToReset | A number of errors to reset, starting from the last record. |
- Returns:
- Completion status of operation:
- 0(RT_OK) = success,
- negative return value is error
|
| int rtxErrSetData |
( |
OSCTXT * |
pctxt, |
|
|
int |
status, |
|
|
const char * |
module, |
|
|
int |
lineno |
|
) |
|
|
|
|
This function is used to record an error in the context structure.
It is typically called via the LOG_RTERR macro in the generated code to trap error conditions.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| status | The error status code from rtxErrCodes.h |
| module | The C source file in which the error occurred. |
| lineno | The line number within the source file of the error. |
- Returns:
- The status code that was passed in.
|
| int rtxErrSetNewData |
( |
OSCTXT * |
pctxt, |
|
|
int |
status, |
|
|
const char * |
module, |
|
|
int |
lineno |
|
) |
|
|
|
|
This function is used to record an error in the context structure.
It is typically called via the LOG_RTERRNEW macro in the generated code to trap error conditions. It always allocates new error record.
- Parameters:
-
| pctxt | A pointer to a context structure. |
| status | The error status code from rtxErrCodes.h |
| module | The C source file in which the error occurred. |
| lineno | The line number within the source file of the error. |
- Returns:
- The status code that was passed in.
|
|
This file was last modified on
8 Jan 2007. XBinder, Version 1.1.9 |