/*-*- 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 "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(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all);
+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,
usec_t not_before,
unsigned how_many,
- bool show_all,
- bool follow);
+ OutputFlags flags);
+
+int show_journal_by_user_unit(
+ FILE *f,
+ const char *unit,
+ OutputMode mode,
+ unsigned n_columns,
+ usec_t not_before,
+ unsigned how_many,
+ uid_t uid,
+ 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