/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-#ifndef foologsshowhfoo
-#define foologsshowhfoo
+#pragma once
/***
This file is part of systemd.
***/
#include <stdbool.h>
+#include <unistd.h>
+#include <sys/types.h>
-#include <systemd/sd-journal.h>
+#include "systemd/sd-journal.h"
#include "util.h"
+#include "output-mode.h"
-typedef enum OutputMode {
- OUTPUT_SHORT,
- OUTPUT_SHORT_MONOTONIC,
- OUTPUT_VERBOSE,
- OUTPUT_EXPORT,
- OUTPUT_JSON,
- OUTPUT_CAT,
- _OUTPUT_MODE_MAX,
- _OUTPUT_MODE_INVALID = -1
-} OutputMode;
+int output_journal(
+ FILE *f,
+ sd_journal *j,
+ OutputMode mode,
+ unsigned n_columns,
+ OutputFlags flags,
+ bool *ellipsized);
+
+int add_match_this_boot(sd_journal *j, const char *machine);
-int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all);
+int add_matches_for_unit(
+ sd_journal *j,
+ const char *unit);
+
+int add_matches_for_user_unit(
+ sd_journal *j,
+ const char *unit,
+ uid_t uid);
int show_journal_by_unit(
+ FILE *f,
const char *unit,
OutputMode mode,
unsigned n_columns,
usec_t not_before,
unsigned how_many,
- bool show_all,
- bool follow,
- bool warn_cutoff);
+ uid_t uid,
+ OutputFlags flags,
+ bool system,
+ bool *ellipsized);
-const char* output_mode_to_string(OutputMode m);
-OutputMode output_mode_from_string(const char *s);
+void json_escape(
+ FILE *f,
+ const char* p,
+ size_t l,
+ OutputFlags flags);
-#endif
+const char* output_mode_to_string(OutputMode m) _const_;
+OutputMode output_mode_from_string(const char *s) _pure_;