diff options
Diffstat (limited to 'upstream/mageia-cauldron/man3/sd_journal_enumerate_fields.3')
-rw-r--r-- | upstream/mageia-cauldron/man3/sd_journal_enumerate_fields.3 | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3/sd_journal_enumerate_fields.3 b/upstream/mageia-cauldron/man3/sd_journal_enumerate_fields.3 new file mode 100644 index 00000000..27ab5f29 --- /dev/null +++ b/upstream/mageia-cauldron/man3/sd_journal_enumerate_fields.3 @@ -0,0 +1,125 @@ +'\" t +.TH "SD_JOURNAL_ENUMERATE_FIELDS" "3" "" "systemd 255" "sd_journal_enumerate_fields" +.\" ----------------------------------------------------------------- +.\" * 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_enumerate_fields, sd_journal_restart_fields, SD_JOURNAL_FOREACH_FIELD \- Read used field names from the journal +.SH "SYNOPSIS" +.sp +.ft B +.nf +#include <systemd/sd\-journal\&.h> +.fi +.ft +.HP \w'int\ sd_journal_enumerate_fields('u +.BI "int sd_journal_enumerate_fields(sd_journal\ *" "j" ", const\ char\ **" "field" ");" +.HP \w'void\ sd_journal_restart_fields('u +.BI "void sd_journal_restart_fields(sd_journal\ *" "j" ");" +.HP \w'SD_JOURNAL_FOREACH_FIELD('u +.BI "SD_JOURNAL_FOREACH_FIELD(sd_journal\ *" "j" ", const\ char\ *" "field" ");" +.SH "DESCRIPTION" +.PP +\fBsd_journal_enumerate_fields()\fR +may be used to iterate through all field names used in the opened journal files\&. On each invocation the next field name is returned\&. The order of the returned field names is not defined\&. It takes two arguments: the journal context object, plus a pointer to a constant string pointer where the field name is stored in\&. The returned data is in a read\-only memory map and is only valid until the next invocation of +\fBsd_journal_enumerate_fields()\fR\&. Note that this call is subject to the data field size threshold as controlled by +\fBsd_journal_set_data_threshold()\fR\&. +.PP +\fBsd_journal_restart_fields()\fR +resets the field name enumeration index to the beginning of the list\&. The next invocation of +\fBsd_journal_enumerate_fields()\fR +will return the first field name again\&. +.PP +The +\fBSD_JOURNAL_FOREACH_FIELD()\fR +macro may be used as a handy wrapper around +\fBsd_journal_restart_fields()\fR +and +\fBsd_journal_enumerate_fields()\fR\&. +.PP +These functions currently are not influenced by matches set with +\fBsd_journal_add_match()\fR +but this might change in a later version of this software\&. +.PP +To retrieve the possible values a specific field can take use +\fBsd_journal_query_unique\fR(3)\&. +.SH "RETURN VALUE" +.PP +\fBsd_journal_enumerate_fields()\fR +returns a positive integer if the next field name has been read, 0 when no more field names are known, or a negative errno\-style error code\&. +\fBsd_journal_restart_fields()\fR +returns nothing\&. +.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 +Functions described here are available as a shared library, which can be compiled against and linked to with the +\fBlibsystemd\fR\ \&\fBpkg-config\fR(1) +file\&. +.SH "EXAMPLES" +.PP +Use the +\fBSD_JOURNAL_FOREACH_FIELD()\fR +macro to iterate through all field names in use in the current journal\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +/* SPDX\-License\-Identifier: MIT\-0 */ + +#include <errno\&.h> +#include <stdio\&.h> +#include <systemd/sd\-journal\&.h> + +int main(int argc, char *argv[]) { + sd_journal *j; + const char *field; + int r; + + r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); + if (r < 0) { + errno = \-r; + fprintf(stderr, "Failed to open journal: %m\en"); + return 1; + } + SD_JOURNAL_FOREACH_FIELD(j, field) + printf("%s\en", field); + sd_journal_close(j); + return 0; +} +.fi +.if n \{\ +.RE +.\} +.SH "HISTORY" +.PP +\fBsd_journal_enumerate_fields()\fR, +\fBsd_journal_restart_fields()\fR, and +\fBSD_JOURNAL_FOREACH_FIELD()\fR +were added in version 229\&. +.SH "SEE ALSO" +.PP +\fBsystemd\fR(1), +\fBsystemd.journal-fields\fR(7), +\fBsd-journal\fR(3), +\fBsd_journal_open\fR(3), +\fBsd_journal_query_unique\fR(3), +\fBsd_journal_get_data\fR(3), +\fBsd_journal_add_match\fR(3) |