X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=man%2Fsd_journal_next.xml;h=9a27d1426e3574501a8bdc3b5cd46c5ae473f8e7;hb=07d16cc0985d9c43ee6f8bb50d793491f540f2c9;hp=9b1cb1fc460f0d6abcdf800813fcc350ee00436f;hpb=bb31a4ac1997c189a344caf554f34c6aabc71aa7;p=thirdparty%2Fsystemd.git diff --git a/man/sd_journal_next.xml b/man/sd_journal_next.xml index 9b1cb1fc460..9a27d1426e3 100644 --- a/man/sd_journal_next.xml +++ b/man/sd_journal_next.xml @@ -1,214 +1,178 @@ + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - - - - sd_journal_next - systemd - - - - Developer - Lennart - Poettering - lennart@poettering.net - - - - - - sd_journal_next - 3 - - - - sd_journal_next - sd_journal_previous - sd_journal_next_skip - sd_journal_previous_skip - SD_JOURNAL_FOREACH - SD_JOURNAL_FOREACH_BACKWARDS - Advance or set back the read pointer in the journal - - - - - #include <systemd/sd-journal.h> - - - int sd_journal_next - sd_journal* j - - - - int sd_journal_previous - sd_journal* j - - - - int sd_journal_next_skip - sd_journal* j - uint64_t skip - - - - int sd_journal_previous_skip - sd_journal* j - uint64_t skip - - - - SD_JOURNAL_FOREACH - sd_journal* j - - - - SD_JOURNAL_FOREACH_BACKWARDS - sd_journal* j - - - - - - Description - - sd_journal_next() advances - the read pointer into the journal by one entry. The - only argument taken is a journal context object as - allocated via - sd_journal_open3. After - successful invocation the entry may be read with - functions such as - sd_journal_get_data3. - - Similar, sd_journal_previous() sets - the read pointer back one entry. - - sd_journal_next_skip() and - sd_journal_previous_skip() - advance/set back the read pointer by multiple entries - at once, as specified in the skip - parameter. - - The journal is strictly ordered by reception - time, and hence advancing to the next entry guarantees - that the entry then pointing to is later in time than - then previous one, or has the same timestamp. - - Note that - sd_journal_get_data3 - and related calls will fail unless - sd_journal_next() has been - invoked at least once in order to position the read - pointer on a journal entry. - - Note that the - SD_JOURNAL_FOREACH() macro may be used - as a wrapper around - sd_journal_seek_head3 - and sd_journal_next() in order to - make iterating through the journal easier. See below - for an example. Similar, - SD_JOURNAL_FOREACH_BACKWARDS() - may be used for iterating the journal in reverse - order. - - - - Return Value - - The four calls return the number of entries - advanced/set back on success or a negative errno-style - error code. When the end or beginning of the journal - is reached, a number smaller than requested is - returned. More specifically, if - sd_journal_next() or - sd_journal_previous() reach the - end/beginning of the journal they will return 0, - instead of 1 when they are successful. This should be - considered an EOF marker. - - - - Notes - - The sd_journal_next(), sd_journal_previous(), - sd_journal_next_skip() and - sd_journal_previous_skip() interfaces are - available as shared library, which can be compiled and - linked to with the - libsystemd-journal - pkg-config1 - file. - - - - Examples - - Iterating through the journal: - - #include <stdio.h> + + + + sd_journal_next + systemd + + + + sd_journal_next + 3 + + + + sd_journal_next + sd_journal_previous + sd_journal_next_skip + sd_journal_previous_skip + SD_JOURNAL_FOREACH + SD_JOURNAL_FOREACH_BACKWARDS + Advance or set back the read pointer in the journal + + + + + #include <systemd/sd-journal.h> + + + int sd_journal_next + sd_journal *j + + + + int sd_journal_previous + sd_journal *j + + + + int sd_journal_next_skip + sd_journal *j + uint64_t skip + + + + int sd_journal_previous_skip + sd_journal *j + uint64_t skip + + + + SD_JOURNAL_FOREACH + sd_journal *j + + + + SD_JOURNAL_FOREACH_BACKWARDS + sd_journal *j + + + + + + Description + + sd_journal_next() advances the read + pointer into the journal by one entry. The only argument taken is + a journal context object as allocated via + sd_journal_open3. + After successful invocation the entry may be read with functions + such as + sd_journal_get_data3. + + Similarly, sd_journal_previous() sets + the read pointer back one entry. + + sd_journal_next_skip() and + sd_journal_previous_skip() advance/set back + the read pointer by multiple entries at once, as specified in the + skip parameter. + + The journal is strictly ordered by reception time, and hence + advancing to the next entry guarantees that the entry then + pointing to is later in time than then previous one, or has the + same timestamp. + + Note that + sd_journal_get_data3 + and related calls will fail unless + sd_journal_next() has been invoked at least + once in order to position the read pointer on a journal + entry. + + Note that the SD_JOURNAL_FOREACH() + macro may be used as a wrapper around + sd_journal_seek_head3 + and sd_journal_next() in order to make + iterating through the journal easier. See below for an example. + Similarly, SD_JOURNAL_FOREACH_BACKWARDS() may + be used for iterating the journal in reverse order. + + + + Return Value + + The four calls return the number of entries advanced/set + back on success or a negative errno-style error code. When the end + or beginning of the journal is reached, a number smaller than + requested is returned. More specifically, if + sd_journal_next() or + sd_journal_previous() reach the end/beginning + of the journal they will return 0, instead of 1 when they are + successful. This should be considered an EOF marker. + + + + Notes + + + + + + + + Examples + + Iterating through the journal: + + #include <stdio.h> #include <string.h> #include <systemd/sd-journal.h> int main(int argc, char *argv[]) { - int r; - sd_journal *j; - r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); - if (r < 0) { - fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); - return 1; - } - SD_JOURNAL_FOREACH(j) { - const char *d; - size_t l; - - r = sd_journal_get_data(j, "MESSAGE", &d, &l); - if (r < 0) { - fprintf(stderr, "Failed to read message field: %s\n", strerror(-r)); - continue; - } - - printf("%.*s\n", (int) l, d); - } - sd_journal_close(j); - return 0; + int r; + sd_journal *j; + r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); + if (r < 0) { + fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); + return 1; + } + SD_JOURNAL_FOREACH(j) { + const char *d; + size_t l; + + r = sd_journal_get_data(j, "MESSAGE", (const void **)&d, &l); + if (r < 0) { + fprintf(stderr, "Failed to read message field: %s\n", strerror(-r)); + continue; + } + + printf("%.*s\n", (int) l, d); + } + sd_journal_close(j); + return 0; } - + - - See Also + + See Also - - systemd1, - sd-journal3, - sd_journal_open3, - sd_journal_get_data3, - sd_journal_get_realtime_usec3, - sd_journal_get_cursor3 - - + + systemd1, + sd-journal3, + sd_journal_open3, + sd_journal_get_data3, + sd_journal_get_realtime_usec3, + sd_journal_get_cursor3 + +