brintos

brintos / linux-shallow public Read only

0
0
Text · 2.1 KiB · 24e0e74 Raw
74 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright 2023 Red Hat4 */5 6#ifndef UDS_ERRORS_H7#define UDS_ERRORS_H8 9#include <linux/compiler.h>10#include <linux/types.h>11 12/* Custom error codes and error-related utilities */13#define VDO_SUCCESS 014 15/* Valid status codes for internal UDS functions. */16enum uds_status_codes {17	/* Successful return */18	UDS_SUCCESS = VDO_SUCCESS,19	/* Used as a base value for reporting internal errors */20	UDS_ERROR_CODE_BASE = 1024,21	/* Index overflow */22	UDS_OVERFLOW = UDS_ERROR_CODE_BASE,23	/* Invalid argument passed to internal routine */24	UDS_INVALID_ARGUMENT,25	/* UDS data structures are in an invalid state */26	UDS_BAD_STATE,27	/* Attempt to enter the same name into an internal structure twice */28	UDS_DUPLICATE_NAME,29	/* An assertion failed */30	UDS_ASSERTION_FAILED,31	/* A request has been queued for later processing (not an error) */32	UDS_QUEUED,33	/* This error range has already been registered */34	UDS_ALREADY_REGISTERED,35	/* Attempt to read or write data outside the valid range */36	UDS_OUT_OF_RANGE,37	/* The index session is disabled */38	UDS_DISABLED,39	/* The index configuration or volume format is no longer supported */40	UDS_UNSUPPORTED_VERSION,41	/* Some index structure is corrupt */42	UDS_CORRUPT_DATA,43	/* No index state found */44	UDS_NO_INDEX,45	/* Attempt to access incomplete index save data */46	UDS_INDEX_NOT_SAVED_CLEANLY,47	/* One more than the last UDS_INTERNAL error code */48	UDS_ERROR_CODE_LAST,49	/* One more than the last error this block will ever use */50	UDS_ERROR_CODE_BLOCK_END = UDS_ERROR_CODE_BASE + 440,51};52 53enum {54	VDO_MAX_ERROR_NAME_SIZE = 80,55	VDO_MAX_ERROR_MESSAGE_SIZE = 128,56};57 58struct error_info {59	const char *name;60	const char *message;61};62 63const char * __must_check uds_string_error(int errnum, char *buf, size_t buflen);64 65const char *uds_string_error_name(int errnum, char *buf, size_t buflen);66 67int uds_status_to_errno(int error);68 69int uds_register_error_block(const char *block_name, int first_error,70			     int last_reserved_error, const struct error_info *infos,71			     size_t info_size);72 73#endif /* UDS_ERRORS_H */74