X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_pid_get_session.xml;h=a8266e02062f222bff09a9f9e7d0637f678fa876;hb=022446adf99b84c59a88c2e614033ccde13c395c;hp=d2b64195a6eb666f42d7527ae406547dca4ad58c;hpb=97e13058170c7759dbbc239d264b9a31b0c81079;p=elogind.git
diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml
index d2b64195a..a8266e020 100644
--- a/man/sd_pid_get_session.xml
+++ b/man/sd_pid_get_session.xml
@@ -47,7 +47,17 @@
sd_pid_get_unit
sd_pid_get_user_unit
sd_pid_get_owner_uid
- Determine session, service or owner of a session of a specific PID
+ sd_pid_get_machine_name
+ sd_pid_get_slice
+ sd_peer_get_session
+ sd_peer_get_unit
+ sd_peer_get_user_unit
+ sd_peer_get_owner_uid
+ sd_peer_get_machine_name
+ sd_peer_get_slice
+ Determine session, service, owner of a
+ session, container/VM or slice of a specific
+ PID or socket peer
@@ -77,6 +87,54 @@
pid_t pid
uid_t* uid
+
+
+ int sd_pid_get_machine_name
+ pid_t pid
+ char** name
+
+
+
+ int sd_pid_get_slice
+ pid_t pid
+ char** slice
+
+
+
+ int sd_peer_get_session
+ int fd
+ char** session
+
+
+
+ int sd_peer_get_unit
+ int fd
+ char** unit
+
+
+
+ int sd_peer_get_user_unit
+ int fd
+ char** unit
+
+
+
+ int sd_peer_get_owner_uid
+ int fd
+ uid_t* uid
+
+
+
+ int sd_peer_get_machine_name
+ int fd
+ char** name
+
+
+
+ int sd_peer_get_slice
+ int fd
+ char** slice
+
@@ -108,7 +166,7 @@
function will fail. (More specifically: this call will
not work for processes that are part of user units,
use sd_pid_get_user_unit() for
- that.) The returned string needs to be freed with the
+ that.) The returned string needs to be freed with the
libc
free3
call after use.
@@ -131,15 +189,42 @@
and not being a shared process of a user this function
will fail.
- If the pid parameter of any
- of these functions is passed as 0 the operation is
+ sd_pid_get_machine_name()
+ may be used to determine the name of the VM or
+ container is a member of. The machine name is a short
+ string, suitable for usage in file system paths. The
+ returned string needs to be freed with the libc
+ free3
+ call after use.
+
+ sd_pid_get_slice() may be
+ used to determine the slice unit the process is a
+ member of. See
+ systemd.slice5
+ for details about slices. The returned string needs to
+ be freed with the libc
+ free3
+ call after use.
+
+ If the pid parameter of any
+ of these functions is passed as 0, the operation is
executed for the calling process.
+
+ The sd_peer_get_session(),
+ sd_peer_get_unit(),
+ sd_peer_get_user_unit(),
+ sd_peer_get_owner_uid(),
+ sd_peer_get_machine_name() and
+ sd_peer_get_slice() calls operate
+ similar to their PID counterparts, but operate on a
+ connected AF_UNIX socket and retrieve information
+ about the connected peer process.
Return Value
- On success these calls return 0 or a positive
+ On success, these calls return 0 or a positive
integer. On failure, these calls return a negative
errno-style error code.
@@ -149,12 +234,19 @@
The sd_pid_get_session(),
sd_pid_get_unit(),
- sd_pid_get_user_unit(), and
- sd_pid_get_owner_uid() interfaces
- are available as shared library, which can be compiled
+ sd_pid_get_user_unit(),
+ sd_pid_get_owner_uid(),
+ sd_pid_get_machine_name(),
+ sd_pid_get_slice(),
+ sd_peer_get_session(),
+ sd_peer_get_unit(),
+ sd_peer_get_user_unit(),
+ sd_peer_get_owner_uid(),
+ sd_peer_get_machine_name() and
+ sd_peer_get_slice() interfaces are
+ available as a shared library, which can be compiled
and linked to with the
- libsystemd-login
- pkg-config1
+ libsystemd pkg-config1
file.
Note that the login session identifier as
@@ -171,7 +263,8 @@
systemd1,
sd-login3,
sd_session_is_active3,
- getsid2
+ getsid2,
+ systemd.slice5