static int _ulog_threshold = LOG_DEBUG;
static int _ulog_initialized = 0;
static const char *_ulog_ident = NULL;
+static struct udebug_buf *udb = NULL;
static const char *ulog_default_ident(void)
{
_ulog_initialized = 1;
}
+__attribute__((format(printf, 2, 0)))
static void ulog_kmsg(int priority, const char *fmt, va_list ap)
{
FILE *kmsg;
}
}
+__attribute__((format(printf, 2, 0)))
static void ulog_stdio(int priority, const char *fmt, va_list ap)
{
FILE *out = stderr;
vfprintf(out, fmt, ap);
}
+__attribute__((format(printf, 2, 0)))
static void ulog_syslog(int priority, const char *fmt, va_list ap)
{
vsyslog(priority, fmt, ap);
}
+void ulog_udebug(struct udebug_buf *_udb)
+{
+ udb = _udb;
+}
+
void ulog_open(int channels, int facility, const char *ident)
{
ulog_close();
{
va_list ap;
+ if (udb) {
+ va_start(ap, fmt);
+ udebug_entry_init(udb);
+ udebug_entry_vprintf(udb, fmt, ap);
+ udebug_entry_add(udb);
+ va_end(ap);
+ }
+
if (priority > _ulog_threshold)
return;