diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml
index 3022cdb6f5f..f973899b2fa 100644
--- a/man/pam_systemd.xml
+++ b/man/pam_systemd.xml
@@ -145,8 +145,9 @@
variable takes precedence. One of
unspecified,
tty,
- x11 or
- wayland. See
+ x11,
+ wayland or
+ mir. See
sd_session_get_type3
for details about the session type.
diff --git a/man/sd_session_is_active.xml b/man/sd_session_is_active.xml
index ddb2bee5e1a..31a611996e3 100644
--- a/man/sd_session_is_active.xml
+++ b/man/sd_session_is_active.xml
@@ -201,9 +201,9 @@
be used to determine the type of the session
identified by the specified session identifier. The
returned string is one of x11,
- wayland, tty or
- unspecified and needs to be freed
- with the libc
+ wayland, tty,
+ mir or unspecified and
+ needs to be freed with the libc
free3
call after use.
diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index 4ca6b5d805a..b4fd349f00c 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -1117,6 +1117,7 @@ static const char* const session_type_table[_SESSION_TYPE_MAX] = {
[SESSION_TTY] = "tty",
[SESSION_X11] = "x11",
[SESSION_WAYLAND] = "wayland",
+ [SESSION_MIR] = "mir",
};
DEFINE_STRING_TABLE_LOOKUP(session_type, SessionType);
diff --git a/src/login/logind-session.h b/src/login/logind-session.h
index c9af5ebe0d5..7ecc9f0d4f1 100644
--- a/src/login/logind-session.h
+++ b/src/login/logind-session.h
@@ -55,6 +55,7 @@ typedef enum SessionType {
SESSION_TTY,
SESSION_X11,
SESSION_WAYLAND,
+ SESSION_MIR,
_SESSION_TYPE_MAX,
_SESSION_TYPE_INVALID = -1
} SessionType;
diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h
index a4ca2311744..776733ad1dd 100644
--- a/src/systemd/sd-login.h
+++ b/src/systemd/sd-login.h
@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat);
/* Determine the (PAM) service name this session was registered by. */
int sd_session_get_service(const char *session, char **service);
-/* Determine the type of this session, i.e. one of "tty", "x11" or "unspecified". */
+/* Determine the type of this session, i.e. one of "tty", "x11", "wayland", "mir" or "unspecified". */
int sd_session_get_type(const char *session, char **type);
/* Determine the class of this session, i.e. one of "user", "greeter" or "lock-screen". */