1 module deimos.git2.errors;
2 
3 import deimos.git2.common;
4 import deimos.git2.buffer;
5 import deimos.git2.util;
6 
7 extern (C):
8 
9 enum git_error_code {
10 	GIT_OK = 0,
11 	GIT_ERROR = -1,
12 	GIT_ENOTFOUND = -3,
13 	GIT_EEXISTS = -4,
14 	GIT_EAMBIGUOUS = -5,
15 	GIT_EBUFS = -6,
16 	GIT_EUSER = -7,
17 	GIT_EBAREREPO = -8,
18 	GIT_EUNBORNBRANCH = -9,
19 	GIT_EUNMERGED = -10,
20 	GIT_ENONFASTFORWARD = -11,
21 	GIT_EINVALIDSPEC = -12,
22 	GIT_EMERGECONFLICT = -13,
23 	GIT_ELOCKED = -14,
24     GIT_ECERTIFICATE = -17,
25 
26 	GIT_PASSTHROUGH = -30,
27 	GIT_ITEROVER = -31,
28 }
29 mixin _ExportEnumMembers!git_error_code;
30 
31 struct git_error {
32 	char *message;
33 	int klass;
34 }
35 
36 enum git_error_t {
37 	GITERR_NONE = 0,
38 	GITERR_NOMEMORY,
39 	GITERR_OS,
40 	GITERR_INVALID,
41 	GITERR_REFERENCE,
42 	GITERR_ZLIB,
43 	GITERR_REPOSITORY,
44 	GITERR_CONFIG,
45 	GITERR_REGEX,
46 	GITERR_ODB,
47 	GITERR_INDEX,
48 	GITERR_OBJECT,
49 	GITERR_NET,
50 	GITERR_TAG,
51 	GITERR_TREE,
52 	GITERR_INDEXER,
53 	GITERR_SSL,
54 	GITERR_SUBMODULE,
55 	GITERR_THREAD,
56 	GITERR_STASH,
57 	GITERR_CHECKOUT,
58 	GITERR_FETCHHEAD,
59 	GITERR_MERGE,
60 	GITERR_SSH,
61 	GITERR_FILTER,
62 }
63 mixin _ExportEnumMembers!git_error_t;
64 
65 const(git_error)*  giterr_last();
66 void giterr_clear();
67 int giterr_detach(git_error *cpy);
68 void giterr_set_str(int error_class, const(char)* string);
69 void giterr_set_oom();