-void vlog_exit(void);
-void vlog(enum vlog_module, enum vlog_level, const char *format, ...)
- __attribute__((format(printf, 3, 4)));
-void vlog_valist(enum vlog_module, enum vlog_level, const char *, va_list)
- __attribute__((format(printf, 3, 0)));
-void vlog_rate_limit(enum vlog_module, enum vlog_level,
+void vlog_enable_async(void);
+
+/* Functions for actual logging. */
+void vlog(const struct vlog_module *, enum vlog_level, const char *format, ...)
+ PRINTF_FORMAT (3, 4);
+void vlog_valist(const struct vlog_module *, enum vlog_level,
+ const char *, va_list)
+ PRINTF_FORMAT (3, 0);
+
+void vlog_fatal(const struct vlog_module *, const char *format, ...)
+ PRINTF_FORMAT (2, 3) NO_RETURN;
+void vlog_fatal_valist(const struct vlog_module *, const char *format, va_list)
+ PRINTF_FORMAT (2, 0) NO_RETURN;
+
+void vlog_abort(const struct vlog_module *, const char *format, ...)
+ PRINTF_FORMAT (2, 3) NO_RETURN;
+void vlog_abort_valist(const struct vlog_module *, const char *format, va_list)
+ PRINTF_FORMAT (2, 0) NO_RETURN;
+
+void vlog_rate_limit(const struct vlog_module *, enum vlog_level,