]> wimlib.net Git - wimlib/blob - include/wimlib/error.h
mount_image.c: add fallback definitions of RENAME_* constants
[wimlib] / include / wimlib / error.h
1 #ifndef _WIMLIB_ERROR_H
2 #define _WIMLIB_ERROR_H
3
4 #include <stdio.h>
5
6 #include "wimlib.h" /* Get error code definitions */
7 #include "wimlib/compiler.h"
8 #include "wimlib/types.h"
9
10 void _format_attribute(printf, 1, 2) __attribute__((cold))
11 wimlib_error(const tchar *format, ...);
12
13 void _format_attribute(printf, 1, 2) __attribute__((cold))
14 wimlib_error_with_errno(const tchar *format, ...);
15
16 void _format_attribute(printf, 1, 2) __attribute__((cold))
17 wimlib_warning(const tchar *format, ...);
18
19 void _format_attribute(printf, 1, 2) __attribute__((cold))
20 wimlib_warning_with_errno(const tchar *format, ...);
21
22 #define ERROR(format, ...)              wimlib_error(T(format), ## __VA_ARGS__)
23 #define ERROR_WITH_ERRNO(format, ...)   wimlib_error_with_errno(T(format), ## __VA_ARGS__)
24 #define WARNING(format, ...)            wimlib_warning(T(format), ## __VA_ARGS__)
25 #define WARNING_WITH_ERRNO(format, ...) wimlib_warning_with_errno(T(format), ## __VA_ARGS__)
26
27 extern bool wimlib_print_errors;
28 extern FILE *wimlib_error_file;
29
30 void
31 print_byte_field(const u8 *field, size_t len, FILE *out);
32
33 #endif /* _WIMLIB_ERROR_H */