2 Copyright 2020 Google LLC
4 Use of this source code is governed by a BSD-style
5 license that can be found in the LICENSE file or at
6 https://developers.google.com/open-source/licenses/bsd
9 #ifndef REFTABLE_ERROR_H
10 #define REFTABLE_ERROR_H
13 * Errors in reftable calls are signaled with negative integer return values. 0
17 /* Unexpected file system behavior */
18 REFTABLE_IO_ERROR
= -2,
20 /* Format inconsistency on reading data */
21 REFTABLE_FORMAT_ERROR
= -3,
23 /* File does not exist. Returned from block_source_from_file(), because
24 * it needs special handling in stack.
26 REFTABLE_NOT_EXIST_ERROR
= -4,
28 /* Trying to write out-of-date data. */
29 REFTABLE_LOCK_ERROR
= -5,
32 * - on writing a record with NULL refname.
33 * - on writing a reftable_ref_record outside the table limits
34 * - on writing a ref or log record before the stack's
36 * - on writing a log record with multiline message with
37 * exact_log_message unset
38 * - on reading a reftable_ref_record from log iterator, or vice versa.
40 * When a call misuses the API, the internal state of the library is
43 REFTABLE_API_ERROR
= -6,
45 /* Decompression error */
46 REFTABLE_ZLIB_ERROR
= -7,
48 /* Wrote a table without blocks. */
49 REFTABLE_EMPTY_TABLE_ERROR
= -8,
51 /* Dir/file conflict. */
52 REFTABLE_NAME_CONFLICT
= -9,
54 /* Invalid ref name. */
55 REFTABLE_REFNAME_ERROR
= -10,
57 /* Entry does not fit. This can happen when writing outsize reflog
59 REFTABLE_ENTRY_TOO_BIG_ERROR
= -11,
62 /* convert the numeric error code to a string. The string should not be
64 const char *reftable_error_str(int err
);