From: drakenclimber Date: Fri, 23 May 2025 15:58:48 +0000 (+0000) Subject: deploy: 42cee67adb5415abd0206f8ca0780296716588d1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b6b83de475bbf7b18f9f171dbf8fc7234a5844e;p=thirdparty%2Flibcgroup.git deploy: 42cee67adb5415abd0206f8ca0780296716588d1 --- diff --git a/error_8h_source.html b/error_8h_source.html index 5dfc5f4d..23e3fe14 100644 --- a/error_8h_source.html +++ b/error_8h_source.html @@ -153,8 +153,8 @@ $(function(){ initResizable(false); });
109#endif
110
111#endif /* _LIBCGROUP_INIT_H */
-
int cgroup_get_last_errno(void)
Definition api.c:5272
-
const char * cgroup_strerror(int code)
Definition api.c:5251
+
int cgroup_get_last_errno(void)
Definition api.c:5277
+
const char * cgroup_strerror(int code)
Definition api.c:5256
@ ECGROUPMULTIMOUNTED
Definition error.h:40
@ ECGEOF
Definition error.h:68
@ ECGNOVERSIONCONVERT
Definition error.h:79
diff --git a/group__group__groups.html b/group__group__groups.html index d5a12752..3dfa1bde 100644 --- a/group__group__groups.html +++ b/group__group__groups.html @@ -665,7 +665,7 @@ int cgroup_convert_cgroup<

Physically create new control group in kernel, with all parameters and values copied from its parent group. The group is created in all hierarchies, where the parent group exists. I.e. following code creates subgroup in all hierarchies, because all of them have root (=parent) group.

struct cgroup *foo = cgroup_new_cgroup("foo");
-
int cgroup_create_cgroup_from_parent(struct cgroup *cgrp, int ignore_ownership)
Definition api.c:3316
+
int cgroup_create_cgroup_from_parent(struct cgroup *cgrp, int ignore_ownership)
Definition api.c:3321
Todo
what is this good for? Why the list of controllers added by cgroup_add_controller() is not used, like in cgroup_create_cgroup()? I can't create subgroup of root group in just one hierarchy with this function!
Parameters
@@ -810,7 +810,7 @@ int 
cgroup_convert_cgroup<

Read all information regarding the group from kernel. Based on name of the group, list of controllers and all parameters and their values are read from all hierarchies, where a group with given name exists. All existing controllers are replaced. I.e. following code will fill root with controllers from all hierarchies, because the root group is available in all of them.

