20 #ifndef DEBIAN_INSTALLER__LOG_H
21 #define DEBIAN_INSTALLER__LOG_H
50 typedef void di_log_handler (
di_log_level_flags log_level,
const char *message,
void *user_data);
55 #define di_error(format...) di_log (DI_LOG_LEVEL_ERROR, format)
59 #define di_warning(format...) di_log (DI_LOG_LEVEL_WARNING, format)
63 #define di_info(format...) di_log (DI_LOG_LEVEL_INFO, format)
67 #define di_debug(format...) di_log (DI_LOG_LEVEL_DEBUG, format)
@ DI_LOG_LEVEL_CRITICAL
Definition: log.h:38
void * user_data
Definition: log.c:51
di_log_handler di_log_handler_syslog
Definition: log.h:104
di_slist_node * next
Definition: slist.h:47
Single-linked list.
Definition: slist.h:36
di_log_level_flags log_level
Definition: log.c:49
di_log_level_flags
Log levels and other flags.
Definition: log.h:33
di_log_handler * log_func
Definition: log.c:50
#define di_new(struct_type, n_structs)
Definition: mem.h:73
@ DI_LOG_LEVEL_MASK
Definition: log.h:45
void di_slist_append(di_slist *slist, void *data) __attribute__((nonnull(1)))
Definition: slist.c:68
Log handler info.
Definition: log.c:46
unsigned int di_log_set_handler(di_log_level_flags log_levels, di_log_handler *log_func, void *user_data)
Definition: log.c:189
@ DI_LOG_LEVEL_MESSAGE
Definition: log.h:40
void di_log(di_log_level_flags log_level, const char *format,...) __attribute__((format(printf
@ DI_LOG_LEVEL_OUTPUT
Definition: log.h:43
Node of a single-linked list.
Definition: slist.h:45
di_slist_node * head
Definition: slist.h:38
@ DI_LOG_FLAG_FATAL
Definition: log.h:35
@ DI_LOG_LEVEL_INFO
Definition: log.h:41
void * data
Definition: slist.h:48
const char * di_progname_get(void)
Definition: utils.c:33
di_log_handler di_log_handler_default
Definition: log.h:99
void di_vlog(di_log_level_flags log_level, const char *format, va_list args)
Definition: log.c:217
unsigned int id
Definition: log.c:48
@ DI_LOG_FATAL_MASK
Definition: log.h:46
@ DI_LOG_LEVEL_ERROR
Definition: log.h:37
@ DI_LOG_LEVEL_DEBUG
Definition: log.h:42
@ DI_LOG_LEVEL_WARNING
Definition: log.h:39