'\" t .TH "SD_JOURNAL_GET_CATALOG" "3" "" "systemd 241" "sd_journal_get_catalog" .\" ----------------------------------------------------------------- .\" * 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_get_catalog, sd_journal_get_catalog_for_message_id \- Retrieve message catalog entry .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'int\ sd_journal_get_catalog('u .BI "int sd_journal_get_catalog(sd_journal\ *" "j" ", char\ **" "ret" ");" .HP \w'int\ sd_journal_get_catalog_for_message_id('u .BI "int sd_journal_get_catalog_for_message_id(sd_id128_t\ " "id" ", char\ **" "ret" ");" .SH "DESCRIPTION" .PP \fBsd_journal_get_catalog()\fR retrieves a message catalog entry for the current journal entry\&. This will look up an entry in the message catalog by using the "MESSAGE_ID=" field of the current journal entry\&. Before returning the entry all journal field names in the catalog entry text enclosed in "@" will be replaced by the respective field values of the current entry\&. If a field name referenced in the message catalog entry does not exist, in the current journal entry, the "@" will be removed, but the field name otherwise left untouched\&. .PP \fBsd_journal_get_catalog_for_message_id()\fR works similar to \fBsd_journal_get_catalog()\fR but the entry is looked up by the specified message ID (no open journal context is necessary for this), and no field substitution is performed\&. .PP For more information about the journal message catalog please refer to the \m[blue]\fBJournal Message Catalogs\fR\m[]\&\s-2\u[1]\d\s+2 documentation page\&. .SH "RETURN VALUE" .PP \fBsd_journal_get_catalog()\fR and \fBsd_journal_get_catalog_for_message_id()\fR return 0 on success or a negative errno\-style error code\&. If no matching message catalog entry is found, \-ENOENT is returned\&. .PP On successful return, \fIret\fR points to a new string, which must be freed with \fBfree\fR(3)\&. .SH "NOTES" .PP Function \fBsd_journal_get_catalog()\fR is 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 Function \fBsd_journal_get_catalog_for_message_id()\fR is are thread\-safe and may be called in parallel from multiple threads\&. .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), \fBsystemd.journal-fields\fR(7), \fBsd-journal\fR(3), \fBsd_journal_open\fR(3), \fBsd_journal_next\fR(3), \fBsd_journal_get_data\fR(3), \fBmalloc\fR(3) .SH "NOTES" .IP " 1." 4 Journal Message Catalogs .RS 4 \%https://www.freedesktop.org/wiki/Software/systemd/catalog .RE