diff --git a/Makefile.am b/Makefile.am
index 907ecb4f7c..e689355cee 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -799,6 +799,7 @@ MANPAGES = \
man/daemon.7 \
man/sd-daemon.7 \
man/sd-readahead.7 \
+ man/sd-login.7 \
man/runlevel.8 \
man/telinit.8 \
man/halt.8 \
@@ -817,7 +818,13 @@ MANPAGES = \
man/modules-load.d.5 \
man/sysctl.d.5 \
man/systemd-ask-password.1 \
- man/systemd-loginctl.1
+ man/systemd-loginctl.1 \
+ man/sd_pid_get_session.3 \
+ man/sd_uid_get_state.3 \
+ man/sd_session_is_active.3 \
+ man/sd_seat_get_active.3 \
+ man/sd_get_seats.3 \
+ man/sd_login_monitor_new.3
if ENABLE_BINFMT
MANPAGES += \
@@ -830,14 +837,22 @@ MANPAGES_ALIAS = \
man/sd_is_socket.3 \
man/sd_is_socket_unix.3 \
man/sd_is_socket_inet.3 \
+ man/sd_is_mq.3 \
man/sd_notifyf.3 \
- man/sd_pid_get_session.3 \
- man/sd_uid_get_state.3 \
- man/sd_session_is_active.3 \
- man/sd_seat_get_active.3 \
- man/sd_get_seats.3 \
- man/sd_login_monitor_new.3 \
- man/init.1
+ man/init.1 \
+ man/sd_session_get_uid.3 \
+ man/sd_session_get_seat.3 \
+ man/sd_pid_get_owner_uid.3 \
+ man/sd_uid_is_on_seat.3 \
+ man/sd_uid_get_sessions.3 \
+ man/sd_uid_get_seats.3 \
+ man/sd_seat_get_sessions.3 \
+ man/sd_seat_can_multi_session.3 \
+ man/sd_get_sessions.3 \
+ man/sd_get_uids.3 \
+ man/sd_login_monitor_unref.3 \
+ man/sd_login_monitor_flush.3 \
+ man/sd_login_monitor_get_fd.3
man/reboot.8: man/halt.8
man/poweroff.8: man/halt.8
diff --git a/man/sd-login.xml b/man/sd-login.xml
new file mode 100644
index 0000000000..62ec6ffefd
--- /dev/null
+++ b/man/sd-login.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+ sd-login
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ sd-login
+ 7
+
+
+
+ sd-login
+ APIs for
+ tracking logins
+
+
+
+
+ #include <systemd/sd-login.h>
+
+
+
+ pkg-config --cflags --libs libsystemd-login
+
+
+
+
+ Description
+
+ sd-login.h provides APIs to
+ introspect and monitor seat, login session and user
+ status information on the local system.
+
+ See Multi-Seat
+ on Linux for an introduction into multi-seat
+ support on Linux, the background for this set of APIs.
+
+ Note that these APIs only allow purely passive access
+ and monitoring of seats, sessions and users. To
+ actively make changes to the seat configuration,
+ terminate login sessions, or switch session on a seat
+ you need to utilize the D-Bus API of
+ systemd-logind.
+
+ See
+ sd_pid_get_session3,
+ sd_uid_get_state3,
+ sd_session_is_active3,
+ sd_seat_get_active3,
+ sd_get_seats3,
+ sd_login_monitor_new3
+ for more information about the functions
+ implemented.
+
+
+
+ Notes
+
+ These APIs are implemented as shared library,
+ which can be compiled and linked to with the
+ libsystemd-login
+ pkg-config1
+ file.
+
+
+
+ See Also
+
+ systemd1,
+ sd_pid_get_session3,
+ sd_uid_get_state3,
+ sd_session_is_active3,
+ sd_seat_get_active3,
+ sd_get_seats3,
+ sd_login_monitor_new3,
+ sd-daemon7,
+ sd-readahead7,
+ pkg-config1
+
+
+
+
diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml
index 9176433c3d..24e468015f 100644
--- a/man/sd_pid_get_session.xml
+++ b/man/sd_pid_get_session.xml
@@ -71,16 +71,15 @@
sd_pid_get_session() may be
used to determine the login session identifier of a
- process identified by the specified process identifier. The session
- identifier is a short string (up to 64 characters),
- consisting only of the characters a-zA-Z0-9 as well as
- '-' and '_'. It is suitable for usage in file system
- paths. Note that not all processes are part of a login
- session (e.g. system service processes and user
- processes that are shared between multiple sessions of
- the same user). For processes not being part of a
- login session this function will fail. The returned
- string needs to be freed with the libc
+ process identified by the specified process
+ identifier. The session identifier is a short string,
+ suitable for usage in file system paths. Note that not
+ all processes are part of a login session (e.g. system
+ service processes and user processes that are shared
+ between multiple sessions of the same user). For
+ processes not being part of a login session this
+ function will fail. The returned string needs to be
+ freed with the libc
free3
call after use.