Index

Name

sd_journal_seek_head, sd_journal_seek_tail, sd_journal_seek_monotonic_usec, sd_journal_seek_realtime_usec, sd_journal_seek_cursor — Seek to a position in the journal

Synopsis

#include <systemd/sd-journal.h>
int sd_journal_seek_head(sd_journal* j);
 
int sd_journal_seek_tail(sd_journal* j);
 
int sd_journal_seek_monotonic_usec(sd_journal* j,
 sd_id128_t boot_id,
 uint64_t usec);
 
int sd_journal_seek_realtime_usec(sd_journal* j,
 uint64_t usec);
 
int sd_journal_seek_cursor(sd_journal* j,
 const char * cursor);
 

Description

sd_journal_seek_head() seeks to the beginning of the journal, i.e. the oldest available entry.

Similar, sd_journal_seek_tail() may be used to seek to the end of the journal, i.e. the most recent available entry.

sd_journal_seek_monotonic_usec() seeks to the entry with the specified monotonic timestamp, i.e. CLOCK_MONOOTONIC. Since monotonic time restarts on every reboot a boot ID needs to be specified as well.

sd_journal_seek_realtime_usec() seeks to the entry with the specified realtime (wallclock) timestamp, i.e. CLOCK_REALTIME. Note that the realtime clock is not necessary monotonic. If a realtime timestamp is ambiguous it is not defined which position is sought to.

sd_journal_seek_cursor() seeks to the entry located at the specified cursor string. For details on cursors see sd_journal_get_cursor(3).

Note that these calls do not actually make any entry the new current entry, this needs to be done in a separate step with a subsequent sd_journal_next(3) invocation (or a similar call). Only then entry data may be retrieved via sd_journal_get_data(3). If no entry exists that matches exactly the specified seek address the next closest is sought to. If sd_journal_next(3) is used the closest following entry will be sought to, if sd_journal_previous(3) is used the closest preceding entry is sought to.

Return Value

The functions return 0 on success or a negative errno-style error code.

Notes

The sd_journal_seek_head(), sd_journal_seek_tail(), sd_journal_seek_monotonic_usec(), sd_journal_seek_realtime_usec(), and sd_journal_seek_cursor() interfaces are available as shared library, which can be compiled and linked to with the libsystemd-journal pkg-config(1) file.

See Also

systemd(1), sd-journal(3), sd_journal_open(3), sd_journal_next(3), sd_journal_get_data(3), sd_journal_get_cursor(3), sd_journal_get_realtime_usec(3)