mmr_error_info_t

Updated: April 19, 2023

Error information for mm-renderer

Synopsis:

#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;

Data:

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.

Library:

mmrndclient

Description:

The mmr_error_info_t structure type stores the error information generated by mm-renderer functions. Use the mmr_error_info() function to retrieve this 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 and the associated contents of the other two fields are as follows:
extra_type extra_value extra_text
(empty string) 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 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