2 * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
12 //#define UNIX_DEBUG_PRINT dprintf
13 #define UNIX_DEBUG_PRINT ktrace_printf
16 # define TRACE(args...) UNIX_DEBUG_PRINT(args)
17 # define PRINT_ERROR(error) \
19 UNIX_DEBUG_PRINT("[%ld] l. %d: %s: %s\n", \
20 find_thread(NULL), __LINE__, __PRETTY_FUNCTION__, \
23 # if UNIX_DEBUG_LEVEL >= 2
24 # define REPORT_ERROR(error) PRINT_ERROR(error)
25 # define RETURN_ERROR(error) \
27 __typeof(error) error_RETURN_ERROR = (error); \
28 PRINT_ERROR(error_RETURN_ERROR); \
29 return error_RETURN_ERROR; \
32 # define REPORT_ERROR(error) \
34 __typeof(error) error_REPORT_ERROR = (error); \
35 if (error_REPORT_ERROR < 0) \
36 PRINT_ERROR(error_REPORT_ERROR); \
38 # define RETURN_ERROR(error) \
40 __typeof(error) error_RETURN_ERROR = (error); \
41 if (error_RETURN_ERROR < 0) \
42 PRINT_ERROR(error_RETURN_ERROR); \
43 return error_RETURN_ERROR; \
47 # define TRACE(args...) do {} while (false)
48 # define REPORT_ERROR(error)
49 # define RETURN_ERROR(error) return (error)
53 #endif // UNIX_DEBUG_H