sd-login: add sd_session_get_start_time

This commit is contained in:
Mike Yuan
2023-02-24 02:12:36 +08:00
parent d71f5b1217
commit c4ef14dc2a
4 changed files with 42 additions and 0 deletions
+1
View File
@@ -816,4 +816,5 @@ global:
LIBSYSTEMD_254 {
global:
sd_session_get_username;
sd_session_get_start_time;
} LIBSYSTEMD_253;
+27
View File
@@ -750,6 +750,33 @@ _public_ int sd_session_get_seat(const char *session, char **seat) {
return session_get_string(session, "SEAT", seat);
}
_public_ int sd_session_get_start_time(const char *session, uint64_t *usec) {
_cleanup_free_ char *p = NULL, *s = NULL;
usec_t t;
int r;
assert_return(usec, -EINVAL);
r = file_of_session(session, &p);
if (r < 0)
return r;
r = parse_env_file(NULL, p, "REALTIME", &s);
if (r == -ENOENT)
return -ENXIO;
if (r < 0)
return r;
if (isempty(s))
return -EIO;
r = safe_atou64(s, &t);
if (r < 0)
return r;
*usec = t;
return 0;
}
_public_ int sd_session_get_tty(const char *session, char **tty) {
return session_get_string(session, "TTY", tty);
}