X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcgroup-util.h;h=8f965712433e570a54602639ed763a233339f591;hp=4ada71bc171272583c356569d2e5eddacb769e48;hb=2cf3143ac3650feff2e3069d6d02bb8e46ab1929;hpb=8c6db8336536916d0476ff8233e0abf40a2f6aab diff --git a/src/cgroup-util.h b/src/cgroup-util.h index 4ada71bc1..8f9657124 100644 --- a/src/cgroup-util.h +++ b/src/cgroup-util.h @@ -23,20 +23,37 @@ ***/ #include +#include +#include -int cg_translate_error(int error, int _errno); +#include "set.h" + +#define SYSTEMD_CGROUP_CONTROLLER "name=systemd" + +int cg_enumerate_processes(const char *controller, const char *path, FILE **_f); +int cg_enumerate_tasks(const char *controller, const char *path, FILE **_f); +int cg_read_pid(FILE *f, pid_t *_pid); + +int cg_enumerate_subgroups(const char *controller, const char *path, DIR **_d); +int cg_read_subgroup(DIR *d, char **fn); int cg_kill(const char *controller, const char *path, int sig, bool ignore_self); -int cg_kill_recursive(const char *controller, const char *path, int sig, bool ignore_self); -int cg_kill_recursive_and_wait(const char *controller, const char *path); +int cg_kill_recursive(const char *controller, const char *path, int sig, bool ignore_self, bool remove); +int cg_kill_recursive_and_wait(const char *controller, const char *path, bool remove); int cg_migrate(const char *controller, const char *from, const char *to, bool ignore_self); -int cg_migrate_recursive(const char *controller, const char *from, const char *to, bool ignore_self); +int cg_migrate_recursive(const char *controller, const char *from, const char *to, bool ignore_self, bool remove); + +int cg_split_spec(const char *spec, char **controller, char **path); +int cg_join_spec(const char *controller, const char *path, char **spec); +int cg_fix_path(const char *path, char **result); int cg_get_path(const char *controller, const char *path, const char *suffix, char **fs); int cg_get_by_pid(const char *controller, pid_t pid, char **path); int cg_trim(const char *controller, const char *path, bool delete_root); + +int cg_rmdir(const char *controller, const char *path); int cg_delete(const char *controller, const char *path); int cg_create(const char *controller, const char *path);