X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Flogs-show.h;h=3a99160f1eec91ba468dcbec071c09fa75257602;hp=3e6b6e0f643edebb29fc602a7cc36050eb6b6dcf;hb=bdd13f6be4b588568683a1ab54f421fc6a636dbb;hpb=a6e87e90ede66815989ba2db92a07102a69906fe diff --git a/src/shared/logs-show.h b/src/shared/logs-show.h index 3e6b6e0f6..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_JSON_PRETTY, - OUTPUT_CAT, - _OUTPUT_MODE_MAX, - _OUTPUT_MODE_INVALID = -1 -} OutputMode; - -typedef enum OutputFlags { - OUTPUT_SHOW_ALL = 1 << 0, - OUTPUT_FOLLOW = 1 << 1, - OUTPUT_WARN_CUTOFF = 1 << 2, - OUTPUT_FULL_WIDTH = 1 << 3, - OUTPUT_COLOR = 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, + 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_;