]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
deploy: 7f9134019910a6357ce0ab778caa50d957ef9ce3
authordrakenclimber <drakenclimber@users.noreply.github.com>
Fri, 22 Apr 2022 20:55:56 +0000 (20:55 +0000)
committerdrakenclimber <drakenclimber@users.noreply.github.com>
Fri, 22 Apr 2022 20:55:56 +0000 (20:55 +0000)
error_8h_source.html
group__group__groups.html
groups_8h_source.html
iterators_8h_source.html
libcgroup-internal_8h_source.html
structcg__mount__table__s.html
tasks_8h_source.html

index d73b35688e6dedbb3daabe87b1a936547e653a2a..26688ef16f760dd00aadc60ac91fad62a9de8203 100644 (file)
@@ -131,8 +131,8 @@ $(function() {
 <div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="preprocessor">#endif</span></div>
 <div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
 <div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_INIT_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__errors_html_ga29057c4aec05bef2b6bf2855ae5d5d46"><div class="ttname"><a href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a></div><div class="ttdeci">int cgroup_get_last_errno(void)</div><div class="ttdef"><b>Definition:</b> api.c:4669</div></div>
-<div class="ttc" id="agroup__group__errors_html_ga7ee3be57533b25d597a2bfd19819307a"><div class="ttname"><a href="group__group__errors.html#ga7ee3be57533b25d597a2bfd19819307a">cgroup_strerror</a></div><div class="ttdeci">const char * cgroup_strerror(int code)</div><div class="ttdef"><b>Definition:</b> api.c:4658</div></div>
+<div class="ttc" id="agroup__group__errors_html_ga29057c4aec05bef2b6bf2855ae5d5d46"><div class="ttname"><a href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a></div><div class="ttdeci">int cgroup_get_last_errno(void)</div><div class="ttdef"><b>Definition:</b> api.c:4731</div></div>
+<div class="ttc" id="agroup__group__errors_html_ga7ee3be57533b25d597a2bfd19819307a"><div class="ttname"><a href="group__group__errors.html#ga7ee3be57533b25d597a2bfd19819307a">cgroup_strerror</a></div><div class="ttdeci">const char * cgroup_strerror(int code)</div><div class="ttdef"><b>Definition:</b> api.c:4720</div></div>
 <div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">ECGROUPMULTIMOUNTED</a></div><div class="ttdeci">@ ECGROUPMULTIMOUNTED</div><div class="ttdef"><b>Definition:</b> error.h:40</div></div>
 <div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a></div><div class="ttdeci">@ ECGEOF</div><div class="ttdef"><b>Definition:</b> error.h:68</div></div>
 <div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a></div><div class="ttdeci">@ ECGNOVERSIONCONVERT</div><div class="ttdef"><b>Definition:</b> error.h:79</div></div>
index f77c5d55f8f4c875084764d2c7320a10020f22df..3f84f3bb3defb7f3fafa5961b26dd7e254e37d31 100644 (file)
@@ -712,7 +712,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>cgroup_convert_cgroup<
 </div><div class="memdoc">
 <p >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. </p><div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *foo = <a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;foo&quot;</span>);</div>
 <div class="line"><a class="code hl_function" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>(foo, 0);</div>
-<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2836</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2898</div></div>
 </div><!-- fragment --> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>what is this good for? Why the list of controllers added by <a class="el" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller()</a> is not used, like in <a class="el" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup()</a>? I can't crate subgroup of root group in just one hierarchy with this function!</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -874,7 +874,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>cgroup_convert_cgroup<
 </div><div class="memdoc">
 <p >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 <code>root</code> with controllers from all hierarchies, because the root group is available in all of them. </p><div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *root = <a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;/&quot;</span>);</div>
 <div class="line"><a class="code hl_function" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>(root);</div>
-<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3399</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3461</div></div>
 </div><!-- fragment --><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>what is this function good for? Why is not considered only the list of controllers attached by <a class="el" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller()</a>? What owners will return <a class="el" href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid()</a> if the group is in multiple hierarchies, each with different owner of tasks file?</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
