The mm-renderer error information.


#include <mm/renderer/types.h>
typedef struct mmr_error_info {
    uint32_t error_code;
    char extra_type[ 20 ];
    int64_t extra_value;
    char extra_text[ 256 ];
} mmr_error_info_t;


uint32_t error_code
One of the mm_error_code_t constants.
char extra_type[ 20 ]
A short string identifying the API or protocol that defines the meaning of extra_value, such as "errno", "http", or "mmf".
int64_t extra_value
An error number according to extra_type.
char extra_text[ 256 ]
Free-form text describing the error. This may or may not have a format formally defined by a specification. For example, when extra_type is "http", this field contains an HTTP server response string.




The structure mmr_error_info_t contains error information generated by mm-renderer functions. Use the function mmr_error_info() to retrieve error information for a particular context and function call.

This multifield structure allows plugins to return protocol- or API-specific error information in addition to the MMR error code. The extra_type string is a tag that specifies how to interpret the extra_value and extra_text fields.

The values of extra_type currently supported are:

extra_type extra_value extra_text
"" (empty) 0 Usually empty, possibly some descriptive text
"errno" An errno value Usually the result of strerror(extra_value), but possibly something more descriptive
"mmf" One of the MMF-specific error codes (not a valid errno) Usually empty, but possibly something more descriptive
"http" An HTTP response code An HTTP server response
"libcurl" A libcurl error code (but not CURLE_HTTP_RETURNED_ERROR) The corresponding libcurl error message


QNX Neutrino