chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
logind: when generating session ids with a counter, retry if session is already allocated
[elogind.git]
/
src
/
logind.h
diff --git
a/src/logind.h
b/src/logind.h
index a8b387b05fe43767ad9dbab9fe33f1c32465017d..2b9b702f3d9591d3154ab936e2232525b2fb9acc 100644
(file)
--- a/
src/logind.h
+++ b/
src/logind.h
@@
-35,11
+35,12
@@
/* TODO:
*
* recreate VTs when disallocated
/* TODO:
*
* recreate VTs when disallocated
- * udev rules
- * PAM rewrite
* spawn user systemd
* spawn user systemd
- * dbus API
- * don't allow everybody to take logind name
+ * direct client API
+ * subscribe to fd HUP
+ * D-Bus method: AttachDevice(seat, device);
+ * D-Bus method: PermitLinger(user, bool b);
+ * properly handle if two sessions with the same loginuid are attempted to be created
*
* non-local X11 server
* reboot/shutdown halt management
*
* non-local X11 server
* reboot/shutdown halt management
@@
-72,16
+73,20
@@
struct Manager {
int bus_fd;
int epoll_fd;
int bus_fd;
int epoll_fd;
-
int
n_autovts;
+
unsigned
n_autovts;
Seat *vtconsole;
char *cgroup_path;
Seat *vtconsole;
char *cgroup_path;
- char **controllers
, **reset_controllers
;
+ char **controllers;
- char **kill_only_users, **kill_exlude_users;
+ char **kill_only_users, **kill_ex
c
lude_users;
bool kill_user_processes;
bool kill_user_processes;
+
+ unsigned long session_counter;
+
+ Hashmap *cgroups;
};
Manager *manager_new(void);
};
Manager *manager_new(void);
@@
-107,8
+112,18
@@
int manager_startup(Manager *m);
int manager_run(Manager *m);
int manager_spawn_autovt(Manager *m, int vtnr);
int manager_run(Manager *m);
int manager_spawn_autovt(Manager *m, int vtnr);
+void manager_cgroup_notify_empty(Manager *m, const char *cgroup);
+
void manager_gc(Manager *m);
void manager_gc(Manager *m);
+int manager_get_idle_hint(Manager *m, dual_timestamp *t);
+
bool x11_display_is_local(const char *display);
bool x11_display_is_local(const char *display);
+extern const DBusObjectPathVTable bus_manager_vtable;
+
+DBusHandlerResult bus_message_filter(DBusConnection *c, DBusMessage *message, void *userdata);
+
+int manager_send_changed(Manager *manager, const char *properties);
+
#endif
#endif