index 921167f409e2b66877459227e5ffe65a855f84f1..0bd42935a41b89026e9760168e239adf106b3767 100644 (file)
@@ -231,37 +231,37 @@ $(function() {
 <div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span> </div>
 <div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_GROUPS_H */</span><span class="preprocessor"></span></div>
 <div class="ttc" id="agroup__group__groups_html_ga007d21c304d9cc6e948dc0ae51ecfa86"><div class="ttname"><a href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid</a></div><div class="ttdeci">int cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid)</div><div class="ttdef"><b>Definition:</b> wrapper.c:417</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga08a4fe913d59f61a39e61b8b02537dc2"><div class="ttname"><a href="group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2">cgroup_get_procs</a></div><div class="ttdeci">int cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size)</div><div class="ttdef"><b>Definition:</b> api.c:5706</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga0fd537a3ba09c497378dc494fa405f82"><div class="ttname"><a href="group__group__groups.html#ga0fd537a3ba09c497378dc494fa405f82">cgroup_list_mount_points</a></div><div class="ttdeci">int cgroup_list_mount_points(const enum cg_version_t cgrp_version, char ***mount_paths)</div><div class="ttdef"><b>Definition:</b> api.c:6029</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga08a4fe913d59f61a39e61b8b02537dc2"><div class="ttname"><a href="group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2">cgroup_get_procs</a></div><div class="ttdeci">int cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size)</div><div class="ttdef"><b>Definition:</b> api.c:5768</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga0fd537a3ba09c497378dc494fa405f82"><div class="ttname"><a href="group__group__groups.html#ga0fd537a3ba09c497378dc494fa405f82">cgroup_list_mount_points</a></div><div class="ttdeci">int cgroup_list_mount_points(const enum cg_version_t cgrp_version, char ***mount_paths)</div><div class="ttdef"><b>Definition:</b> api.c:6091</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga0fe9b05f26b3cab21fc446c9a2700526"><div class="ttname"><a href="group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526">cgroup_get_value_int64</a></div><div class="ttdeci">int cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:497</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga1dca18434e5d6be30c28c556da94f565"><div class="ttname"><a href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a></div><div class="ttdeci">int cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration)</div><div class="ttdef"><b>Definition:</b> api.c:3090</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga1dca18434e5d6be30c28c556da94f565"><div class="ttname"><a href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a></div><div class="ttdeci">int cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration)</div><div class="ttdef"><b>Definition:</b> api.c:3152</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga25115085978ce2a8d671e7876cc49c1d"><div class="ttname"><a href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a></div><div class="ttdeci">int cgroup_get_value_name_count(struct cgroup_controller *controller)</div><div class="ttdef"><b>Definition:</b> wrapper.c:721</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga31ba5e865ae8d58b4453c0ef06d2c071"><div class="ttname"><a href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a></div><div class="ttdeci">int cgroup_modify_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:2377</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga31ba5e865ae8d58b4453c0ef06d2c071"><div class="ttname"><a href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a></div><div class="ttdeci">int cgroup_modify_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:2410</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga3929afd6ced9fe877613286b5f06cf8d"><div class="ttname"><a href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_add_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:52</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga452d8c5e95c8d694e26e7efda045360f"><div class="ttname"><a href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a></div><div class="ttdeci">int cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version)</div><div class="ttdef"><b>Definition:</b> api.c:5964</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga452d8c5e95c8d694e26e7efda045360f"><div class="ttname"><a href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a></div><div class="ttdeci">int cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version)</div><div class="ttdef"><b>Definition:</b> api.c:6026</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga4817c68ab791c09c07b663c29b3fb029"><div class="ttname"><a href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a></div><div class="ttdeci">int cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:209</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga4b191a600f84b00ea7afd12c01d918f3"><div class="ttname"><a href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a></div><div class="ttdeci">int cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:290</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga53b9e13e30660c805ab5773d69397a43"><div class="ttname"><a href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a></div><div class="ttdeci">int cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid)</div><div class="ttdef"><b>Definition:</b> wrapper.c:403</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga6b60ab9187a883a2ae114f8d87191e27"><div class="ttname"><a href="group__group__groups.html#ga6b60ab9187a883a2ae114f8d87191e27">cgroup_get_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_get_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:431</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga6c973bb5ce99e7a91def2032f23d7087"><div class="ttname"><a href="group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087">cgroup_add_value_int64</a></div><div class="ttdeci">int cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:254</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga860c1ec70189c969b2c8373fc1e96d36"><div class="ttname"><a href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a></div><div class="ttdeci">int cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:3097</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga860c1ec70189c969b2c8373fc1e96d36"><div class="ttname"><a href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a></div><div class="ttdeci">int cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:3159</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga86898b59e50335f99fe84a11fa38d3fc"><div class="ttname"><a href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a></div><div class="ttdeci">int cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b)</div><div class="ttdef"><b>Definition:</b> wrapper.c:367</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2836</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2898</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga92d27c9ff0d655838642a7aa68497596"><div class="ttname"><a href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a></div><div class="ttdeci">void cgroup_free_controllers(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:181</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga938febc02b59cbeb8e4ceb2dc7fdac82"><div class="ttname"><a href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a></div><div class="ttdeci">int cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:475</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga951861259c0373895bfb637fce337312"><div class="ttname"><a href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a></div><div class="ttdeci">int cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:547</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga9d01743fd3f97014e08fc67149ec5f0b"><div class="ttname"><a href="group__group__groups.html#ga9d01743fd3f97014e08fc67149ec5f0b">cgroup_get_value_name</a></div><div class="ttdeci">char * cgroup_get_value_name(struct cgroup_controller *controller, int index)</div><div class="ttdef"><b>Definition:</b> wrapper.c:730</div></div>
 <div class="ttc" id="agroup__group__groups_html_gaa0400f1ff2fba7fbb6db82d97039d92b"><div class="ttname"><a href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a></div><div class="ttdeci">void cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm)</div><div class="ttdef"><b>Definition:</b> api.c:375</div></div>
 <div class="ttc" id="agroup__group__groups_html_gaa5c39e51035cc43dd26a3c620441a956"><div class="ttname"><a href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a></div><div class="ttdeci">int cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:520</div></div>
