chiark / gitweb /
journal-file: protect against alloca(0)
[elogind.git] / src / systemd / sd-login.h
index 24150394100983c5126b11a1f65bce98ade6551f..a230aff4c53779c8c2990663ef61d8bf3b8d7e68 100644 (file)
@@ -25,9 +25,7 @@
 #include <sys/types.h>
 #include <inttypes.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include "_sd-common.h"
 
 /*
  * A few points:
@@ -49,6 +47,8 @@ extern "C" {
  * 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
@@ -72,9 +72,12 @@ int sd_pid_get_unit(pid_t pid, char **unit);
 int sd_pid_get_user_unit(pid_t pid, char **unit);
 
 /* Get machine name from PID, for processes assigned to VM or
- * container. This will return an error for non-service processes. */
+ * container. This will return an error for non-machine processes. */
 int sd_pid_get_machine_name(pid_t pid, char **name);
 
+/* Get slice name from PID. */
+int sd_pid_get_slice(pid_t pid, char **name);
+
 /* Get state from uid. Possible states: offline, lingering, online, active, closing */
 int sd_uid_get_state(uid_t uid, char**state);
 
@@ -98,7 +101,7 @@ int sd_session_is_active(const char *session);
 /* Get state from session. Possible states: online, active, closing
  * (This function is a more generic version of
  * sd_session_is_active().) */
-int sd_session_get_state(const char *sessio, char **state);
+int sd_session_get_state(const char *session, char **state);
 
 /* Determine user id of session */
 int sd_session_get_uid(const char *session, uid_t *uid);
@@ -121,6 +124,9 @@ 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);
 
+/* Determine the VT number of this session. */
+int sd_session_get_vt(const char *session, unsigned *vtnr);
+
 /* Return active session and user of seat */
 int sd_seat_get_active(const char *seat, char **session, uid_t *uid);
 
@@ -157,7 +163,8 @@ int sd_get_machine_names(char ***machines);
 typedef struct sd_login_monitor sd_login_monitor;
 
 /* Create a new monitor. Category must be NULL, "seat", "session",
- * "uid" to get monitor events for the specific category (or all). */
+ * "uid", "machine" to get monitor events for the specific category
+ * (or all). */
 int sd_login_monitor_new(const char *category, sd_login_monitor** ret);
 
 /* Destroys the passed monitor. Returns NULL. */
@@ -175,8 +182,6 @@ int sd_login_monitor_get_events(sd_login_monitor *m);
 /* 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