1 #![allow(non_camel_case_types)]
2 
3 use super::size_t;
4 use super::{c_char, c_int, c_void};
5 use super::const_iovec;
6 
7 pub const SD_JOURNAL_LOCAL_ONLY: c_int = 1;
8 pub const SD_JOURNAL_RUNTIME_ONLY: c_int = 2;
9 pub const SD_JOURNAL_SYSTEM: c_int = 4;
10 pub const SD_JOURNAL_CURRENT_USER: c_int = 8;
11 
12 // Wakeup event types
13 pub const SD_JOURNAL_NOP: c_int = 0;
14 pub const SD_JOURNAL_APPEND: c_int = 1;
15 pub const SD_JOURNAL_INVALIDATE: c_int = 2;
16 
17 use id128::sd_id128_t;
18 pub enum sd_journal {}
19 
20 extern "C" {
21     // sd-journal
sd_journal_sendv(iv: *const const_iovec, n: c_int) -> c_int22     pub fn sd_journal_sendv(iv: *const const_iovec, n: c_int) -> c_int;
23     // There are a bunch of other send methods, but for rust it doesn't make sense to call them
24     // (we don't need to do c-style format strings)
25 
sd_journal_open(ret: *mut *mut sd_journal, flags: c_int) -> c_int26     pub fn sd_journal_open(ret: *mut *mut sd_journal, flags: c_int) -> c_int;
sd_journal_close(j: *mut sd_journal) -> ()27     pub fn sd_journal_close(j: *mut sd_journal) -> ();
28 
sd_journal_previous(j: *mut sd_journal) -> c_int29     pub fn sd_journal_previous(j: *mut sd_journal) -> c_int;
sd_journal_next(j: *mut sd_journal) -> c_int30     pub fn sd_journal_next(j: *mut sd_journal) -> c_int;
31 
sd_journal_previous_skip(j: *mut sd_journal, skip: u64) -> c_int32     pub fn sd_journal_previous_skip(j: *mut sd_journal, skip: u64) -> c_int;
sd_journal_next_skip(j: *mut sd_journal, skip: u64) -> c_int33     pub fn sd_journal_next_skip(j: *mut sd_journal, skip: u64) -> c_int;
34 
sd_journal_get_realtime_usec(j: *mut sd_journal, ret: *const u64) -> c_int35     pub fn sd_journal_get_realtime_usec(j: *mut sd_journal, ret: *const u64) -> c_int;
sd_journal_get_monotonic_usec(j: *mut sd_journal, ret: *const u64, ret_boot_id: *const sd_id128_t) -> c_int36     pub fn sd_journal_get_monotonic_usec(j: *mut sd_journal,
37                                          ret: *const u64,
38                                          ret_boot_id: *const sd_id128_t)
39                                          -> c_int;
40 
sd_journal_set_data_threshold(j: *mut sd_journal, sz: size_t) -> c_int41     pub fn sd_journal_set_data_threshold(j: *mut sd_journal, sz: size_t) -> c_int;
sd_journal_get_data_threshold(j: *mut sd_journal, sz: *mut size_t) -> c_int42     pub fn sd_journal_get_data_threshold(j: *mut sd_journal, sz: *mut size_t) -> c_int;
43 
sd_journal_get_data(j: *mut sd_journal, field: *const c_char, data: *const *mut u8, l: *mut size_t) -> c_int44     pub fn sd_journal_get_data(j: *mut sd_journal,
45                                field: *const c_char,
46                                data: *const *mut u8,
47                                l: *mut size_t)
48                                -> c_int;
sd_journal_enumerate_data(j: *mut sd_journal, data: *const *mut u8, l: *mut size_t) -> c_int49     pub fn sd_journal_enumerate_data(j: *mut sd_journal,
50                                      data: *const *mut u8,
51                                      l: *mut size_t)
52                                      -> c_int;
sd_journal_restart_data(j: *mut sd_journal) -> ()53     pub fn sd_journal_restart_data(j: *mut sd_journal) -> ();
54 
sd_journal_add_match(j: *mut sd_journal, data: *const c_void, size: size_t) -> c_int55     pub fn sd_journal_add_match(j: *mut sd_journal, data: *const c_void, size: size_t) -> c_int;
sd_journal_add_disjunction(j: *mut sd_journal) -> c_int56     pub fn sd_journal_add_disjunction(j: *mut sd_journal) -> c_int;
sd_journal_add_conjunction(j: *mut sd_journal) -> c_int57     pub fn sd_journal_add_conjunction(j: *mut sd_journal) -> c_int;
sd_journal_flush_matches(j: *mut sd_journal) -> ()58     pub fn sd_journal_flush_matches(j: *mut sd_journal) -> ();
59 
sd_journal_seek_head(j: *mut sd_journal) -> c_int60     pub fn sd_journal_seek_head(j: *mut sd_journal) -> c_int;
sd_journal_seek_tail(j: *mut sd_journal) -> c_int61     pub fn sd_journal_seek_tail(j: *mut sd_journal) -> c_int;
sd_journal_seek_monotonic_usec(j: *mut sd_journal, boot_id: sd_id128_t, usec: u64) -> c_int62     pub fn sd_journal_seek_monotonic_usec(j: *mut sd_journal,
63                                           boot_id: sd_id128_t,
64                                           usec: u64)
65                                           -> c_int;
sd_journal_seek_realtime_usec(j: *mut sd_journal, usec: u64) -> c_int66     pub fn sd_journal_seek_realtime_usec(j: *mut sd_journal, usec: u64) -> c_int;
sd_journal_seek_cursor(j: *mut sd_journal, cursor: *const c_char) -> c_int67     pub fn sd_journal_seek_cursor(j: *mut sd_journal, cursor: *const c_char) -> c_int;
68 
sd_journal_get_cursor(j: *mut sd_journal, cursor: *const *mut c_char) -> c_int69     pub fn sd_journal_get_cursor(j: *mut sd_journal, cursor: *const *mut c_char) -> c_int;
sd_journal_test_cursor(j: *mut sd_journal, cursor: *const c_char) -> c_int70     pub fn sd_journal_test_cursor(j: *mut sd_journal, cursor: *const c_char) -> c_int;
71 
sd_journal_get_cutoff_realtime_usec(j: *mut sd_journal, from: *mut u64, to: *mut u64) -> c_int72     pub fn sd_journal_get_cutoff_realtime_usec(j: *mut sd_journal,
73                                                from: *mut u64,
74                                                to: *mut u64)
75                                                -> c_int;
sd_journal_get_cutoff_monotonic_usec(j: *mut sd_journal, boot_id: sd_id128_t, from: *mut u64, to: *mut u64) -> c_int76     pub fn sd_journal_get_cutoff_monotonic_usec(j: *mut sd_journal,
77                                                 boot_id: sd_id128_t,
78                                                 from: *mut u64,
79                                                 to: *mut u64)
80                                                 -> c_int;
81 
sd_journal_get_usage(j: *mut sd_journal, bytes: *mut u64) -> c_int82     pub fn sd_journal_get_usage(j: *mut sd_journal, bytes: *mut u64) -> c_int;
83 
sd_journal_query_unique(j: *mut sd_journal, field: *const c_char) -> c_int84     pub fn sd_journal_query_unique(j: *mut sd_journal, field: *const c_char) -> c_int;
sd_journal_enumerate_unique(j: *mut sd_journal, data: *const *mut c_void, l: *mut size_t) -> c_int85     pub fn sd_journal_enumerate_unique(j: *mut sd_journal,
86                                        data: *const *mut c_void,
87                                        l: *mut size_t)
88                                        -> c_int;
sd_journal_restart_unique(j: *mut sd_journal) -> ()89     pub fn sd_journal_restart_unique(j: *mut sd_journal) -> ();
90 
sd_journal_get_fd(j: *mut sd_journal) -> c_int91     pub fn sd_journal_get_fd(j: *mut sd_journal) -> c_int;
sd_journal_get_events(j: *mut sd_journal) -> c_int92     pub fn sd_journal_get_events(j: *mut sd_journal) -> c_int;
sd_journal_get_timeout(j: *mut sd_journal, timeout_usec: *mut u64) -> c_int93     pub fn sd_journal_get_timeout(j: *mut sd_journal, timeout_usec: *mut u64) -> c_int;
sd_journal_process(j: *mut sd_journal) -> c_int94     pub fn sd_journal_process(j: *mut sd_journal) -> c_int;
sd_journal_wait(j: *mut sd_journal, timeout_usec: u64) -> c_int95     pub fn sd_journal_wait(j: *mut sd_journal, timeout_usec: u64) -> c_int;
sd_journal_reliable_fd(j: *mut sd_journal) -> c_int96     pub fn sd_journal_reliable_fd(j: *mut sd_journal) -> c_int;
97 
sd_journal_get_catalog(j: *mut sd_journal, text: *const *mut c_char) -> c_int98     pub fn sd_journal_get_catalog(j: *mut sd_journal, text: *const *mut c_char) -> c_int;
sd_journal_get_catalog_for_message_id(id: sd_id128_t, ret: *const *mut c_char) -> c_int99     pub fn sd_journal_get_catalog_for_message_id(id: sd_id128_t, ret: *const *mut c_char) -> c_int;
100 }
101