2#ifndef _LIBCGROUP_GROUPS_H
3#define _LIBCGROUP_GROUPS_H
5#ifndef _LIBCGROUP_H_INSIDE
6#error "Only <libcgroup.h> should be included directly."
36enum cgroup_delete_flag {
40 CGFLAG_DELETE_IGNORE_MIGRATION = 1,
45 CGFLAG_DELETE_RECURSIVE = 2,
52 CGFLAG_DELETE_EMPTY_ONLY = 4,
139#define NO_PERMS (-1U)
144#define NO_UID_GID (-1U)
368 uid_t control_uid, gid_t control_gid);
376 gid_t *tasks_gid, uid_t *control_uid,
392 mode_t control_dperm, mode_t control_fperm,
416 const char *name,
const char *value);
441 const char *name, u_int64_t value);
489 const char *name, u_int64_t *value);
510 const char *name,
const char *value);
523 const char *name, int64_t value);
533 const char *name, u_int64_t value);
579int cgroup_get_procs(
const char *name,
const char *controller, pid_t **pids,
int *size);
590int cgroup_get_threads(
const char *name,
const char *controller, pid_t **pids,
int *size);
601 int dirm_change, mode_t file_mode,
int filem_change);
621int cgroup_convert_cgroup(
struct cgroup *
const out_cgrp,
622 enum cg_version_t out_version,
623 const struct cgroup *
const in_cgrp,
624 enum cg_version_t in_version);
int cgroup_list_mount_points(const enum cg_version_t cgrp_version, char ***mount_paths)
Definition api.c:6654
int cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value)
Definition wrapper.c:558
bool is_cgroup_mode_hybrid(void)
Definition wrapper.c:815
int cgroup_get_value_name_count(struct cgroup_controller *controller)
Definition wrapper.c:769
int cgroup_get_cgroup(struct cgroup *cgrp)
Definition api.c:3855
int cgroup_get_uid_gid(struct cgroup *cgrp, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid)
Definition wrapper.c:480
void cgroup_free_controllers(struct cgroup *cgrp)
Definition wrapper.c:243
int cgroup_get_controller_count(struct cgroup *cgrp)
Definition api.c:6800
int cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version)
Definition api.c:6586
int cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value)
Definition wrapper.c:269
int cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value)
Definition wrapper.c:347
int cgroup_create_cgroup_from_parent(struct cgroup *cgrp, int ignore_ownership)
Definition api.c:3321
int cgroup_delete_cgroup(struct cgroup *cgrp, int ignore_migration)
Definition api.c:3550
bool is_cgroup_mode_legacy(void)
Definition wrapper.c:803
int cgroup_set_uid_gid(struct cgroup *cgrp, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid)
Definition wrapper.c:466
int cgroup_get_threads(const char *name, const char *controller, pid_t **pids, int *size)
Definition api.c:6388
int cgroup_get_procs(const char *name, const char *controller, pid_t **pids, int *size)
Definition api.c:6378
int cgroup_add_all_controllers(struct cgroup *cgrp)
Definition wrapper.c:111
int cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)
Definition wrapper.c:312
int cgroup_create_cgroup(struct cgroup *cgrp, int ignore_ownership)
Definition api.c:3113
bool is_cgroup_mode_unified(void)
Definition wrapper.c:827
char * cgroup_get_cgroup_name(struct cgroup *cgrp)
Definition wrapper.c:790
void cgroup_free(struct cgroup **cgrp)
Definition wrapper.c:256
struct cgroup_controller * cgroup_add_controller(struct cgroup *cgrp, const char *name)
Definition wrapper.c:61
int cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value)
Definition wrapper.c:536
int cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value)
Definition wrapper.c:603
char * cgroup_get_value_name(struct cgroup_controller *controller, int index)
Definition wrapper.c:778
int cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)
Definition wrapper.c:579
int cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src)
Definition api.c:2933
int cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb)
Definition wrapper.c:390
int cgroup_delete_cgroup_ext(struct cgroup *cgrp, int flags)
Definition api.c:3557
int cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value)
Definition wrapper.c:650
struct cgroup_controller * cgroup_get_controller_by_index(struct cgroup *cgrp, int index)
Definition api.c:6808
char * cgroup_get_controller_name(struct cgroup_controller *controller)
Definition api.c:6819
int cg_chmod_recursive(struct cgroup *cgrp, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change)
Definition api.c:347
struct cgroup * cgroup_new_cgroup(const char *name)
Definition wrapper.c:43
int cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)
Definition wrapper.c:329
int cgroup_modify_cgroup(struct cgroup *cgrp)
Definition api.c:2824
int cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)
Definition wrapper.c:625
void cgroup_set_permissions(struct cgroup *cgrp, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm)
Definition api.c:375
enum cg_setup_mode_t cgroup_setup_mode(void)
Definition api.c:6755
int cgroup_compare_cgroup(struct cgroup *cgrp_a, struct cgroup *cgrp_b)
Definition wrapper.c:417
int cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value)
Definition wrapper.c:512
int cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value)
Definition wrapper.c:678
struct cgroup_controller * cgroup_get_controller(struct cgroup *cgrp, const char *name)
Definition wrapper.c:494
Definition libcgroup-internal.h:113
Definition libcgroup-internal.h:121