The VT number was already part of the DBus API, but was not
exposed in the C API.
man/sd_session_get_tty.3 \
man/sd_session_get_type.3 \
man/sd_session_get_uid.3 \
man/sd_session_get_tty.3 \
man/sd_session_get_type.3 \
man/sd_session_get_uid.3 \
+ man/sd_session_get_vt.3 \
man/sd_uid_get_seats.3 \
man/sd_uid_get_sessions.3 \
man/sd_uid_is_on_seat.3 \
man/sd_uid_get_seats.3 \
man/sd_uid_get_sessions.3 \
man/sd_uid_is_on_seat.3 \
man/sd_session_get_tty.3: man/sd_session_is_active.3
man/sd_session_get_type.3: man/sd_session_is_active.3
man/sd_session_get_uid.3: man/sd_session_is_active.3
man/sd_session_get_tty.3: man/sd_session_is_active.3
man/sd_session_get_type.3: man/sd_session_is_active.3
man/sd_session_get_uid.3: man/sd_session_is_active.3
+man/sd_session_get_vt.3: man/sd_session_is_active.3
man/sd_uid_get_seats.3: man/sd_uid_get_state.3
man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
man/sd_uid_get_seats.3: man/sd_uid_get_state.3
man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
man/sd_session_get_uid.html: man/sd_session_is_active.html
$(html-alias)
man/sd_session_get_uid.html: man/sd_session_is_active.html
$(html-alias)
+man/sd_session_get_vt.html: man/sd_session_is_active.html
+ $(html-alias)
+
man/sd_uid_get_seats.html: man/sd_uid_get_state.html
$(html-alias)
man/sd_uid_get_seats.html: man/sd_uid_get_state.html
$(html-alias)
<refname>sd_session_get_class</refname>
<refname>sd_session_get_display</refname>
<refname>sd_session_get_tty</refname>
<refname>sd_session_get_class</refname>
<refname>sd_session_get_display</refname>
<refname>sd_session_get_tty</refname>
+ <refname>sd_session_get_vt</refname>
<refpurpose>Determine state of a specific session</refpurpose>
</refnamediv>
<refpurpose>Determine state of a specific session</refpurpose>
</refnamediv>
<paramdef>const char* <parameter>session</parameter></paramdef>
<paramdef>char** <parameter>tty</parameter></paramdef>
</funcprototype>
<paramdef>const char* <parameter>session</parameter></paramdef>
<paramdef>char** <parameter>tty</parameter></paramdef>
</funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_session_get_vt</function></funcdef>
+ <paramdef>const char* <parameter>session</parameter></paramdef>
+ <paramdef>unsigned* <parameter>vt</parameter></paramdef>
+ </funcprototype>
</funcsynopsis>
</refsynopsisdiv>
</funcsynopsis>
</refsynopsisdiv>
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
+ <para><function>sd_session_get_vt()</function>
+ may be used to determine the VT number of the
+ session identified by the specified session
+ identifier. This function will return an error if
+ the seat does not support VTs.</para>
+
<para>If the <varname>session</varname> parameter of
any of these functions is passed as
<constant>NULL</constant> the operation is executed
<para>If the <varname>session</varname> parameter of
any of these functions is passed as
<constant>NULL</constant> the operation is executed
global:
sd_pid_get_slice;
} LIBSYSTEMD_LOGIN_203;
global:
sd_pid_get_slice;
} LIBSYSTEMD_LOGIN_203;
+
+LIBSYSTEMD_LOGIN_207 {
+global:
+ sd_session_get_vt;
+} LIBSYSTEMD_LOGIN_205;
return session_get_string(session, "TTY", tty);
}
return session_get_string(session, "TTY", tty);
}
+_public_ int sd_session_get_vt(const char *session, unsigned *vtnr) {
+ _cleanup_free_ char *vtnr_string;
+ unsigned u;
+ int r;
+
+ r = session_get_string(session, "VTNr", &vtnr_string);
+ if (r < 0)
+ return r;
+
+ r = safe_atou(vtnr_string, &u);
+ if (r < 0)
+ return r;
+
+ *vtnr = u;
+ return 0;
+}
+
_public_ int sd_session_get_service(const char *session, char **service) {
return session_get_string(session, "SERVICE", service);
}
_public_ int sd_session_get_service(const char *session, char **service) {
return session_get_string(session, "SERVICE", service);
}
/* Determine the TTY of this session. */
int sd_session_get_tty(const char *session, char **display);
/* Determine the TTY of this session. */
int sd_session_get_tty(const char *session, char **display);
+/* Determine the VT number of this session. */
+int sd_session_get_vt(const char *session, unsigned *vtnr);
+
/* Return active session and user of seat */
int sd_seat_get_active(const char *seat, char **session, uid_t *uid);
/* Return active session and user of seat */
int sd_seat_get_active(const char *seat, char **session, uid_t *uid);