use super::id128::sd_id128;
use libc::{c_char, c_int, c_void, iovec, size_t};
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct sd_journal {
_unused: [u8; 0]
}
#[allow(clippy::identity_op)]
pub const SD_JOURNAL_LOCAL_ONLY: c_int = 1 << 0;
pub const SD_JOURNAL_RUNTIME_ONLY: c_int = 1 << 1;
pub const SD_JOURNAL_SYSTEM: c_int = 1 << 2;
pub const SD_JOURNAL_CURRENT_USER: c_int = 1 << 3;
pub const SD_JOURNAL_OS_ROOT: c_int = 1 << 4;
pub const SD_JOURNAL_ALL_NAMESPACES: c_int = 1 << 5;
pub const SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE: c_int = 1 << 6;
pub const LOG_EMERG: c_int = 0;
pub const LOG_ALERT: c_int = 1;
pub const LOG_CRIT: c_int = 2;
pub const LOG_ERR: c_int = 3;
pub const LOG_WARNING: c_int = 4;
pub const LOG_NOTICE: c_int = 5;
pub const LOG_INFO: c_int = 6;
pub const LOG_DEBUG: c_int = 7;
pub const SD_JOURNAL_NOP: c_int = 0;
pub const SD_JOURNAL_APPEND: c_int = 1;
pub const SD_JOURNAL_INVALIDATE: c_int = 2;
extern "C" {
pub fn sd_journal_print(priority: c_int, message: *const c_char, ...) -> c_int;
pub fn sd_journal_sendv(entry: *const iovec, count: c_int) -> c_int;
pub fn sd_journal_open(journal: *mut *mut sd_journal, flags: c_int) -> c_int;
pub fn sd_journal_open_namespace(journal: *mut *mut sd_journal,
namespace: *const c_char,
flags: c_int)
-> c_int;
pub fn sd_journal_open_directory(journal: *mut *mut sd_journal,
path: *const c_char,
flags: c_int)
-> c_int;
pub fn sd_journal_open_files(journal: *mut *mut sd_journal,
paths: *const *const c_char,
flags: c_int)
-> c_int;
pub fn sd_journal_close(journal: *mut sd_journal);
pub fn sd_journal_next(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_previous(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_next_skip(journal: *mut sd_journal, skip: u64) -> c_int;
pub fn sd_journal_previous_skip(journal: *mut sd_journal, skip: u64) -> c_int;
pub fn sd_journal_get_realtime_usec(journal: *mut sd_journal, usec: *mut u64) -> c_int;
pub fn sd_journal_get_monotonic_usec(journal: *mut sd_journal,
usec: *mut u64,
boot_id: *mut sd_id128)
-> c_int;
pub fn sd_journal_add_match(journal: *mut sd_journal,
data: *const c_void,
len: size_t)
-> c_int;
pub fn sd_journal_add_disjunction(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_add_conjunction(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_flush_matches(journal: *mut sd_journal);
pub fn sd_journal_seek_head(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_seek_tail(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_seek_monotonic_usec(journal: *mut sd_journal,
boot_id: sd_id128,
usec: u64)
-> c_int;
pub fn sd_journal_seek_realtime_usec(journal: *mut sd_journal, usec: u64) -> c_int;
pub fn sd_journal_seek_cursor(journal: *mut sd_journal, cursor: *const c_char) -> c_int;
pub fn sd_journal_enumerate_fields(journal: *mut sd_journal,
fields: *mut *const c_char)
-> c_int;
pub fn sd_journal_restart_fields(journal: *mut sd_journal);
pub fn sd_journal_get_cursor(journal: *mut sd_journal, cursor: *mut *mut c_char) -> c_int;
pub fn sd_journal_test_cursor(journal: *mut sd_journal, cursor: *const c_char) -> c_int;
pub fn sd_journal_get_cutoff_realtime_usec(journal: *mut sd_journal,
from: *mut u64,
to: *mut u64)
-> c_int;
pub fn sd_journal_get_cutoff_monotonic_usec(journal: *mut sd_journal,
boot_id: sd_id128,
from: *mut u64,
to: *mut u64)
-> c_int;
pub fn sd_journal_get_usage(journal: *mut sd_journal, size: *mut u64) -> c_int;
pub fn sd_journal_get_catalog(journal: *mut sd_journal, catalog: *mut *mut c_char) -> c_int;
pub fn sd_journal_get_catalog_for_message_id(id: sd_id128, catalog: *mut *mut c_char) -> c_int;
pub fn sd_journal_get_fd(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_get_events(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_get_timeout(journal: *mut sd_journal, timeout: *mut u64) -> c_int;
pub fn sd_journal_process(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_wait(journal: *mut sd_journal, timeout: u64) -> c_int;
pub fn sd_journal_reliable_fd(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_has_runtime_files(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_has_persistent_files(journal: *mut sd_journal) -> c_int;
pub fn sd_journal_get_data(journal: *mut sd_journal,
field: *const c_char,
data: *mut *const c_void,
length: *mut size_t)
-> c_int;
pub fn sd_journal_enumerate_data(journal: *mut sd_journal,
data: *mut *const c_void,
length: *mut size_t)
-> c_int;
pub fn sd_journal_enumerate_available_data(journal: *mut sd_journal,
data: *mut *const c_void,
length: *mut size_t)
-> c_int;
pub fn sd_journal_restart_data(journal: *mut sd_journal);
pub fn sd_journal_set_data_threshold(journal: *mut sd_journal, size: size_t) -> c_int;
pub fn sd_journal_get_data_threshold(journal: *mut sd_journal, size: *mut size_t) -> c_int;
pub fn sd_journal_query_unique(journal: *mut sd_journal, field: *const c_char) -> c_int;
pub fn sd_journal_enumerate_available_unique(journal: *mut sd_journal,
data: *mut *const c_void,
length: *mut size_t)
-> c_int;
pub fn sd_journal_enumerate_unique(journal: *mut sd_journal,
data: *mut *const c_void,
length: *mut size_t)
-> c_int;
pub fn sd_journal_restart_unique(journal: *mut sd_journal);
}