X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flogs-show.h;h=3a99160f1eec91ba468dcbec071c09fa75257602;hb=76cf10dab7a36653a159f0e87c46a13df494474f;hp=58ff9e5760bd8b39101f07fc2f2ca2cf8cd1db39;hpb=498261871dfa2a930ec84b13a176e3bdc43aa212;p=elogind.git diff --git a/src/shared/logs-show.h b/src/shared/logs-show.h index 58ff9e576..3a99160f1 100644 --- a/src/shared/logs-show.h +++ b/src/shared/logs-show.h @@ -22,41 +22,50 @@ ***/ #include +#include +#include #include #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; - -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_COLOR = 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, + bool *ellipsized); + +int add_match_this_boot(sd_journal *j, const char *machine); + +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, + uid_t uid, + OutputFlags flags, + bool system, + bool *ellipsized); + +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); +const char* output_mode_to_string(OutputMode m) _const_; +OutputMode output_mode_from_string(const char *s) _pure_;