systemd_sys/
login.rs

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