struct cgroup *root = cgroup_new_cgroup("/");
-
int cgroup_get_cgroup(struct cgroup *cgrp)
Definition api.c:3850
+
int cgroup_get_cgroup(struct cgroup *cgrp)
Definition api.c:3855
Todo
what is this function good for? Why is not considered only the list of controllers attached by cgroup_add_controller()? What owners will return cgroup_get_uid_gid() if the group is in multiple hierarchies, each with different owner of tasks file?
Parameters
diff --git a/groups_8h_source.html b/groups_8h_source.html index c6e5c66b..5fd015aa 100644 --- a/groups_8h_source.html +++ b/groups_8h_source.html @@ -263,26 +263,26 @@ $(function(){ initResizable(false); });
703#endif
704
705#endif /* _LIBCGROUP_GROUPS_H */
-
int cgroup_list_mount_points(const enum cg_version_t cgrp_version, char ***mount_paths)
Definition api.c:6649
+
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:3850
+
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:6795
-
int cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version)
Definition api.c:6581
+
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:3316
-
int cgroup_delete_cgroup(struct cgroup *cgrp, int ignore_migration)
Definition api.c:3545
+
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:6383
-
int cgroup_get_procs(const char *name, const char *controller, pid_t **pids, int *size)
Definition api.c:6373
+
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:3108
+
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
@@ -291,19 +291,19 @@ $(function(){ initResizable(false); });
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:2928
+
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:3552
+
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:6803
-
char * cgroup_get_controller_name(struct cgroup_controller *controller)
Definition api.c:6814
+
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:2819
+
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:6750
+
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
diff --git a/iterators_8h_source.html b/iterators_8h_source.html index 3c9a9f57..b2214196 100644 --- a/iterators_8h_source.html +++ b/iterators_8h_source.html @@ -211,31 +211,31 @@ $(function(){ initResizable(false); });
429#endif
430
431#endif /* _LIBCGROUP_ITERATORS_H */
-
int cgroup_walk_tree_end(void **handle)
Definition api.c:5347
-
int cgroup_get_all_controller_end(void **handle)
Definition api.c:6221
-
int cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat)
Definition api.c:5601
-
int cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path)
Definition api.c:6515
+
int cgroup_walk_tree_end(void **handle)
Definition api.c:5352
+
int cgroup_get_all_controller_end(void **handle)
Definition api.c:6226
+
int cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat)
Definition api.c:5606
+
int cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path)
Definition api.c:6520
cgroup_walk_type
Definition iterators.h:74
-
int cgroup_get_subsys_mount_point_next(void **handle, char *path)
Definition api.c:6545
-
int cgroup_get_all_controller_next(void **handle, struct controller_data *info)
Definition api.c:6234
-
int cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level)
Definition api.c:5321
+
int cgroup_get_subsys_mount_point_next(void **handle, char *path)
Definition api.c:6550
+
int cgroup_get_all_controller_next(void **handle, struct controller_data *info)
Definition api.c:6239
+
int cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level)
Definition api.c:5326
#define CG_VALUE_MAX
Definition iterators.h:232
-
int cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info)
Definition api.c:5763
+
int cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info)
Definition api.c:5768
cgroup_file_type
Definition iterators.h:106
-
int cgroup_walk_tree_set_flags(void **handle, int flags)
Definition api.c:5430
-
int cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)
Definition api.c:5367
-
int cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info)
Definition api.c:5715
-
int cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)
Definition api.c:5527
-
int cgroup_get_subsys_mount_point_end(void **handle)
Definition api.c:6568
-
int cgroup_get_controller_end(void **handle)
Definition api.c:5699
-
int cgroup_read_stats_end(void **handle)
Definition api.c:5563
-
int cgroup_read_value_next(void **handle, char *buffer, int max)
Definition api.c:5507
-
int cgroup_get_task_begin(const char *cgrp, const char *controller, void **handle, pid_t *pid)
Definition api.c:5668
-
int cgroup_read_value_end(void **handle)
Definition api.c:5490
-
int cgroup_get_all_controller_begin(void **handle, struct controller_data *info)
Definition api.c:6266
-
int cgroup_get_task_end(void **handle)
Definition api.c:5632
-
int cgroup_get_task_next(void **handle, pid_t *pid)
Definition api.c:5646
-
int cgroup_read_stats_next(void **handle, struct cgroup_stat *stat)
Definition api.c:5582
+
int cgroup_walk_tree_set_flags(void **handle, int flags)
Definition api.c:5435
+
int cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)
Definition api.c:5372
+
int cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info)
Definition api.c:5720
+
int cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)
Definition api.c:5532
+
int cgroup_get_subsys_mount_point_end(void **handle)
Definition api.c:6573
+
int cgroup_get_controller_end(void **handle)
Definition api.c:5704
+
int cgroup_read_stats_end(void **handle)
Definition api.c:5568
+
int cgroup_read_value_next(void **handle, char *buffer, int max)
Definition api.c:5512
+
int cgroup_get_task_begin(const char *cgrp, const char *controller, void **handle, pid_t *pid)
Definition api.c:5673
+
int cgroup_read_value_end(void **handle)
Definition api.c:5495
+
int cgroup_get_all_controller_begin(void **handle, struct controller_data *info)
Definition api.c:6271
+
int cgroup_get_task_end(void **handle)
Definition api.c:5637
+
int cgroup_get_task_next(void **handle, pid_t *pid)
Definition api.c:5651
+
int cgroup_read_stats_next(void **handle, struct cgroup_stat *stat)
Definition api.c:5587
@ CGROUP_WALK_TYPE_POST_DIR
Definition iterators.h:100
@ CGROUP_WALK_TYPE_PRE_DIR
Definition iterators.h:87
@ CGROUP_FILE_TYPE_OTHER
Definition iterators.h:109
diff --git a/tasks_8h_source.html b/tasks_8h_source.html index e79cbd7f..e1b8c720 100644 --- a/tasks_8h_source.html +++ b/tasks_8h_source.html @@ -151,19 +151,19 @@ $(function(){ initResizable(false); });
215#endif
216
217#endif /* _LIBCGROUP_TASKS_H */
-
int cgroup_attach_task_pid(struct cgroup *cgrp, pid_t tid)
Definition api.c:2231
-
int cgroup_attach_task(struct cgroup *cgrp)
Definition api.c:2242
-
int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])
Definition api.c:4867
-
int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)
Definition api.c:4643
-
int cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid)
Definition api.c:4855
-
int cgroup_register_unchanged_process(pid_t pid, int flags)
Definition api.c:6146
-
int cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path)
Definition api.c:5096
-
int cgroup_attach_thread_tid(struct cgroup *cgroup, pid_t tid)
Definition api.c:2258
-
void cgroup_print_rules_config(FILE *fp)
Definition api.c:4992
-
int cgroup_init_rules_cache(void)
Definition api.c:5076
-
int cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags)
Definition api.c:4840
-
int cgroup_reload_cached_rules(void)
Definition api.c:5052
-
int cgroup_change_all_cgroups(void)
Definition api.c:4947
+
int cgroup_attach_task_pid(struct cgroup *cgrp, pid_t tid)
Definition api.c:2236
+
int cgroup_attach_task(struct cgroup *cgrp)
Definition api.c:2247
+
int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])
Definition api.c:4872
+
int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)
Definition api.c:4648
+
int cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid)
Definition api.c:4860
+
int cgroup_register_unchanged_process(pid_t pid, int flags)
Definition api.c:6151
+
int cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path)
Definition api.c:5101
+
int cgroup_attach_thread_tid(struct cgroup *cgroup, pid_t tid)
Definition api.c:2263
+
void cgroup_print_rules_config(FILE *fp)
Definition api.c:4997
+
int cgroup_init_rules_cache(void)
Definition api.c:5081
+
int cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags)
Definition api.c:4845
+
int cgroup_reload_cached_rules(void)
Definition api.c:5057
+
int cgroup_change_all_cgroups(void)
Definition api.c:4952
Definition libcgroup-internal.h:121