mirror of
https://github.com/systemd/systemd.git
synced 2025-09-17 21:45:23 +03:00
login: introduce sd_session_get_tty()
This commit is contained in:
@@ -3690,6 +3690,7 @@ MANPAGES_ALIAS += \
|
|||||||
man/sd_session_get_type.3 \
|
man/sd_session_get_type.3 \
|
||||||
man/sd_session_get_class.3 \
|
man/sd_session_get_class.3 \
|
||||||
man/sd_session_get_display.3 \
|
man/sd_session_get_display.3 \
|
||||||
|
man/sd_session_get_tty.3 \
|
||||||
man/sd_pid_get_owner_uid.3 \
|
man/sd_pid_get_owner_uid.3 \
|
||||||
man/sd_pid_get_unit.3 \
|
man/sd_pid_get_unit.3 \
|
||||||
man/sd_uid_is_on_seat.3 \
|
man/sd_uid_is_on_seat.3 \
|
||||||
@@ -3714,6 +3715,7 @@ man/sd_session_get_state.3: man/sd_session_is_active.3
|
|||||||
man/sd_session_get_type.3: man/sd_session_is_active.3
|
man/sd_session_get_type.3: man/sd_session_is_active.3
|
||||||
man/sd_session_get_class.3: man/sd_session_is_active.3
|
man/sd_session_get_class.3: man/sd_session_is_active.3
|
||||||
man/sd_session_get_display.3: man/sd_session_is_active.3
|
man/sd_session_get_display.3: man/sd_session_is_active.3
|
||||||
|
man/sd_session_get_tty.3: man/sd_session_is_active.3
|
||||||
man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
|
man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
|
||||||
man/sd_pid_get_unit.3: man/sd_pid_get_session.3
|
man/sd_pid_get_unit.3: man/sd_pid_get_session.3
|
||||||
man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
|
man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
|
||||||
|
@@ -51,6 +51,7 @@
|
|||||||
<refname>sd_session_get_type</refname>
|
<refname>sd_session_get_type</refname>
|
||||||
<refname>sd_session_get_class</refname>
|
<refname>sd_session_get_class</refname>
|
||||||
<refname>sd_session_get_display</refname>
|
<refname>sd_session_get_display</refname>
|
||||||
|
<refname>sd_session_get_tty</refname>
|
||||||
<refpurpose>Determine state of a specific session</refpurpose>
|
<refpurpose>Determine state of a specific session</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
|
|
||||||
@@ -104,6 +105,12 @@
|
|||||||
<paramdef>const char* <parameter>session</parameter></paramdef>
|
<paramdef>const char* <parameter>session</parameter></paramdef>
|
||||||
<paramdef>char** <parameter>display</parameter></paramdef>
|
<paramdef>char** <parameter>display</parameter></paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
|
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>int <function>sd_session_get_tty</function></funcdef>
|
||||||
|
<paramdef>const char* <parameter>session</parameter></paramdef>
|
||||||
|
<paramdef>char** <parameter>tty</parameter></paramdef>
|
||||||
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
@@ -186,6 +193,14 @@
|
|||||||
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||||
call after use.</para>
|
call after use.</para>
|
||||||
|
|
||||||
|
<para><function>sd_session_get_tty()</function>
|
||||||
|
may be used to determine the TTY device of the
|
||||||
|
session identified by the specified session
|
||||||
|
identifier. The returned string is one of needs to be
|
||||||
|
freed with the libc
|
||||||
|
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||||
|
call after use.</para>
|
||||||
|
|
||||||
<para>If the <literal>session</literal> parameter of
|
<para>If the <literal>session</literal> parameter of
|
||||||
any of these functions is passed as NULL the operation
|
any of these functions is passed as NULL the operation
|
||||||
is executed for the session the calling process is a
|
is executed for the session the calling process is a
|
||||||
@@ -203,8 +218,9 @@
|
|||||||
<function>sd_session_get_seat()</function>,
|
<function>sd_session_get_seat()</function>,
|
||||||
<function>sd_session_get_service()</function>,
|
<function>sd_session_get_service()</function>,
|
||||||
<function>sd_session_get_type()</function>,
|
<function>sd_session_get_type()</function>,
|
||||||
<function>sd_session_get_class()</function> and
|
<function>sd_session_get_class()</function>,
|
||||||
<function>sd_session_get_display()</function> return 0 or
|
<function>sd_session_get_display()</function> and
|
||||||
|
<function>sd_session_get_tty()</function> return 0 or
|
||||||
a positive integer. On failure, these calls return a
|
a positive integer. On failure, these calls return a
|
||||||
negative errno-style error code.</para>
|
negative errno-style error code.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
@@ -218,10 +234,11 @@
|
|||||||
<function>sd_session_get_seat()</function>,
|
<function>sd_session_get_seat()</function>,
|
||||||
<function>sd_session_get_service()</function>,
|
<function>sd_session_get_service()</function>,
|
||||||
<function>sd_session_get_type()</function>,
|
<function>sd_session_get_type()</function>,
|
||||||
<function>sd_session_get_class()</function> and
|
<function>sd_session_get_class()</function>,
|
||||||
<function>sd_session_get_display()</function> interfaces
|
<function>sd_session_get_display()</function> and
|
||||||
are available as shared library, which can be compiled
|
<function>sd_session_get_tty()</function>
|
||||||
and linked to with the
|
interfaces are available as shared library, which can
|
||||||
|
be compiled and linked to with the
|
||||||
<literal>libsystemd-login</literal>
|
<literal>libsystemd-login</literal>
|
||||||
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||||
file.</para>
|
file.</para>
|
||||||
|
@@ -53,3 +53,8 @@ global:
|
|||||||
sd_seat_can_tty;
|
sd_seat_can_tty;
|
||||||
sd_seat_can_graphical;
|
sd_seat_can_graphical;
|
||||||
} LIBSYSTEMD_LOGIN_43;
|
} LIBSYSTEMD_LOGIN_43;
|
||||||
|
|
||||||
|
LIBSYSTEMD_LOGIN_198 {
|
||||||
|
global:
|
||||||
|
sd_session_get_tty;
|
||||||
|
} LIBSYSTEMD_LOGIN_186;
|
||||||
|
@@ -409,6 +409,10 @@ _public_ int sd_session_get_seat(const char *session, char **seat) {
|
|||||||
return session_get_string(session, "SEAT", seat);
|
return session_get_string(session, "SEAT", seat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_public_ int sd_session_get_tty(const char *session, char **tty) {
|
||||||
|
return session_get_string(session, "TTY", tty);
|
||||||
|
}
|
||||||
|
|
||||||
_public_ int sd_session_get_service(const char *session, char **service) {
|
_public_ int sd_session_get_service(const char *session, char **service) {
|
||||||
return session_get_string(session, "SERVICE", service);
|
return session_get_string(session, "SERVICE", service);
|
||||||
}
|
}
|
||||||
|
@@ -108,6 +108,9 @@ int sd_session_get_class(const char *session, char **clazz);
|
|||||||
/* Determine the X11 display of this session. */
|
/* Determine the X11 display of this session. */
|
||||||
int sd_session_get_display(const char *session, char **display);
|
int sd_session_get_display(const char *session, char **display);
|
||||||
|
|
||||||
|
/* Determine the TTY of this session. */
|
||||||
|
int sd_session_get_tty(const char *session, char **display);
|
||||||
|
|
||||||
/* Return active session and user of seat */
|
/* Return active session and user of seat */
|
||||||
int sd_seat_get_active(const char *seat, char **session, uid_t *uid);
|
int sd_seat_get_active(const char *seat, char **session, uid_t *uid);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user