+/* SPDX-License-Identifier: LGPL-2.1+ */
/***
- This file is part of systemd.
-
- Copyright 2011 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <poll.h>
*type = NULL, *class = NULL, *state = NULL, *state2 = NULL,
*seat = NULL, *session = NULL,
*unit = NULL, *user_unit = NULL, *slice = NULL;
- int r, k;
+ int r;
uid_t u, u2;
char *t, **seats, **sessions;
+#if 0 /// elogind does not support systemd units
r = sd_pid_get_unit(0, &unit);
assert_se(r >= 0 || r == -ENODATA);
- log_info("sd_pid_get_unit(0, …) → \"%s\"", unit);
+ log_info("sd_pid_get_unit(0, …) → \"%s\"", strna(unit));
r = sd_pid_get_user_unit(0, &user_unit);
assert_se(r >= 0 || r == -ENODATA);
- log_info("sd_pid_get_user_unit(0, …) → \"%s\"", user_unit);
+ log_info("sd_pid_get_user_unit(0, …) → \"%s\"", strna(user_unit));
+#endif // 0
- assert_se(sd_pid_get_slice(0, &slice) >= 0);
- log_info("sd_pid_get_slice(0, …) → \"%s\"", slice);
+ r = sd_pid_get_slice(0, &slice);
+ assert_se(r >= 0 || r == -ENODATA);
+ log_info("sd_pid_get_slice(0, …) → \"%s\"", strna(slice));
r = sd_pid_get_session(0, &session);
if (r < 0) {
if (r >= 0) {
assert_se(seat);
- log_info("sd_session_get_display(\"%s\") → \"%s\"", session, seat);
+ log_info("sd_session_get_seat(\"%s\") → \"%s\"", session, seat);
r = sd_seat_can_multi_session(seat);
assert_se(r >= 0);
assert_se(r >= 0);
log_info("sd_session_can_graphical(\"%s\") → %s", seat, yes_no(r));
} else {
- log_info_errno(r, "sd_session_get_display(\"%s\"): %m", session);
+ log_info_errno(r, "sd_session_get_seat(\"%s\"): %m", session);
assert_se(r == -ENODATA);
}
assert_se(sd_uid_is_on_seat(u, 0, seat) > 0);
- k = sd_uid_is_on_seat(u, 1, seat);
- assert_se(k >= 0);
- assert_se(!!k == !!r);
-
- assert_se(sd_seat_get_active(seat, &session2, &u2) >= 0);
+ r = sd_seat_get_active(seat, &session2, &u2);
+ assert_se(r >= 0);
log_info("sd_seat_get_active(\"%s\", …) → \"%s\", "UID_FMT, seat, session2, u2);
+ r = sd_uid_is_on_seat(u, 1, seat);
+ assert_se(r >= 0);
+ assert_se(!!r == streq(session, session2));
+
r = sd_seat_get_sessions(seat, &sessions, &uids, &n);
assert_se(r >= 0);
assert_se(r == (int) strv_length(sessions));
assert_se(r >= 0);
assert_se(r == (int) strv_length(machines));
assert_se(buf = strv_join(machines, " "));
-
log_info("sd_get_machines(…) → [%i] \"%s\"", r, buf);
+
+ assert_se(sd_get_machine_names(NULL) == r);
}
}