mirror of
https://github.com/systemd/systemd.git
synced 2024-12-21 08:03:49 +08:00
787f78b6a1
Moving them out makes it easier to run them through a compiler, use automatic indentation, and opens the possibility to provide a download link in the future. I verified that all examples compile cleanly. (2-space indentation is used because the examples are already significantly indented in the man page, and we need to keep them narrow so that they display well on standard terminals.)
26 lines
587 B
C
26 lines
587 B
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <systemd/sd-journal.h>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
sd_journal *j;
|
|
const void *d;
|
|
size_t l;
|
|
int r;
|
|
|
|
r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY);
|
|
if (r < 0) {
|
|
fprintf(stderr, "Failed to open journal: %s\n", strerror(-r));
|
|
return 1;
|
|
}
|
|
r = sd_journal_query_unique(j, "_SYSTEMD_UNIT");
|
|
if (r < 0) {
|
|
fprintf(stderr, "Failed to query journal: %s\n", strerror(-r));
|
|
return 1;
|
|
}
|
|
SD_JOURNAL_FOREACH_UNIQUE(j, d, l)
|
|
printf("%.*s\n", (int) l, (const char*) d);
|
|
sd_journal_close(j);
|
|
return 0;
|
|
}
|