-<div class="ttc" id="agroup__group__groups_html_gaa981a95e0917d3167601a4c1b392336a"><div class="ttname"><a href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a></div><div class="ttdeci">int cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src)</div><div class="ttdef"><b>Definition:</b> api.c:2489</div></div>
+<div class="ttc" id="agroup__group__groups_html_gaa981a95e0917d3167601a4c1b392336a"><div class="ttname"><a href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a></div><div class="ttdeci">int cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src)</div><div class="ttdef"><b>Definition:</b> api.c:2522</div></div>
 <div class="ttc" id="agroup__group__groups_html_gab1725c50c49cec4b0bdad1f26b150ca7"><div class="ttname"><a href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a></div><div class="ttdeci">int cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb)</div><div class="ttdef"><b>Definition:</b> wrapper.c:340</div></div>
 <div class="ttc" id="agroup__group__groups_html_gab20fdb1ae479f8baac482336abf73900"><div class="ttname"><a href="group__group__groups.html#gab20fdb1ae479f8baac482336abf73900">cgroup_free</a></div><div class="ttdeci">void cgroup_free(struct cgroup **cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:194</div></div>
 <div class="ttc" id="agroup__group__groups_html_gab60b1f528fbfb17d69a88f499c7071aa"><div class="ttname"><a href="group__group__groups.html#gab60b1f528fbfb17d69a88f499c7071aa">cgroup_get_cgroup_name</a></div><div class="ttdeci">char * cgroup_get_cgroup_name(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:742</div></div>
 <div class="ttc" id="agroup__group__groups_html_gab95007148eac89b7e935d93a4524787b"><div class="ttname"><a href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a></div><div class="ttdeci">int cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:596</div></div>
 <div class="ttc" id="agroup__group__groups_html_gad34c82ead174988d418f3dcb003aaca7"><div class="ttname"><a href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a></div><div class="ttdeci">struct cgroup * cgroup_new_cgroup(const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:39</div></div>
-<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3399</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3461</div></div>
 <div class="ttc" id="agroup__group__groups_html_gad9d2216205b96278c626122f8d5e63bb"><div class="ttname"><a href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a></div><div class="ttdeci">int cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:272</div></div>
-<div class="ttc" id="agroup__group__groups_html_gadb8e13df6064841d3c9707960f782fa7"><div class="ttname"><a href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a></div><div class="ttdeci">int cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2676</div></div>
+<div class="ttc" id="agroup__group__groups_html_gadb8e13df6064841d3c9707960f782fa7"><div class="ttname"><a href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a></div><div class="ttdeci">int cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2709</div></div>
 <div class="ttc" id="agroup__group__groups_html_gade01aa1fe30ccc968af9fe8a3bc821e5"><div class="ttname"><a href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a></div><div class="ttdeci">int cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:569</div></div>
 <div class="ttc" id="agroup__group__groups_html_gae870d271b789b5c54c2e3d35de3cd6f9"><div class="ttname"><a href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_controllers</a></div><div class="ttdeci">int cgroup_add_all_controllers(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:108</div></div>
 <div class="ttc" id="agroup__group__groups_html_gaef0bf6cd480f2dcb5e964de151a27dd1"><div class="ttname"><a href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a></div><div class="ttdeci">int cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change)</div><div class="ttdef"><b>Definition:</b> api.c:346</div></div>
index be1ce01885f85d53a1b1bcb36d41f1d9b69fbd45..357f77e9f98882982f7cc5c1a216674b8c7980c9 100644 (file)
@@ -181,31 +181,31 @@ $(function() {
 <div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span><span class="preprocessor">#endif</span></div>
 <div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span> </div>
 <div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_ITERATORS_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__iterators_html_ga09a70990837a58e506a264f8c50d4cde"><div class="ttname"><a href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end</a></div><div class="ttdeci">int cgroup_walk_tree_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4746</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga0c467d42a2c9a916a0edd339a6d7afc8"><div class="ttname"><a href="group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8">cgroup_get_all_controller_end</a></div><div class="ttdeci">int cgroup_get_all_controller_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5617</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga1138e47f124f0f634586db5e0c4ae5de"><div class="ttname"><a href="group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de">cgroup_read_stats_begin</a></div><div class="ttdeci">int cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat)</div><div class="ttdef"><b>Definition:</b> api.c:5004</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga18a3c6fe7da42b9da96ce34dce1e31b8"><div class="ttname"><a href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c:5900</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga09a70990837a58e506a264f8c50d4cde"><div class="ttname"><a href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end</a></div><div class="ttdeci">int cgroup_walk_tree_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4808</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga0c467d42a2c9a916a0edd339a6d7afc8"><div class="ttname"><a href="group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8">cgroup_get_all_controller_end</a></div><div class="ttdeci">int cgroup_get_all_controller_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5679</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga1138e47f124f0f634586db5e0c4ae5de"><div class="ttname"><a href="group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de">cgroup_read_stats_begin</a></div><div class="ttdeci">int cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat)</div><div class="ttdef"><b>Definition:</b> api.c:5066</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga18a3c6fe7da42b9da96ce34dce1e31b8"><div class="ttname"><a href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c:5962</div></div>
 <div class="ttc" id="agroup__group__iterators_html_ga29a572cbc0c07e2b02dfa0f1ac0067d3"><div class="ttname"><a href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">cgroup_walk_type</a></div><div class="ttdeci">cgroup_walk_type</div><div class="ttdef"><b>Definition:</b> iterators.h:74</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga3d66997158cb8a334317923ad94cc789"><div class="ttname"><a href="group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789">cgroup_get_subsys_mount_point_next</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_next(void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c:5931</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga3d98a04b29b1fe409db1114b7aa76809"><div class="ttname"><a href="group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809">cgroup_get_all_controller_next</a></div><div class="ttdeci">int cgroup_get_all_controller_next(void **handle, struct controller_data *info)</div><div class="ttdef"><b>Definition:</b> api.c:5631</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga527f5499b0aa04d325074435baebdff1"><div class="ttname"><a href="group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1">cgroup_walk_tree_next</a></div><div class="ttdeci">int cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level)</div><div class="ttdef"><b>Definition:</b> api.c:4719</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga3d66997158cb8a334317923ad94cc789"><div class="ttname"><a href="group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789">cgroup_get_subsys_mount_point_next</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_next(void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c:5993</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga3d98a04b29b1fe409db1114b7aa76809"><div class="ttname"><a href="group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809">cgroup_get_all_controller_next</a></div><div class="ttdeci">int cgroup_get_all_controller_next(void **handle, struct controller_data *info)</div><div class="ttdef"><b>Definition:</b> api.c:5693</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga527f5499b0aa04d325074435baebdff1"><div class="ttname"><a href="group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1">cgroup_walk_tree_next</a></div><div class="ttdeci">int cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level)</div><div class="ttdef"><b>Definition:</b> api.c:4781</div></div>
 <div class="ttc" id="agroup__group__iterators_html_ga55d2eac2af703794651d344c073566f5"><div class="ttname"><a href="group__group__iterators.html#ga55d2eac2af703794651d344c073566f5">CG_VALUE_MAX</a></div><div class="ttdeci">#define CG_VALUE_MAX</div><div class="ttdef"><b>Definition:</b> iterators.h:233</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga5f9f21138f9b18912a16b21a45b53c44"><div class="ttname"><a href="group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44">cgroup_get_controller_begin</a></div><div class="ttdeci">int cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info)</div><div class="ttdef"><b>Definition:</b> api.c:5153</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga5f9f21138f9b18912a16b21a45b53c44"><div class="ttname"><a href="group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44">cgroup_get_controller_begin</a></div><div class="ttdeci">int cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info)</div><div class="ttdef"><b>Definition:</b> api.c:5215</div></div>
 <div class="ttc" id="agroup__group__iterators_html_ga608b4aa32e2db58fed34771a6a272444"><div class="ttname"><a href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">cgroup_file_type</a></div><div class="ttdeci">cgroup_file_type</div><div class="ttdef"><b>Definition:</b> iterators.h:106</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga645ec7a6206dffb32667e7a0e148edc8"><div class="ttname"><a href="group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8">cgroup_walk_tree_set_flags</a></div><div class="ttdeci">int cgroup_walk_tree_set_flags(void **handle, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4832</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga7b19f10c06abb96d8c8ae88a04888a68"><div class="ttname"><a href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin</a></div><div class="ttdeci">int cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)</div><div class="ttdef"><b>Definition:</b> api.c:4767</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga926b70423b6c087c21a14670cd23cd7d"><div class="ttname"><a href="group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d">cgroup_get_controller_next</a></div><div class="ttdeci">int cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info)</div><div class="ttdef"><b>Definition:</b> api.c:5120</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga9378ee0f1f6e65900df8e25b3d7ce236"><div class="ttname"><a href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a></div><div class="ttdeci">int cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4928</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga9c9b0f1921c205bd25bfc6c1d20486eb"><div class="ttname"><a href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5953</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gab485cda2bc9640bacbf61f1953ae750c"><div class="ttname"><a href="group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c">cgroup_get_controller_end</a></div><div class="ttdeci">int cgroup_get_controller_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5104</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaba386d9db6cadc6ad85c2552f63447bb"><div class="ttname"><a href="group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb">cgroup_read_stats_end</a></div><div class="ttdeci">int cgroup_read_stats_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4966</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaced2fe331f19d599a3270db2440847cc"><div class="ttname"><a href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a></div><div class="ttdeci">int cgroup_read_value_next(void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4908</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gad348f041e283860cbf6bcea567e23a21"><div class="ttname"><a href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a></div><div class="ttdeci">int cgroup_read_value_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4892</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gad48ef653388ca6739a9b6bbb9d7da82e"><div class="ttname"><a href="group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e">cgroup_get_all_controller_begin</a></div><div class="ttdeci">int cgroup_get_all_controller_begin(void **handle, struct controller_data *info)</div><div class="ttdef"><b>Definition:</b> api.c:5660</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gad7218154192f733120e1025cc19d0a36"><div class="ttname"><a href="group__group__iterators.html#gad7218154192f733120e1025cc19d0a36">cgroup_get_task_begin</a></div><div class="ttdeci">int cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:5071</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaeb955e5f4da551268380b1271d478816"><div class="ttname"><a href="group__group__iterators.html#gaeb955e5f4da551268380b1271d478816">cgroup_get_task_end</a></div><div class="ttdeci">int cgroup_get_task_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5035</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaf3a0364682b7449ddccfb0862bbb565e"><div class="ttname"><a href="group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e">cgroup_get_task_next</a></div><div class="ttdeci">int cgroup_get_task_next(void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:5049</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaf95587508fc15d74fd5ed0df58024be7"><div class="ttname"><a href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next</a></div><div class="ttdeci">int cgroup_read_stats_next(void **handle, struct cgroup_stat *stat)</div><div class="ttdef"><b>Definition:</b> api.c:4984</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga645ec7a6206dffb32667e7a0e148edc8"><div class="ttname"><a href="group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8">cgroup_walk_tree_set_flags</a></div><div class="ttdeci">int cgroup_walk_tree_set_flags(void **handle, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4894</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga7b19f10c06abb96d8c8ae88a04888a68"><div class="ttname"><a href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin</a></div><div class="ttdeci">int cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)</div><div class="ttdef"><b>Definition:</b> api.c:4829</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga926b70423b6c087c21a14670cd23cd7d"><div class="ttname"><a href="group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d">cgroup_get_controller_next</a></div><div class="ttdeci">int cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info)</div><div class="ttdef"><b>Definition:</b> api.c:5182</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga9378ee0f1f6e65900df8e25b3d7ce236"><div class="ttname"><a href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a></div><div class="ttdeci">int cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4990</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga9c9b0f1921c205bd25bfc6c1d20486eb"><div class="ttname"><a href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:6015</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gab485cda2bc9640bacbf61f1953ae750c"><div class="ttname"><a href="group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c">cgroup_get_controller_end</a></div><div class="ttdeci">int cgroup_get_controller_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5166</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaba386d9db6cadc6ad85c2552f63447bb"><div class="ttname"><a href="group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb">cgroup_read_stats_end</a></div><div class="ttdeci">int cgroup_read_stats_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5028</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaced2fe331f19d599a3270db2440847cc"><div class="ttname"><a href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a></div><div class="ttdeci">int cgroup_read_value_next(void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4970</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gad348f041e283860cbf6bcea567e23a21"><div class="ttname"><a href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a></div><div class="ttdeci">int cgroup_read_value_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4954</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gad48ef653388ca6739a9b6bbb9d7da82e"><div class="ttname"><a href="group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e">cgroup_get_all_controller_begin</a></div><div class="ttdeci">int cgroup_get_all_controller_begin(void **handle, struct controller_data *info)</div><div class="ttdef"><b>Definition:</b> api.c:5722</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gad7218154192f733120e1025cc19d0a36"><div class="ttname"><a href="group__group__iterators.html#gad7218154192f733120e1025cc19d0a36">cgroup_get_task_begin</a></div><div class="ttdeci">int cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:5133</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaeb955e5f4da551268380b1271d478816"><div class="ttname"><a href="group__group__iterators.html#gaeb955e5f4da551268380b1271d478816">cgroup_get_task_end</a></div><div class="ttdeci">int cgroup_get_task_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5097</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaf3a0364682b7449ddccfb0862bbb565e"><div class="ttname"><a href="group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e">cgroup_get_task_next</a></div><div class="ttdeci">int cgroup_get_task_next(void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:5111</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaf95587508fc15d74fd5ed0df58024be7"><div class="ttname"><a href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next</a></div><div class="ttdeci">int cgroup_read_stats_next(void **handle, struct cgroup_stat *stat)</div><div class="ttdef"><b>Definition:</b> api.c:5046</div></div>
 <div class="ttc" id="agroup__group__iterators_html_gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1"><div class="ttname"><a href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">CGROUP_WALK_TYPE_POST_DIR</a></div><div class="ttdeci">@ CGROUP_WALK_TYPE_POST_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:100</div></div>
 <div class="ttc" id="agroup__group__iterators_html_gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913"><div class="ttname"><a href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">CGROUP_WALK_TYPE_PRE_DIR</a></div><div class="ttdeci">@ CGROUP_WALK_TYPE_PRE_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:87</div></div>
 <div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">CGROUP_FILE_TYPE_OTHER</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_OTHER</div><div class="ttdef"><b>Definition:</b> iterators.h:109</div></div>
index 031190ed1863646f6ef53e7fd06d58c0946a0831..19fa1164eff10467e2980054d24704d19129ed05 100644 (file)
@@ -193,198 +193,199 @@ $(function() {
 <div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">  129</a></span>    <span class="keywordtype">char</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>[FILENAME_MAX];</div>
 <div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">  133</a></span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> <a class="code hl_variable" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">mount</a>;</div>
 <div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keywordtype">int</span> index;</div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keyword">enum</span> cg_version_t version;</div>
-<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>};</div>
-<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
-<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="structcgroup__rules__data.html">  138</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rules__data.html">cgroup_rules_data</a> {</div>
-<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>    pid_t   pid; <span class="comment">/* pid of the process which needs to change group */</span></div>
-<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    <span class="comment">/* Details of user under consideration for destination cgroup */</span></div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="keyword">struct </span>passwd   *pw;</div>
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>    <span class="comment">/* Gid of the process */</span></div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    gid_t   gid;</div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>};</div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
-<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span><span class="comment">/* A rule that maps UID/GID to a cgroup */</span></div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="structcgroup__rule.html">  148</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> {</div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>    uid_t uid;</div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>    gid_t gid;</div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    <span class="keywordtype">bool</span> is_ignore;</div>
-<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>    <span class="keywordtype">char</span> *procname;</div>
-<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    <span class="keywordtype">char</span> username[LOGIN_NAME_MAX];</div>
-<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>    <span class="keywordtype">char</span> destination[FILENAME_MAX];</div>
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>    <span class="keywordtype">char</span> *controllers[MAX_MNT_ELEMENTS];</div>
-<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *next;</div>
-<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>};</div>
-<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
-<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span><span class="comment">/* Container for a list of rules */</span></div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="structcgroup__rule__list.html">  160</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule__list.html">cgroup_rule_list</a> {</div>
-<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *head;</div>
-<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *tail;</div>
-<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>    <span class="keywordtype">int</span> len;</div>
-<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>};</div>
-<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span> </div>
-<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span><span class="comment">/*The walk_tree handle */</span></div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="structcgroup__tree__handle.html">  167</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__tree__handle.html">cgroup_tree_handle</a> {</div>
-<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    FTS *fts;</div>
-<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>    <span class="keywordtype">int</span> flags;</div>
-<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>};</div>
-<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span> </div>
-<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__item.html">  179</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> {</div>
-<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div>
-<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *value;</div>
-<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *next;</div>
-<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>};</div>
-<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
-<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span><span class="comment">/* Flags for cgroup_dictionary_create */</span></div>
-<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span><span class="preprocessor">#define CG_DICT_DONT_FREE_ITEMS     1</span></div>
-<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span> </div>
-<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="structcgroup__dictionary.html">  202</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> {</div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *head;</div>
-<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *tail;</div>
-<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>    <span class="keywordtype">int</span> flags;</div>
-<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>};</div>
-<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
-<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__iterator.html">  209</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a> {</div>
-<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *item;</div>
-<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>};</div>
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
-<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span><span class="keyword">extern</span> __thread <span class="keywordtype">int</span> last_errno;</div>
-<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span> </div>
-<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span><span class="keyword">extern</span> jmp_buf parser_error_env;</div>
-<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
-<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span><span class="comment">/* Internal API */</span></div>
-<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span><span class="keywordtype">char</span> *cg_build_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *type);</div>
-<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span><span class="keywordtype">int</span> cgroup_get_uid_gid_from_procfs(pid_t pid, uid_t *euid, gid_t *egid);</div>
-<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span><span class="keywordtype">int</span> cgroup_get_procname_from_procfs(pid_t pid, <span class="keywordtype">char</span> **procname);</div>
-<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span><span class="keywordtype">int</span> cg_mkdir_p(<span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *create_cgroup_from_name_value_pairs(<span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
-<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcontrol__value.html">control_value</a> *name_value, <span class="keywordtype">int</span> nv_number);</div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span><span class="keywordtype">void</span> init_cgroup_table(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroups, <span class="keywordtype">size_t</span> count);</div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span> </div>
-<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span><span class="comment"> * Main mounting structures</span></div>
-<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span><span class="keyword">extern</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__table__s.html">cg_mount_table_s</a> cg_mount_table[CG_CONTROLLER_MAX];</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span><span class="keyword">extern</span> pthread_rwlock_t cg_mount_table_lock;</div>
-<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span> </div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span><span class="comment"> * config related structures</span></div>
-<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
-<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span><span class="keyword">extern</span> __thread <span class="keywordtype">char</span> *cg_namespace_table[CG_CONTROLLER_MAX];</div>
-<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span> </div>
-<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span><span class="comment"> * config related API</span></div>
-<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span><span class="keywordtype">int</span> cgroup_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
-<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span><span class="keywordtype">int</span> cgroup_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
-<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span><span class="keywordtype">int</span> template_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
-<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="keywordtype">int</span> template_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
-<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span><span class="keywordtype">int</span> template_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="keywordtype">int</span> template_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="keywordtype">int</span> cgroup_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span><span class="keywordtype">int</span> cgroup_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span><span class="keywordtype">int</span> cgroup_config_insert_into_mount_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span><span class="keywordtype">int</span> cgroup_config_insert_into_namespace_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span><span class="keywordtype">void</span> cgroup_config_cleanup_mount_table(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span><span class="keywordtype">void</span> cgroup_config_cleanup_namespace_table(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span><span class="keywordtype">int</span> cgroup_config_define_default(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
-<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_create(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> **dict,</div>
-<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>        <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_add(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
-<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_free(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict);</div>
-<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span> </div>
-<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_begin(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
-<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>        <span class="keywordtype">void</span> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_next(<span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span><span class="keyword">extern</span> <span class="keywordtype">void</span> cgroup_dictionary_iterator_end(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span> </div>
-<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span><span class="keywordtype">int</span> cg_chmod_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, mode_t mode, <span class="keywordtype">int</span> owner_is_umask);</div>
-<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> </div>
-<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span><span class="keywordtype">int</span> cgroup_build_tasks_procs_path(<span class="keywordtype">char</span> * <span class="keyword">const</span> path,</div>
-<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>                  <span class="keywordtype">size_t</span> path_sz, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
-<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
-<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span> </div>
-<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span><span class="keywordtype">char</span> *cg_build_path_locked(<span class="keyword">const</span> <span class="keywordtype">char</span> *setting, <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> *controller);</div>
-<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span> </div>
-<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span><span class="keywordtype">int</span> cgroup_fill_cgc(<span class="keyword">struct</span> dirent *ctrl_dir, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *<a class="code hl_struct" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>            <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgc, <span class="keywordtype">int</span> cg_index);</div>
-<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span> </div>
-<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span><span class="keywordtype">int</span> cgroup_test_subsys_mounted(<span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name);</div>
-<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span> </div>
-<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span><span class="keywordtype">int</span> cgroup_copy_controller_values(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst,</div>
-<div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span>                  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> src);</div>
-<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span> </div>
-<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span><span class="keywordtype">int</span> cgroup_remove_value(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>);</div>
-<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span> </div>
-<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span><span class="keywordtype">void</span> cgroup_free_controller(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *ctrl);</div>
-<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span> </div>
-<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
-<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span> </div>
-<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span><span class="preprocessor">#define TEST_PROC_PID_CGROUP_FILE &quot;test-procpidcgroup&quot;</span></div>
-<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span> </div>
-<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span><span class="keywordtype">int</span> cgroup_parse_rules_options(<span class="keywordtype">char</span> *options,</div>
-<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span>                   <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule);</div>
-<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span> </div>
-<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span><span class="keywordtype">int</span> cg_get_cgroups_from_proc_cgroups(pid_t pid, <span class="keywordtype">char</span> *cgroup_list[],</div>
-<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span>                     <span class="keywordtype">char</span> *controller_list[],</div>
-<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>                     <span class="keywordtype">int</span> list_len);</div>
-<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span> </div>
-<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span><span class="keywordtype">bool</span> cgroup_compare_ignore_rule(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule,</div>
-<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>                pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
-<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span> </div>
-<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span><span class="keywordtype">bool</span> cgroup_compare_wildcard_procname(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> rule_procname,</div>
-<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span>                      <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
-<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span> </div>
-<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span><span class="keywordtype">int</span> cgroup_process_v1_mnt(<span class="keywordtype">char</span> *controllers[], <span class="keyword">struct</span> mntent *ent,</div>
-<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span>              <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
-<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span> </div>
-<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span><span class="keywordtype">int</span> cgroup_process_v2_mnt(<span class="keyword">struct</span> mntent *ent, <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
-<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span> </div>
-<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span><span class="keywordtype">int</span> cgroup_set_values_recursive(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> base,</div>
-<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span>    <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span>    <span class="keywordtype">bool</span> ignore_non_dirty_failures);</div>
-<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span> </div>
-<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span><span class="keywordtype">int</span> cgroup_chown_chmod_tasks(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_path,</div>
-<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span>                 uid_t uid, gid_t gid, mode_t fperm);</div>
-<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span> </div>
-<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span><span class="keywordtype">int</span> cgroupv2_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
-<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span>                 <span class="keywordtype">bool</span> enable);</div>
-<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span> </div>
-<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span><span class="keywordtype">int</span> cgroupv2_get_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
-<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>                 <span class="keywordtype">bool</span> * <span class="keyword">const</span> enabled);</div>
-<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span> </div>
-<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span><span class="keywordtype">int</span> cgroupv2_controller_enabled(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
-<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
-<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span> </div>
-<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span><span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
-<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span> </div>
-<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span> </div>
-<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keywordtype">int</span> shared_mnt;</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>    <span class="keyword">enum</span> cg_version_t version;</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>};</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="structcgroup__rules__data.html">  139</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rules__data.html">cgroup_rules_data</a> {</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>    pid_t   pid; <span class="comment">/* pid of the process which needs to change group */</span></div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="comment">/* Details of user under consideration for destination cgroup */</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>    <span class="keyword">struct </span>passwd   *pw;</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    <span class="comment">/* Gid of the process */</span></div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>    gid_t   gid;</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>};</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span><span class="comment">/* A rule that maps UID/GID to a cgroup */</span></div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="structcgroup__rule.html">  149</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> {</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>    uid_t uid;</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    gid_t gid;</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>    <span class="keywordtype">bool</span> is_ignore;</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    <span class="keywordtype">char</span> *procname;</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>    <span class="keywordtype">char</span> username[LOGIN_NAME_MAX];</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>    <span class="keywordtype">char</span> destination[FILENAME_MAX];</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    <span class="keywordtype">char</span> *controllers[MAX_MNT_ELEMENTS];</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *next;</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>};</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span><span class="comment">/* Container for a list of rules */</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="structcgroup__rule__list.html">  161</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule__list.html">cgroup_rule_list</a> {</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *head;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *tail;</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>    <span class="keywordtype">int</span> len;</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>};</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span><span class="comment">/*The walk_tree handle */</span></div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="structcgroup__tree__handle.html">  168</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__tree__handle.html">cgroup_tree_handle</a> {</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>    FTS *fts;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>    <span class="keywordtype">int</span> flags;</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>};</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__item.html">  180</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> {</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *value;</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *next;</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>};</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span><span class="comment">/* Flags for cgroup_dictionary_create */</span></div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span><span class="preprocessor">#define CG_DICT_DONT_FREE_ITEMS     1</span></div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="structcgroup__dictionary.html">  203</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> {</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *head;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *tail;</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>    <span class="keywordtype">int</span> flags;</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>};</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__iterator.html">  210</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a> {</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *item;</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>};</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span><span class="keyword">extern</span> __thread <span class="keywordtype">int</span> last_errno;</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span><span class="keyword">extern</span> jmp_buf parser_error_env;</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span><span class="comment">/* Internal API */</span></div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span><span class="keywordtype">char</span> *cg_build_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *type);</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span><span class="keywordtype">int</span> cgroup_get_uid_gid_from_procfs(pid_t pid, uid_t *euid, gid_t *egid);</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span><span class="keywordtype">int</span> cgroup_get_procname_from_procfs(pid_t pid, <span class="keywordtype">char</span> **procname);</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span><span class="keywordtype">int</span> cg_mkdir_p(<span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *create_cgroup_from_name_value_pairs(<span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcontrol__value.html">control_value</a> *name_value, <span class="keywordtype">int</span> nv_number);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span><span class="keywordtype">void</span> init_cgroup_table(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroups, <span class="keywordtype">size_t</span> count);</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span><span class="comment"> * Main mounting structures</span></div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span><span class="keyword">extern</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__table__s.html">cg_mount_table_s</a> cg_mount_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span><span class="keyword">extern</span> pthread_rwlock_t cg_mount_table_lock;</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span><span class="comment"> * config related structures</span></div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span><span class="keyword">extern</span> __thread <span class="keywordtype">char</span> *cg_namespace_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span><span class="comment"> * config related API</span></div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span><span class="keywordtype">int</span> cgroup_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span><span class="keywordtype">int</span> cgroup_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="keywordtype">int</span> template_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span><span class="keywordtype">int</span> template_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="keywordtype">int</span> template_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="keywordtype">int</span> template_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span><span class="keywordtype">int</span> cgroup_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span><span class="keywordtype">int</span> cgroup_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span><span class="keywordtype">int</span> cgroup_config_insert_into_mount_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span><span class="keywordtype">int</span> cgroup_config_insert_into_namespace_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span><span class="keywordtype">void</span> cgroup_config_cleanup_mount_table(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span><span class="keywordtype">void</span> cgroup_config_cleanup_namespace_table(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span><span class="keywordtype">int</span> cgroup_config_define_default(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_create(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> **dict,</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>        <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_add(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_free(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict);</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_begin(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>        <span class="keywordtype">void</span> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_next(<span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span><span class="keyword">extern</span> <span class="keywordtype">void</span> cgroup_dictionary_iterator_end(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span><span class="keywordtype">int</span> cg_chmod_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, mode_t mode, <span class="keywordtype">int</span> owner_is_umask);</div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span><span class="keywordtype">int</span> cgroup_build_tasks_procs_path(<span class="keywordtype">char</span> * <span class="keyword">const</span> path,</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>                  <span class="keywordtype">size_t</span> path_sz, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span><span class="keywordtype">char</span> *cg_build_path_locked(<span class="keyword">const</span> <span class="keywordtype">char</span> *setting, <span class="keywordtype">char</span> *path,</div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> *controller);</div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span><span class="keywordtype">int</span> cgroup_fill_cgc(<span class="keyword">struct</span> dirent *ctrl_dir, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *<a class="code hl_struct" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span>            <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgc, <span class="keywordtype">int</span> cg_index);</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span><span class="keywordtype">int</span> cgroup_test_subsys_mounted(<span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name);</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span><span class="keywordtype">int</span> cgroup_copy_controller_values(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst,</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>                  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> src);</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span><span class="keywordtype">int</span> cgroup_remove_value(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>);</div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span><span class="keywordtype">void</span> cgroup_free_controller(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *ctrl);</div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span><span class="preprocessor">#define TEST_PROC_PID_CGROUP_FILE &quot;test-procpidcgroup&quot;</span></div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span> </div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span><span class="keywordtype">int</span> cgroup_parse_rules_options(<span class="keywordtype">char</span> *options,</div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span>                   <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule);</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span><span class="keywordtype">int</span> cg_get_cgroups_from_proc_cgroups(pid_t pid, <span class="keywordtype">char</span> *cgroup_list[],</div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>                     <span class="keywordtype">char</span> *controller_list[],</div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>                     <span class="keywordtype">int</span> list_len);</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span><span class="keywordtype">bool</span> cgroup_compare_ignore_rule(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule,</div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span>                pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span> </div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span><span class="keywordtype">bool</span> cgroup_compare_wildcard_procname(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> rule_procname,</div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span>                      <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span><span class="keywordtype">int</span> cgroup_process_v1_mnt(<span class="keywordtype">char</span> *controllers[], <span class="keyword">struct</span> mntent *ent,</div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span>              <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span> </div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span><span class="keywordtype">int</span> cgroup_process_v2_mnt(<span class="keyword">struct</span> mntent *ent, <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span><span class="keywordtype">int</span> cgroup_set_values_recursive(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> base,</div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span>    <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span>    <span class="keywordtype">bool</span> ignore_non_dirty_failures);</div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span> </div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span><span class="keywordtype">int</span> cgroup_chown_chmod_tasks(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_path,</div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span>                 uid_t uid, gid_t gid, mode_t fperm);</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span><span class="keywordtype">int</span> cgroupv2_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span>                 <span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span><span class="keywordtype">int</span> cgroupv2_get_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span>                 <span class="keywordtype">bool</span> * <span class="keyword">const</span> enabled);</div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span><span class="keywordtype">int</span> cgroupv2_controller_enabled(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span><span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span><span class="preprocessor">#endif</span></div>
 <div class="ttc" id="astructcg__mount__point_html"><div class="ttname"><a href="structcg__mount__point.html">cg_mount_point</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:122</div></div>
 <div class="ttc" id="astructcg__mount__table__s_html"><div class="ttname"><a href="structcg__mount__table__s.html">cg_mount_table_s</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:127</div></div>
 <div class="ttc" id="astructcg__mount__table__s_html_a9704fa3ec3674f6d433345ea52b6aeef"><div class="ttname"><a href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">cg_mount_table_s::mount</a></div><div class="ttdeci">struct cg_mount_point mount</div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:133</div></div>
 <div class="ttc" id="astructcg__mount__table__s_html_aa9b2cc62fb6cb35334f3d85d660c9fa6"><div class="ttname"><a href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">cg_mount_table_s::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:129</div></div>
 <div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:101</div></div>
-<div class="ttc" id="astructcgroup__dictionary__item_html"><div class="ttname"><a href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:179</div></div>
-<div class="ttc" id="astructcgroup__dictionary__iterator_html"><div class="ttname"><a href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:209</div></div>
-<div class="ttc" id="astructcgroup__dictionary_html"><div class="ttname"><a href="structcgroup__dictionary.html">cgroup_dictionary</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:202</div></div>
-<div class="ttc" id="astructcgroup__rule__list_html"><div class="ttname"><a href="structcgroup__rule__list.html">cgroup_rule_list</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:160</div></div>
-<div class="ttc" id="astructcgroup__rule_html"><div class="ttname"><a href="structcgroup__rule.html">cgroup_rule</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:148</div></div>
-<div class="ttc" id="astructcgroup__rules__data_html"><div class="ttname"><a href="structcgroup__rules__data.html">cgroup_rules_data</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:138</div></div>
-<div class="ttc" id="astructcgroup__tree__handle_html"><div class="ttname"><a href="structcgroup__tree__handle.html">cgroup_tree_handle</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:167</div></div>
+<div class="ttc" id="astructcgroup__dictionary__item_html"><div class="ttname"><a href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:180</div></div>
+<div class="ttc" id="astructcgroup__dictionary__iterator_html"><div class="ttname"><a href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:210</div></div>
+<div class="ttc" id="astructcgroup__dictionary_html"><div class="ttname"><a href="structcgroup__dictionary.html">cgroup_dictionary</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:203</div></div>
+<div class="ttc" id="astructcgroup__rule__list_html"><div class="ttname"><a href="structcgroup__rule__list.html">cgroup_rule_list</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:161</div></div>
+<div class="ttc" id="astructcgroup__rule_html"><div class="ttname"><a href="structcgroup__rule.html">cgroup_rule</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:149</div></div>
+<div class="ttc" id="astructcgroup__rules__data_html"><div class="ttname"><a href="structcgroup__rules__data.html">cgroup_rules_data</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:139</div></div>
+<div class="ttc" id="astructcgroup__tree__handle_html"><div class="ttname"><a href="structcgroup__tree__handle.html">cgroup_tree_handle</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:168</div></div>
 <div class="ttc" id="astructcgroup_html"><div class="ttname"><a href="structcgroup.html">cgroup</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:109</div></div>
 <div class="ttc" id="astructcontrol__value_html"><div class="ttname"><a href="structcontrol__value.html">control_value</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:85</div></div>
 </div><!-- fragment --></div><!-- contents -->
index 3584359ad45ed05c2f0bc75a035ac6b2135db1f8..09a780541aaf71bc17882c3cc09ae7080567a75e 100644 (file)
@@ -77,6 +77,9 @@ Data Fields</h2></td></tr>
 <tr class="memitem:a1d69f1d8406fb81cd7978512b3f6d9a2"><td class="memItemLeft" align="right" valign="top"><a id="a1d69f1d8406fb81cd7978512b3f6d9a2" name="a1d69f1d8406fb81cd7978512b3f6d9a2"></a>
 int&#160;</td><td class="memItemRight" valign="bottom"><b>index</b></td></tr>
 <tr class="separator:a1d69f1d8406fb81cd7978512b3f6d9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11a1f0fa251ba25ca46ba1ffe20c2429"><td class="memItemLeft" align="right" valign="top"><a id="a11a1f0fa251ba25ca46ba1ffe20c2429" name="a11a1f0fa251ba25ca46ba1ffe20c2429"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>shared_mnt</b></td></tr>
+<tr class="separator:a11a1f0fa251ba25ca46ba1ffe20c2429"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae55b944bda455b4cd08490fa86003c25"><td class="memItemLeft" align="right" valign="top"><a id="ae55b944bda455b4cd08490fa86003c25" name="ae55b944bda455b4cd08490fa86003c25"></a>
 enum cg_version_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
 <tr class="separator:ae55b944bda455b4cd08490fa86003c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
index b77759de8b35d5704e3173640eae12a74a5c9730..fa1f908f8b70f7d4106898bb19298768fc6c41fc 100644 (file)
@@ -131,18 +131,18 @@ $(function() {
 <div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span><span class="preprocessor">#endif</span></div>
 <div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
 <div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_TASKS_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__tasks_html_ga2d4677baef780c003fc6fba6b5dc78f2"><div class="ttname"><a href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a></div><div class="ttdeci">int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])</div><div class="ttdef"><b>Definition:</b> api.c:4355</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga368e7b8e19b3943ab6fb50e76a09e6ea"><div class="ttname"><a href="group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea">cgroup_change_cgroup_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4121</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga43414ac2b1fc73bbb46b6278c7500188"><div class="ttname"><a href="group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188">cgroup_attach_task</a></div><div class="ttdeci">int cgroup_attach_task(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:1936</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga5eab78a922dbacd368360f03c70146be"><div class="ttname"><a href="group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be">cgroup_change_cgroup_uid_gid</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid)</div><div class="ttdef"><b>Definition:</b> api.c:4343</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga64f7967d6d5edfff9afddaa6a6974b1c"><div class="ttname"><a href="group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c">cgroup_register_unchanged_process</a></div><div class="ttdeci">int cgroup_register_unchanged_process(pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:5542</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga6f2c17b99cf2526cb46df4769eb3f46e"><div class="ttname"><a href="group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e">cgroup_get_current_controller_path</a></div><div class="ttdeci">int cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path)</div><div class="ttdef"><b>Definition:</b> api.c:4575</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga9c7532681986d156ac3f6bac1fcf6aab"><div class="ttname"><a href="group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab">cgroup_attach_task_pid</a></div><div class="ttdeci">int cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid)</div><div class="ttdef"><b>Definition:</b> api.c:1858</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gac4e3f29cfbdc3d77f08c9fe60857274a"><div class="ttname"><a href="group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a">cgroup_print_rules_config</a></div><div class="ttdeci">void cgroup_print_rules_config(FILE *fp)</div><div class="ttdef"><b>Definition:</b> api.c:4467</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gad7fa5a2c4db08d31da5bfbecaf482d3d"><div class="ttname"><a href="group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d">cgroup_init_rules_cache</a></div><div class="ttdeci">int cgroup_init_rules_cache(void)</div><div class="ttdef"><b>Definition:</b> api.c:4553</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gae472183a7c9a37826ef15c77014c47fb"><div class="ttname"><a href="group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4326</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gaf81ebd9cb5575c75b4c85f385ebda1ce"><div class="ttname"><a href="group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce">cgroup_reload_cached_rules</a></div><div class="ttdeci">int cgroup_reload_cached_rules(void)</div><div class="ttdef"><b>Definition:</b> api.c:4527</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gafc69658b012b6f1c11ba078ffccd70a2"><div class="ttname"><a href="group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2">cgroup_change_all_cgroups</a></div><div class="ttdeci">int cgroup_change_all_cgroups(void)</div><div class="ttdef"><b>Definition:</b> api.c:4421</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga2d4677baef780c003fc6fba6b5dc78f2"><div class="ttname"><a href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a></div><div class="ttdeci">int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])</div><div class="ttdef"><b>Definition:</b> api.c:4417</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga368e7b8e19b3943ab6fb50e76a09e6ea"><div class="ttname"><a href="group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea">cgroup_change_cgroup_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4183</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga43414ac2b1fc73bbb46b6278c7500188"><div class="ttname"><a href="group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188">cgroup_attach_task</a></div><div class="ttdeci">int cgroup_attach_task(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:1969</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga5eab78a922dbacd368360f03c70146be"><div class="ttname"><a href="group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be">cgroup_change_cgroup_uid_gid</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid)</div><div class="ttdef"><b>Definition:</b> api.c:4405</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga64f7967d6d5edfff9afddaa6a6974b1c"><div class="ttname"><a href="group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c">cgroup_register_unchanged_process</a></div><div class="ttdeci">int cgroup_register_unchanged_process(pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:5604</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga6f2c17b99cf2526cb46df4769eb3f46e"><div class="ttname"><a href="group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e">cgroup_get_current_controller_path</a></div><div class="ttdeci">int cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path)</div><div class="ttdef"><b>Definition:</b> api.c:4637</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga9c7532681986d156ac3f6bac1fcf6aab"><div class="ttname"><a href="group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab">cgroup_attach_task_pid</a></div><div class="ttdeci">int cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid)</div><div class="ttdef"><b>Definition:</b> api.c:1891</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gac4e3f29cfbdc3d77f08c9fe60857274a"><div class="ttname"><a href="group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a">cgroup_print_rules_config</a></div><div class="ttdeci">void cgroup_print_rules_config(FILE *fp)</div><div class="ttdef"><b>Definition:</b> api.c:4529</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gad7fa5a2c4db08d31da5bfbecaf482d3d"><div class="ttname"><a href="group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d">cgroup_init_rules_cache</a></div><div class="ttdeci">int cgroup_init_rules_cache(void)</div><div class="ttdef"><b>Definition:</b> api.c:4615</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gae472183a7c9a37826ef15c77014c47fb"><div class="ttname"><a href="group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4388</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gaf81ebd9cb5575c75b4c85f385ebda1ce"><div class="ttname"><a href="group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce">cgroup_reload_cached_rules</a></div><div class="ttdeci">int cgroup_reload_cached_rules(void)</div><div class="ttdef"><b>Definition:</b> api.c:4589</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gafc69658b012b6f1c11ba078ffccd70a2"><div class="ttname"><a href="group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2">cgroup_change_all_cgroups</a></div><div class="ttdeci">int cgroup_change_all_cgroups(void)</div><div class="ttdef"><b>Definition:</b> api.c:4483</div></div>
 <div class="ttc" id="astructcgroup_html"><div class="ttname"><a href="structcgroup.html">cgroup</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:109</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->