sd_journal_seek_head

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)