#ifndef UDS_ERRORS_H
#define UDS_ERRORS_H
#include <linux/compiler.h>
#include <linux/types.h>
#define VDO_SUCCESS 0
enum uds_status_codes {
UDS_SUCCESS = VDO_SUCCESS,
UDS_ERROR_CODE_BASE = 1024,
UDS_OVERFLOW = UDS_ERROR_CODE_BASE,
UDS_INVALID_ARGUMENT,
UDS_BAD_STATE,
UDS_DUPLICATE_NAME,
UDS_ASSERTION_FAILED,
UDS_QUEUED,
UDS_ALREADY_REGISTERED,
UDS_OUT_OF_RANGE,
UDS_DISABLED,
UDS_UNSUPPORTED_VERSION,
UDS_CORRUPT_DATA,
UDS_NO_INDEX,
UDS_INDEX_NOT_SAVED_CLEANLY,
UDS_ERROR_CODE_LAST,
UDS_ERROR_CODE_BLOCK_END = UDS_ERROR_CODE_BASE + 440,
};
enum {
VDO_MAX_ERROR_NAME_SIZE = 80,
VDO_MAX_ERROR_MESSAGE_SIZE = 128,
};
struct error_info {
const char *name;
const char *message;
};
const char * __must_check uds_string_error(int errnum, char *buf, size_t buflen);
const char *uds_string_error_name(int errnum, char *buf, size_t buflen);
int uds_status_to_errno(int error);
int uds_register_error_block(const char *block_name, int first_error,
int last_reserved_error, const struct error_info *infos,
size_t info_size);
#endif