1use super::{c_char, c_int, c_uint, pid_t, uid_t};
4
5#[allow(non_camel_case_types)]
6pub enum sd_login_monitor {}
7extern "C" {
8 pub fn sd_pid_get_session(pid: pid_t, session: *mut *mut c_char) -> c_int;
9 pub fn sd_pid_get_owner_uid(pid: pid_t, uid: *mut uid_t) -> c_int;
10 pub fn sd_pid_get_unit(pid: pid_t, unit: *mut *mut c_char) -> c_int;
11 pub fn sd_pid_get_user_unit(pid: pid_t, unit: *mut *mut c_char) -> c_int;
12 pub fn sd_pid_get_slice(pid: pid_t, slice: *mut *mut c_char) -> c_int;
13 pub fn sd_pid_get_user_slice(pid: pid_t, slice: *mut *mut c_char) -> c_int;
14 pub fn sd_pid_get_machine_name(pid: pid_t, machine: *mut *mut c_char) -> c_int;
15 pub fn sd_pid_get_cgroup(pid: pid_t, cgroup: *mut *mut c_char) -> c_int;
16 pub fn sd_peer_get_session(fd: c_int, session: *mut *mut c_char) -> c_int;
17 pub fn sd_peer_get_owner_uid(fd: c_int, uid: *mut uid_t) -> c_int;
18 pub fn sd_peer_get_unit(fd: c_int, unit: *mut *mut c_char) -> c_int;
19 pub fn sd_peer_get_user_unit(fd: c_int, unit: *mut *mut c_char) -> c_int;
20 pub fn sd_peer_get_slice(fd: c_int, slice: *mut *mut c_char) -> c_int;
21 pub fn sd_peer_get_user_slice(fd: c_int, slice: *mut *mut c_char) -> c_int;
22 pub fn sd_peer_get_machine_name(fd: c_int, machine: *mut *mut c_char) -> c_int;
23 pub fn sd_peer_get_cgroup(pid: pid_t, cgroup: *mut *mut c_char) -> c_int;
24 pub fn sd_uid_get_state(uid: uid_t, state: *mut *mut c_char) -> c_int;
25 pub fn sd_uid_get_display(uid: uid_t, session: *mut *mut c_char) -> c_int;
26 pub fn sd_uid_is_on_seat(uid: uid_t, require_active: c_int, seat: *const c_char) -> c_int;
27 pub fn sd_uid_get_sessions(
28 uid: uid_t,
29 require_active: c_int,
30 sessions: *mut *mut *mut c_char,
31 ) -> c_int;
32 pub fn sd_uid_get_seats(
33 uid: uid_t,
34 require_active: c_int,
35 seats: *mut *mut *mut c_char,
36 ) -> c_int;
37 pub fn sd_session_is_active(session: *const c_char) -> c_int;
38 pub fn sd_session_is_remote(session: *const c_char) -> c_int;
39 pub fn sd_session_get_state(session: *const c_char, state: *mut *mut c_char) -> c_int;
40 pub fn sd_session_get_uid(session: *const c_char, uid: *mut uid_t) -> c_int;
41 pub fn sd_session_get_seat(session: *const c_char, seat: *mut *mut c_char) -> c_int;
42 pub fn sd_session_get_service(session: *const c_char, service: *mut *mut c_char) -> c_int;
43 pub fn sd_session_get_type(session: *const c_char, _type: *mut *mut c_char) -> c_int;
44 pub fn sd_session_get_class(session: *const c_char, clazz: *mut *mut c_char) -> c_int;
45 pub fn sd_session_get_desktop(session: *const c_char, desktop: *mut *mut c_char) -> c_int;
46 pub fn sd_session_get_display(session: *const c_char, display: *mut *mut c_char) -> c_int;
47 pub fn sd_session_get_remote_host(
48 session: *const c_char,
49 remote_host: *mut *mut c_char,
50 ) -> c_int;
51 pub fn sd_session_get_remote_user(
52 session: *const c_char,
53 remote_user: *mut *mut c_char,
54 ) -> c_int;
55 pub fn sd_session_get_tty(session: *const c_char, display: *mut *mut c_char) -> c_int;
56 pub fn sd_session_get_vt(session: *const c_char, vtnr: *mut c_uint) -> c_int;
57 pub fn sd_seat_get_active(
58 seat: *const c_char,
59 session: *mut *mut c_char,
60 uid: *mut uid_t,
61 ) -> c_int;
62 pub fn sd_seat_get_sessions(
63 seat: *const c_char,
64 sessions: *mut *mut *mut c_char,
65 uid: *mut *mut uid_t,
66 n_uids: *mut c_uint,
67 ) -> c_int;
68 pub fn sd_seat_can_multi_session(seat: *const c_char) -> c_int;
69 pub fn sd_seat_can_tty(seat: *const c_char) -> c_int;
70 pub fn sd_seat_can_graphical(seat: *const c_char) -> c_int;
71 pub fn sd_machine_get_class(machine: *const c_char, clazz: *mut *mut c_char) -> c_int;
72 pub fn sd_machine_get_ifindices(machine: *const c_char, ifindices: *mut *mut c_int) -> c_int;
73 pub fn sd_get_seats(seats: *mut *mut *mut c_char) -> c_int;
74 pub fn sd_get_sessions(sessions: *mut *mut *mut c_char) -> c_int;
75 pub fn sd_get_uids(users: *mut *mut uid_t) -> c_int;
76 pub fn sd_get_machine_names(machines: *mut *mut *mut c_char) -> c_int;
77 pub fn sd_login_monitor_new(category: *const c_char, ret: *mut *mut sd_login_monitor) -> c_int;
78 pub fn sd_login_monitor_unref(m: *mut sd_login_monitor) -> *mut sd_login_monitor;
79 pub fn sd_login_monitor_flush(m: *mut sd_login_monitor) -> c_int;
80 pub fn sd_login_monitor_get_fd(m: *mut sd_login_monitor) -> c_int;
81 pub fn sd_login_monitor_get_events(m: *mut sd_login_monitor) -> c_int;
82 pub fn sd_login_monitor_get_timeout(m: *mut sd_login_monitor, timeout_usec: *mut u64) -> c_int;
83}