libsystemd_sys/
journal.rs1#![allow(non_camel_case_types)]
2
3use super::size_t;
4use super::{c_char, c_int, c_void, const_iovec};
5
6pub const SD_JOURNAL_LOCAL_ONLY: c_int = 1 << 0;
7pub const SD_JOURNAL_RUNTIME_ONLY: c_int = 1 << 1;
8pub const SD_JOURNAL_SYSTEM: c_int = 1 << 2;
9pub const SD_JOURNAL_CURRENT_USER: c_int = 1 << 3;
10pub const SD_JOURNAL_OS_ROOT: c_int = 1 << 4;
11pub const SD_JOURNAL_ALL_NAMESPACES: c_int = 1 << 5;
12pub const SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE: c_int = 1 << 6;
13
14pub const SD_JOURNAL_NOP: c_int = 0;
16pub const SD_JOURNAL_APPEND: c_int = 1;
17pub const SD_JOURNAL_INVALIDATE: c_int = 2;
18
19use crate::id128::sd_id128_t;
20pub enum sd_journal {}
21
22extern "C" {
23 pub fn sd_journal_sendv(iv: *const const_iovec, n: c_int) -> c_int;
25 pub fn sd_journal_open(ret: *mut *mut sd_journal, flags: c_int) -> c_int;
29 #[cfg(feature = "systemd_v245")]
30 pub fn sd_journal_open_namespace(
31 ret: *mut *mut sd_journal,
32 namespace: *const c_char,
33 flags: c_int,
34 ) -> c_int;
35 pub fn sd_journal_open_directory(
36 ret: *mut *mut sd_journal,
37 path: *const c_char,
38 flags: c_int,
39 ) -> c_int;
40 pub fn sd_journal_open_files(
41 ret: *mut *mut sd_journal,
42 path: *const *const c_char,
43 flags: c_int,
44 ) -> c_int;
45 pub fn sd_journal_close(j: *mut sd_journal);
46
47 pub fn sd_journal_previous(j: *mut sd_journal) -> c_int;
48 pub fn sd_journal_next(j: *mut sd_journal) -> c_int;
49
50 pub fn sd_journal_previous_skip(j: *mut sd_journal, skip: u64) -> c_int;
51 pub fn sd_journal_next_skip(j: *mut sd_journal, skip: u64) -> c_int;
52
53 pub fn sd_journal_get_realtime_usec(j: *mut sd_journal, ret: *mut u64) -> c_int;
54 pub fn sd_journal_get_monotonic_usec(
55 j: *mut sd_journal,
56 ret: *mut u64,
57 ret_boot_id: *mut sd_id128_t,
58 ) -> c_int;
59
60 pub fn sd_journal_set_data_threshold(j: *mut sd_journal, sz: size_t) -> c_int;
61 pub fn sd_journal_get_data_threshold(j: *mut sd_journal, sz: *mut size_t) -> c_int;
62
63 pub fn sd_journal_get_data(
64 j: *mut sd_journal,
65 field: *const c_char,
66 data: *mut *mut u8,
67 l: *mut size_t,
68 ) -> c_int;
69 pub fn sd_journal_enumerate_data(
70 j: *mut sd_journal,
71 data: *mut *const u8,
72 l: *mut size_t,
73 ) -> c_int;
74 pub fn sd_journal_restart_data(j: *mut sd_journal);
75
76 pub fn sd_journal_add_match(j: *mut sd_journal, data: *const c_void, size: size_t) -> c_int;
77 pub fn sd_journal_add_disjunction(j: *mut sd_journal) -> c_int;
78 pub fn sd_journal_add_conjunction(j: *mut sd_journal) -> c_int;
79 pub fn sd_journal_flush_matches(j: *mut sd_journal);
80
81 pub fn sd_journal_seek_head(j: *mut sd_journal) -> c_int;
82 pub fn sd_journal_seek_tail(j: *mut sd_journal) -> c_int;
83 pub fn sd_journal_seek_monotonic_usec(
84 j: *mut sd_journal,
85 boot_id: sd_id128_t,
86 usec: u64,
87 ) -> c_int;
88 pub fn sd_journal_seek_realtime_usec(j: *mut sd_journal, usec: u64) -> c_int;
89 pub fn sd_journal_seek_cursor(j: *mut sd_journal, cursor: *const c_char) -> c_int;
90
91 pub fn sd_journal_get_cursor(j: *mut sd_journal, cursor: *mut *const c_char) -> c_int;
92 pub fn sd_journal_test_cursor(j: *mut sd_journal, cursor: *const c_char) -> c_int;
93
94 pub fn sd_journal_get_cutoff_realtime_usec(
95 j: *mut sd_journal,
96 from: *mut u64,
97 to: *mut u64,
98 ) -> c_int;
99 pub fn sd_journal_get_cutoff_monotonic_usec(
100 j: *mut sd_journal,
101 boot_id: sd_id128_t,
102 from: *mut u64,
103 to: *mut u64,
104 ) -> c_int;
105
106 pub fn sd_journal_get_usage(j: *mut sd_journal, bytes: *mut u64) -> c_int;
107
108 pub fn sd_journal_query_unique(j: *mut sd_journal, field: *const c_char) -> c_int;
109 pub fn sd_journal_enumerate_unique(
110 j: *mut sd_journal,
111 data: *mut *const c_void,
112 l: *mut size_t,
113 ) -> c_int;
114 pub fn sd_journal_restart_unique(j: *mut sd_journal);
115
116 pub fn sd_journal_get_fd(j: *mut sd_journal) -> c_int;
117 pub fn sd_journal_get_events(j: *mut sd_journal) -> c_int;
118 pub fn sd_journal_get_timeout(j: *mut sd_journal, timeout_usec: *mut u64) -> c_int;
119 pub fn sd_journal_process(j: *mut sd_journal) -> c_int;
120 pub fn sd_journal_wait(j: *mut sd_journal, timeout_usec: u64) -> c_int;
121 pub fn sd_journal_reliable_fd(j: *mut sd_journal) -> c_int;
122
123 pub fn sd_journal_get_catalog(j: *mut sd_journal, text: *mut *const c_char) -> c_int;
124 pub fn sd_journal_get_catalog_for_message_id(id: sd_id128_t, ret: *mut *const c_char) -> c_int;
125}