X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flogs-show.h;h=c9a9ad3e9195413239bc3b062d031aa4c3c3c601;hb=602c0e740f8290cc9c4f13f2eb4b23fbbd7a8d2b;hp=4e6743254bda9e0def1720ffa5d6a72fb1a19a57;hpb=c2f1db8f83618e60dcded8303d14656d7d26b436;p=elogind.git diff --git a/src/shared/logs-show.h b/src/shared/logs-show.h index 4e6743254..c9a9ad3e9 100644 --- a/src/shared/logs-show.h +++ b/src/shared/logs-show.h @@ -22,40 +22,48 @@ ***/ #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, -} 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 add_match_this_boot(sd_journal *j); + +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); + +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_;