'\" t .TH "SD_JOURNAL_SEEK_HEAD" "3" "" "systemd 252" "sd_journal_seek_head" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "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 .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'int\ sd_journal_seek_head('u .BI "int sd_journal_seek_head(sd_journal\ *" "j" ");" .HP \w'int\ sd_journal_seek_tail('u .BI "int sd_journal_seek_tail(sd_journal\ *" "j" ");" .HP \w'int\ sd_journal_seek_monotonic_usec('u .BI "int sd_journal_seek_monotonic_usec(sd_journal\ *" "j" ", sd_id128_t\ " "boot_id" ", uint64_t\ " "usec" ");" .HP \w'int\ sd_journal_seek_realtime_usec('u .BI "int sd_journal_seek_realtime_usec(sd_journal\ *" "j" ", uint64_t\ " "usec" ");" .HP \w'int\ sd_journal_seek_cursor('u .BI "int sd_journal_seek_cursor(sd_journal\ *" "j" ", const\ char\ *" "cursor" ");" .SH "DESCRIPTION" .PP \fBsd_journal_seek_head()\fR seeks to the beginning of the journal, i\&.e\&. to the position before the oldest available entry\&. .PP Similarly, \fBsd_journal_seek_tail()\fR may be used to seek to the end of the journal, i\&.e\&. the position after the most recent available entry\&. .PP \fBsd_journal_seek_monotonic_usec()\fR seeks to a position with the specified monotonic timestamp, i\&.e\&. \fBCLOCK_MONOTONIC\fR\&. Since monotonic time restarts on every reboot a boot ID needs to be specified as well\&. .PP \fBsd_journal_seek_realtime_usec()\fR seeks to a position with the specified realtime (wallclock) timestamp, i\&.e\&. \fBCLOCK_REALTIME\fR\&. Note that the realtime clock is not necessarily monotonic\&. If a realtime timestamp is ambiguous, it is not defined which position is sought to\&. .PP \fBsd_journal_seek_cursor()\fR seeks to the position at the specified cursor string\&. For details on cursors, see \fBsd_journal_get_cursor\fR(3)\&. If no entry matching the specified cursor is found the call will seek to the next closest entry (in terms of time) instead\&. To verify whether the newly selected entry actually matches the cursor, use \fBsd_journal_test_cursor\fR(3)\&. .PP 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 \fBsd_journal_next\fR(3) invocation (or a similar call)\&. Only then, entry data may be retrieved via \fBsd_journal_get_data\fR(3) or an entry cursor be retrieved via \fBsd_journal_get_cursor\fR(3)\&. If no entry exists that matches exactly the specified seek address, the next closest is sought to\&. If \fBsd_journal_next\fR(3) is used, the closest following entry will be sought to, if \fBsd_journal_previous\fR(3) is used the closest preceding entry is sought to\&. .SH "RETURN VALUE" .PP The functions return 0 on success or a negative errno\-style error code\&. .SH "NOTES" .PP All functions listed here are thread\-agnostic and only a single specific thread may operate on a given object during its entire lifetime\&. It\*(Aqs safe to allocate multiple independent objects and use each from a specific thread in parallel\&. However, it\*(Aqs not safe to allocate such an object in one thread, and operate or free it from any other, even if locking is used to ensure these threads don\*(Aqt operate on it at the very same time\&. .PP These APIs are implemented as a shared library, which can be compiled and linked to with the \fBlibsystemd\fR\ \&\fBpkg-config\fR(1) file\&. .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsd-journal\fR(3), \fBsd_journal_open\fR(3), \fBsd_journal_next\fR(3), \fBsd_journal_get_data\fR(3), \fBsd_journal_get_cursor\fR(3), \fBsd_journal_get_realtime_usec\fR(3)