| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /* 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 */
|