mirror of
https://github.com/systemd/systemd.git
synced 2024-12-04 15:53:41 +08:00
login: introduce sd_session_get_tty()
This commit is contained in:
parent
dd04aac97f
commit
c84f5e4a82
@ -3690,6 +3690,7 @@ MANPAGES_ALIAS += \
|
||||
man/sd_session_get_type.3 \
|
||||
man/sd_session_get_class.3 \
|
||||
man/sd_session_get_display.3 \
|
||||
man/sd_session_get_tty.3 \
|
||||
man/sd_pid_get_owner_uid.3 \
|
||||
man/sd_pid_get_unit.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_class.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_unit.3: man/sd_pid_get_session.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_class</refname>
|
||||
<refname>sd_session_get_display</refname>
|
||||
<refname>sd_session_get_tty</refname>
|
||||
<refpurpose>Determine state of a specific session</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
@ -104,6 +105,12 @@
|
||||
<paramdef>const char* <parameter>session</parameter></paramdef>
|
||||
<paramdef>char** <parameter>display</parameter></paramdef>
|
||||
</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>
|
||||
</refsynopsisdiv>
|
||||
|
||||
@ -186,6 +193,14 @@
|
||||
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
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
|
||||
any of these functions is passed as NULL the operation
|
||||
is executed for the session the calling process is a
|
||||
@ -203,8 +218,9 @@
|
||||
<function>sd_session_get_seat()</function>,
|
||||
<function>sd_session_get_service()</function>,
|
||||
<function>sd_session_get_type()</function>,
|
||||
<function>sd_session_get_class()</function> and
|
||||
<function>sd_session_get_display()</function> return 0 or
|
||||
<function>sd_session_get_class()</function>,
|
||||
<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
|
||||
negative errno-style error code.</para>
|
||||
</refsect1>
|
||||
@ -218,10 +234,11 @@
|
||||
<function>sd_session_get_seat()</function>,
|
||||
<function>sd_session_get_service()</function>,
|
||||
<function>sd_session_get_type()</function>,
|
||||
<function>sd_session_get_class()</function> and
|
||||
<function>sd_session_get_display()</function> interfaces
|
||||
are available as shared library, which can be compiled
|
||||
and linked to with the
|
||||
<function>sd_session_get_class()</function>,
|
||||
<function>sd_session_get_display()</function> and
|
||||
<function>sd_session_get_tty()</function>
|
||||
interfaces are available as shared library, which can
|
||||
be compiled and linked to with the
|
||||
<literal>libsystemd-login</literal>
|
||||
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
file.</para>
|
||||
|
@ -53,3 +53,8 @@ global:
|
||||
sd_seat_can_tty;
|
||||
sd_seat_can_graphical;
|
||||
} 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);
|
||||
}
|
||||
|
||||
_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) {
|
||||
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. */
|
||||
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 */
|
||||
int sd_seat_get_active(const char *seat, char **session, uid_t *uid);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user