73 lines · 2.1 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0-only *//* * Copyright 2023 Red Hat */ #ifndef UDS_ERRORS_H#define UDS_ERRORS_H #include <linux/compiler.h>#include <linux/types.h> /* Custom error codes and error-related utilities */#define VDO_SUCCESS 0 /* Valid status codes for internal UDS functions. */enum uds_status_codes {	/* Successful return */	UDS_SUCCESS = VDO_SUCCESS,	/* Used as a base value for reporting internal errors */	UDS_ERROR_CODE_BASE = 1024,	/* Index overflow */	UDS_OVERFLOW = UDS_ERROR_CODE_BASE,	/* Invalid argument passed to internal routine */	UDS_INVALID_ARGUMENT,	/* UDS data structures are in an invalid state */	UDS_BAD_STATE,	/* Attempt to enter the same name into an internal structure twice */	UDS_DUPLICATE_NAME,	/* An assertion failed */	UDS_ASSERTION_FAILED,	/* A request has been queued for later processing (not an error) */	UDS_QUEUED,	/* This error range has already been registered */	UDS_ALREADY_REGISTERED,	/* Attempt to read or write data outside the valid range */	UDS_OUT_OF_RANGE,	/* The index session is disabled */	UDS_DISABLED,	/* The index configuration or volume format is no longer supported */	UDS_UNSUPPORTED_VERSION,	/* Some index structure is corrupt */	UDS_CORRUPT_DATA,	/* No index state found */	UDS_NO_INDEX,	/* Attempt to access incomplete index save data */	UDS_INDEX_NOT_SAVED_CLEANLY,	/* One more than the last UDS_INTERNAL error code */	UDS_ERROR_CODE_LAST,	/* One more than the last error this block will ever use */	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 /* UDS_ERRORS_H */