author | Tero Marttila <terom@fixme.fi> |
Thu, 28 May 2009 01:17:36 +0300 | |
branch | new-lib-errors |
changeset 219 | cefec18b8268 |
parent 218 | 5229a5d098b2 |
permissions | -rw-r--r-- |
218 | 1 |
#ifndef LIBQMSK_ERRORS_H |
2 |
#define LIBQMSK_ERRORS_H |
|
3 |
||
4 |
/** |
|
5 |
* @file |
|
6 |
* |
|
7 |
* Defines some errors codes for general-purpose use, or for common libraries. |
|
8 |
*/ |
|
9 |
#include "error.h" |
|
10 |
||
11 |
/** |
|
12 |
* General-purpose errors that may be useful and don't belong in any more specific namespace. |
|
13 |
*/ |
|
14 |
enum general_error_code { |
|
15 |
ERR_GENERAL_NONE, |
|
16 |
ERR_MEM, ///< memory allocation error |
|
17 |
ERR_NOT_IMPLEMENTED, ///< function not implmented: <func> |
|
18 |
ERR_MISC, ///< miscellaneous error: <error> |
|
19 |
ERR_CMD_OPT, ///< invalid command line option: <error> - XXX: replace with something getopt |
|
20 |
ERR_UNKNOWN, ///< unknown error |
|
21 |
}; |
|
22 |
||
23 |
const struct error_list general_errors; |
|
24 |
||
25 |
/** |
|
26 |
* Convenience macros |
|
27 |
*/ |
|
28 |
#define SET_ERROR_MEM(err_state) \ |
|
29 |
SET_ERROR(err_state, &general_errors, ERR_MEM) |
|
30 |
||
31 |
/** |
|
32 |
* Errors for POSIX libc functions |
|
33 |
*/ |
|
34 |
enum libc_error_code { |
|
35 |
ERR_LIBC_NONE, |
|
36 |
ERR_SIGACTION, ///< sigaction: <perror> |
|
219
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
37 |
ERR_READ, ///< read: <perror> |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
38 |
ERR_WRITE, ///< write: <perror> |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
39 |
ERR_WRITE_EOF, ///< write: EOF |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
40 |
ERR_FCNTL, ///< fcntl: <perror> |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
41 |
ERR_CLOSE, ///< close: <perror> |
218 | 42 |
}; |
43 |
||
44 |
const struct error_list libc_errors; |
|
45 |
||
46 |
/** |
|
47 |
* Errors for libevent |
|
48 |
*/ |
|
49 |
enum libevent_error_code { |
|
219
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
50 |
ERR_EVENT_NONE, |
218 | 51 |
ERR_EVENT_NEW, ///< event_new |
52 |
ERR_EVENT_ADD, ///< event_add |
|
53 |
ERR_EVENT_DEL, ///< event_del |
|
54 |
}; |
|
55 |
||
56 |
const struct error_list libevent_errors; |
|
57 |
||
219
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
58 |
/** |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
59 |
* Errors for lua |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
60 |
*/ |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
61 |
enum lua_error_code { |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
62 |
ERR_LUA_NONE, |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
63 |
ERR_LUA_MEM, ///< memory error |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
64 |
ERR_LUA_SYNTAX, ///< syntax error |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
65 |
ERR_LUA_RUN, ///< runtime erorr |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
66 |
ERR_LUA_ERR, ///< error-handling error |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
67 |
ERR_LUA_FILE, ///< filesystem error |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
68 |
}; |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
69 |
|
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
70 |
const struct error_list lua_errors; |
cefec18b8268
some of the lib/transport stuff compiles
Tero Marttila <terom@fixme.fi>
parents:
218
diff
changeset
|
71 |
|
218 | 72 |
#endif /* LIBQMSK_ERRORS_H */ |