chiark / gitweb /
journal: implement message catalog
[elogind.git] / src / shared / logs-show.h
index 2e9cf63891ba887501467c9e9dd0358a4c4eaeb5..11cb41aab38d070acb6bda18a63bfbd8a6334c91 100644 (file)
@@ -1,7 +1,6 @@
 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
 
-#ifndef foologsshowhfoo
-#define foologsshowhfoo
+#pragma once
 
 /***
   This file is part of systemd.
@@ -34,23 +33,31 @@ typedef enum OutputMode {
         OUTPUT_VERBOSE,
         OUTPUT_EXPORT,
         OUTPUT_JSON,
+        OUTPUT_JSON_PRETTY,
+        OUTPUT_JSON_SSE,
         OUTPUT_CAT,
         _OUTPUT_MODE_MAX,
         _OUTPUT_MODE_INVALID = -1
 } OutputMode;
 
 typedef enum OutputFlags {
-        OUTPUT_SHOW_ALL = 1 << 0,
-        OUTPUT_MONOTONIC_MODE = 1 << 1,
-        OUTPUT_FOLLOW = 1 << 2,
-        OUTPUT_WARN_CUTOFF = 1 << 3,
-        OUTPUT_FULL_WIDTH = 1 << 4,
+        OUTPUT_SHOW_ALL       = 1 << 0,
+        OUTPUT_FOLLOW         = 1 << 1,
+        OUTPUT_WARN_CUTOFF    = 1 << 2,
+        OUTPUT_FULL_WIDTH     = 1 << 3,
+        OUTPUT_COLOR          = 1 << 4,
+        OUTPUT_CATALOG        = 1 << 5
 } OutputFlags;
 
-int output_journal(sd_journal *j, OutputMode mode, unsigned line,
-                   unsigned n_columns, OutputFlags flags);
+int output_journal(
+                FILE *f,
+                sd_journal *j,
+                OutputMode mode,
+                unsigned n_columns,
+                OutputFlags flags);
 
 int show_journal_by_unit(
+                FILE *f,
                 const char *unit,
                 OutputMode mode,
                 unsigned n_columns,
@@ -58,7 +65,11 @@ int show_journal_by_unit(
                 unsigned how_many,
                 OutputFlags flags);
 
+void json_escape(
+                FILE *f,
+                const char* p,
+                size_t l,
+                OutputFlags flags);
+
 const char* output_mode_to_string(OutputMode m);
 OutputMode output_mode_from_string(const char *s);
-
-#endif