1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
/* 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 */
|