#include <sys/types.h>
#include <inttypes.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include "_sd-common.h"
/*
* A few points:
* See sd-login(3) for more information.
*/
+_SD_BEGIN_DECLARATIONS;
+
/* Get session from PID. Note that 'shared' processes of a user are
* not attached to a session, but only attached to a user. This will
* return an error for system processes and 'shared' processes of a
* just return number of seats.*/
int sd_uid_get_seats(uid_t uid, int require_active, char ***seats);
-/* Return 1 if the session is a active. */
+/* Return 1 if the session is active. */
int sd_session_is_active(const char *session);
+/* Return 1 if the session is remote. */
+int sd_session_is_remote(const char *session);
+
/* Get state from session. Possible states: online, active, closing
* (This function is a more generic version of
* sd_session_is_active().) */
/* Determine the X11 display of this session. */
int sd_session_get_display(const char *session, char **display);
+/* Determine the remote host of this session. */
+int sd_session_get_remote_host(const char *session, char **remote_host);
+
+/* Determine the remote user of this session (if provided by PAM). */
+int sd_session_get_remote_user(const char *session, char **remote_user);
+
/* Determine the TTY of this session. */
int sd_session_get_tty(const char *session, char **display);
/* Get timeout for poll(), as usec value relative to CLOCK_MONOTONIC's epoch */
int sd_login_monitor_get_timeout(sd_login_monitor *m, uint64_t *timeout_usec);
-#ifdef __cplusplus
-}
-#endif
+_SD_END_DECLARATIONS;
#endif