Change-Id: I531f80e6506f1379b3542abc57801c453daad500
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
fflush(stderr);
return -error;
}
+
+int log_kmsg(const char *format, ...)
+{
+ FILE *fd = NULL;
+ char *buffer = NULL;
+ va_list ap;
+ int ret;
+
+ va_start(ap, format);
+ ret = vasprintf(&buffer, format, ap);
+ va_end(ap);
+
+ if (ret < 0) {
+ ret = errno;
+ goto cleanup;
+ }
+
+ fd = fopen("/dev/kmsg", "w");
+ if (!fd) {
+ ret = errno;
+ goto cleanup;
+ }
+
+ fprintf(fd, "faultd: %s\n", buffer);
+ fclose(fd);
+ ret = 0;
+
+cleanup:
+ if (buffer)
+ free(buffer);
+
+ return ret;
+}
void log_set_max_level(int level);
int log_internal(int level, int error, const char *file, int __line, const char *func, const char *format, ...) __attribute__ ((format (printf, 6, 7)));
int log_parse_level_name(const char *name);
+int log_kmsg(const char *format, ...);
#endif /* _FAUTLD_LOG_H */