22 #ifndef LELY_UTIL_DIAG_H_
23 #define LELY_UTIL_DIAG_H_
30 #ifndef LELY_UTIL_DIAG_INLINE
32 #define LELY_UTIL_DIAG_INLINE static inline
34 #define LELY_UTIL_DIAG_INLINE
77 const char *format, va_list ap) format_printf__(4, 0);
91 int errc,
const struct floc *at,
const char *format, va_list ap)
92 format_printf__(5, 0);
106 size_t floc_lex(
struct floc *at,
const char *begin,
const char *end);
197 const char *format, ...) format_printf__(3, 4);
205 va_list ap) format_printf__(3, 0);
234 const struct floc *at,
const char *format, ...)
235 format_printf__(4, 5);
244 const char *format, va_list ap) format_printf__(4, 0);
254 const struct floc *at,
const char *format, ...)
255 format_printf__(4, 5);
265 const char *format, va_list ap) format_printf__(4, 0);
275 const char *format, va_list ap) format_printf__(4, 0);
283 int errc,
const struct floc *at,
const char *format, va_list ap)
284 format_printf__(5, 0);
291 const char *format, va_list ap);
299 const struct floc *at,
const char *format, va_list ap);
307 const char *format, va_list ap) format_printf__(4, 0);
315 const char *format, va_list ap) format_printf__(4, 0);
323 const struct floc *at,
const char *format, va_list ap)
324 format_printf__(5, 0);
332 const char *format, va_list ap) format_printf__(4, 0);
340 const struct floc *at,
const char *format, va_list ap)
341 format_printf__(5, 0);
349 const char *format, va_list ap) format_printf__(4, 0);
357 const struct floc *at,
const char *format, va_list ap)
358 format_printf__(5, 0);
388 const char *format, va_list ap) format_printf__(5, 0);
413 const char *format, va_list ap) format_printf__(4, 0);
448 const struct floc *at,
const char *format, va_list ap)
449 format_printf__(6, 0);
477 const struct floc *at,
const char *format, va_list ap)
478 format_printf__(5, 0);
487 const char *
cmdname(
const char *path);
492 LELY_UTIL_DIAG_INLINE
void
500 LELY_UTIL_DIAG_INLINE
void
502 const char *format, ...)
510 LELY_UTIL_DIAG_INLINE
void
512 const char *format, ...)
void syslog_diag_handler(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The diag() handler used for the system logging facilities.
void daemon_diag_at_handler(void *handle, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
The diag_at() handler for daemons.
void diag_set_handler(diag_handler_t *handler, void *handle)
Sets the handler function for diag().
int vsnprintf_diag(char *s, size_t n, enum diag_severity severity, int errc, const char *format, va_list ap)
Prints a diagnostic message to a string buffer.
size_t floc_lex(struct floc *at, const char *begin, const char *end)
Increments a file location by reading characters from a memory buffer.
int vasprintf_diag_at(char **ps, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
Equivalent to vsnprintf_diag_at(), except that it allocates a string large enough to hold the output,...
void cmd_diag_handler(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The diag() handler used for command-line programs.
void dialog_diag_at_handler(void *handle, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
The diag_at() handler for dialog boxes.
void vdiag(enum diag_severity severity, int errc, const char *format, va_list ap)
Emits a diagnostic message.
void vdiag_at(enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
Emits a diagnostic message occurring at a location in a text file.
const char * cmdname(const char *path)
Extracts the command name from a path.
void default_diag_at_handler(void *handle, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
The default diag_at() handler.
void diag_at_set_handler(diag_at_handler_t *handler, void *handle)
Sets the handler function for diag_at().
void diag_at_handler_t(void *handle, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
The function type of a handler for diag_at().
int vasprintf_diag(char **ps, enum diag_severity severity, int errc, const char *format, va_list ap)
Equivalent to vsnprintf_diag(), except that it allocates a string large enough to hold the output,...
diag_severity
The severity of a diagnostic message.
@ DIAG_DEBUG
A debug message.
@ DIAG_INFO
An informational message.
@ DIAG_FATAL
A fatal error, which SHOULD result in program termination.
void diag_if(enum diag_severity severity, int errc, const struct floc *at, const char *format,...)
Emits a diagnostic message occurring at a location in a text file.
void diag_at_get_handler(diag_at_handler_t **phandler, void **phandle)
Retrieves the handler function for diag_at().
void vdiag_if(enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
Emits a diagnostic message occurring at a location in a text file.
int snprintf_floc(char *s, size_t n, const struct floc *at)
Prints a file location to a string buffer.
void daemon_diag_handler(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The diag() handler for daemons.
void diag_at(enum diag_severity severity, int errc, const struct floc *at, const char *format,...)
Emits a diagnostic message occurring at a location in a text file.
void diag_handler_t(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The function type of a handler for diag().
void log_diag_at_handler(void *handle, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
The diag_at() handler used for log-files.
void diag(enum diag_severity severity, int errc, const char *format,...)
Emits a diagnostic message.
void dialog_diag_handler(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The diag() handler for dialog boxes.
void log_diag_handler(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The diag() handler for log files.
int vsnprintf_diag_at(char *s, size_t n, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
Prints a diagnostic message occurring at a location in a text file to a string buffer.
void diag_get_handler(diag_handler_t **phandler, void **phandle)
Retrieves the handler function for diag().
void default_diag_handler(void *handle, enum diag_severity severity, int errc, const char *format, va_list ap)
The default diag() handler.
void syslog_diag_at_handler(void *handle, enum diag_severity severity, int errc, const struct floc *at, const char *format, va_list ap)
The diag_at() handler used for the system logging facilities.
This header file is part of the utilities library; it contains the native and platform-independent er...
This header file is part of the C11 and POSIX compatibility library; it includes <stddef....
A location in a text file.
int line
The line number (starting from 1).
int column
The column number (starting from 1).
const char * filename
The name of the file.