1SD_JOURNAL_SEEK_HEAD(3) sd_journal_seek_head SD_JOURNAL_SEEK_HEAD(3)
2
3
4
6 sd_journal_seek_head, sd_journal_seek_tail,
7 sd_journal_seek_monotonic_usec, sd_journal_seek_realtime_usec,
8 sd_journal_seek_cursor - Seek to a position in the journal
9
11 #include <systemd/sd-journal.h>
12
13 int sd_journal_seek_head(sd_journal *j);
14
15 int sd_journal_seek_tail(sd_journal *j);
16
17 int sd_journal_seek_monotonic_usec(sd_journal *j, sd_id128_t boot_id,
18 uint64_t usec);
19
20 int sd_journal_seek_realtime_usec(sd_journal *j, uint64_t usec);
21
22 int sd_journal_seek_cursor(sd_journal *j, const char *cursor);
23
25 sd_journal_seek_head() seeks to the beginning of the journal, i.e. to
26 the position before the oldest available entry.
27
28 Similarly, sd_journal_seek_tail() may be used to seek to the end of the
29 journal, i.e. the position after the most recent available entry.
30
31 sd_journal_seek_monotonic_usec() seeks to a position with the specified
32 monotonic timestamp, i.e. CLOCK_MONOTONIC. Since monotonic time
33 restarts on every reboot a boot ID needs to be specified as well.
34
35 sd_journal_seek_realtime_usec() seeks to a position with the specified
36 realtime (wallclock) timestamp, i.e. CLOCK_REALTIME. Note that the
37 realtime clock is not necessarily monotonic. If a realtime timestamp is
38 ambiguous, it is not defined which position is sought to.
39
40 sd_journal_seek_cursor() seeks to the position at the specified cursor
41 string. For details on cursors, see sd_journal_get_cursor(3). If no
42 entry matching the specified cursor is found the call will seek to the
43 next closest entry (in terms of time) instead. To verify whether the
44 newly selected entry actually matches the cursor, use
45 sd_journal_test_cursor(3).
46
47 Note that these calls do not actually make any entry the new current
48 entry, this needs to be done in a separate step with a subsequent
49 sd_journal_next(3) invocation (or a similar call). Only then, entry
50 data may be retrieved via sd_journal_get_data(3) or an entry cursor be
51 retrieved via sd_journal_get_cursor(3). If no entry exists that matches
52 exactly the specified seek address, the next closest is sought to. If
53 sd_journal_next(3) is used, the closest following entry will be sought
54 to, if sd_journal_previous(3) is used the closest preceding entry is
55 sought to.
56
58 The functions return 0 on success or a negative errno-style error code.
59
61 All functions listed here are thread-agnostic and only a single
62 specific thread may operate on a given object during its entire
63 lifetime. It's safe to allocate multiple independent objects and use
64 each from a specific thread in parallel. However, it's not safe to
65 allocate such an object in one thread, and operate or free it from any
66 other, even if locking is used to ensure these threads don't operate on
67 it at the very same time.
68
69 These APIs are implemented as a shared library, which can be compiled
70 and linked to with the libsystemd pkg-config(1) file.
71
73 systemd(1), sd-journal(3), sd_journal_open(3), sd_journal_next(3),
74 sd_journal_get_data(3), sd_journal_get_cursor(3),
75 sd_journal_get_realtime_usec(3)
76
77
78
79systemd 241 SD_JOURNAL_SEEK_HEAD(3)