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 
25 	GIT_PASSTHROUGH = -30,
26 	GIT_ITEROVER = -31,
27 }
28 mixin _ExportEnumMembers!git_error_code;
29 
30 struct git_error {
31 	char *message;
32 	int klass;
33 }
34 
35 enum git_error_t {
36 	GITERR_NONE = 0,
37 	GITERR_NOMEMORY,
38 	GITERR_OS,
39 	GITERR_INVALID,
40 	GITERR_REFERENCE,
41 	GITERR_ZLIB,
42 	GITERR_REPOSITORY,
43 	GITERR_CONFIG,
44 	GITERR_REGEX,
45 	GITERR_ODB,
46 	GITERR_INDEX,
47 	GITERR_OBJECT,
48 	GITERR_NET,
49 	GITERR_TAG,
50 	GITERR_TREE,
51 	GITERR_INDEXER,
52 	GITERR_SSL,
53 	GITERR_SUBMODULE,
54 	GITERR_THREAD,
55 	GITERR_STASH,
56 	GITERR_CHECKOUT,
57 	GITERR_FETCHHEAD,
58 	GITERR_MERGE,
59 	GITERR_SSH,
60 	GITERR_FILTER,
61 }
62 mixin _ExportEnumMembers!git_error_t;
63 
64 const(git_error)*  giterr_last();
65 void giterr_clear();
66 int giterr_detach(git_error *cpy);
67 void giterr_set_str(int error_class, const(char)* string);
68 void giterr_set_oom();