<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include "config.h"</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include "libcgroup.h"</span></div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include <linux/connector.h></span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <linux/cn_proc.h></span></div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#ifndef _GNU_SOURCE</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define _GNU_SOURCE</span></div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#ifndef __USE_GNU</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#define __USE_GNU</span></div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">/* The following ten macros are all for the Netlink code. */</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#define SEND_MESSAGE_LEN (NLMSG_LENGTH(sizeof(struct cn_msg) + \</span></div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor"> sizeof(enum proc_cn_mcast_op)))</span></div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#define RECV_MESSAGE_LEN (NLMSG_LENGTH(sizeof(struct cn_msg) + \</span></div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor"> sizeof(struct proc_event)))</span></div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#define SEND_MESSAGE_SIZE (NLMSG_SPACE(SEND_MESSAGE_LEN))</span></div>
-<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#define RECV_MESSAGE_SIZE (NLMSG_SPACE(RECV_MESSAGE_LEN))</span></div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#define BUFF_SIZE (max(max(SEND_MESSAGE_SIZE, RECV_MESSAGE_SIZE), 1024))</span></div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#define MIN_RECV_SIZE (min(SEND_MESSAGE_SIZE, RECV_MESSAGE_SIZE))</span></div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#define PROC_CN_MCAST_LISTEN (1)</span></div>
-<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#define PROC_CN_MCAST_IGNORE (2)</span></div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keywordtype">void</span> cgre_usage(FILE *fd, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...);</div>
-<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="keywordtype">void</span> flog(<span class="keywordtype">int</span> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...);</div>
-<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="keywordtype">int</span> cgre_process_event(<span class="keyword">const</span> <span class="keyword">struct</span> proc_event *ev, <span class="keyword">const</span> <span class="keywordtype">int</span> type);</div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="keywordtype">int</span> cgre_handle_message(<span class="keyword">struct</span> cn_msg *cn_hdr);</div>
-<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="keywordtype">int</span> cgre_start_daemon(<span class="keyword">const</span> <span class="keywordtype">char</span> *logp, <span class="keyword">const</span> <span class="keywordtype">int</span> logf,</div>
-<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> daemon, <span class="keyword">const</span> <span class="keywordtype">int</span> logv);</div>
-<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="keywordtype">void</span> cgre_flash_rules(<span class="keywordtype">int</span> signum);</div>
-<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="keywordtype">void</span> cgre_flash_templates(<span class="keywordtype">int</span> signum);</div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="keywordtype">void</span> cgre_catch_term(<span class="keywordtype">int</span> signum);</div>
-<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>} <span class="comment">/* extern "C" */</span></div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="preprocessor">#endif </span><span class="comment">/* _CGRULESENGD_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <linux/connector.h></span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include <linux/cn_proc.h></span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#ifndef _GNU_SOURCE</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#define _GNU_SOURCE</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifndef __USE_GNU</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#define __USE_GNU</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">/* The following ten macros are all for the Netlink code. */</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#define SEND_MESSAGE_LEN (NLMSG_LENGTH(sizeof(struct cn_msg) + \</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor"> sizeof(enum proc_cn_mcast_op)))</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#define RECV_MESSAGE_LEN (NLMSG_LENGTH(sizeof(struct cn_msg) + \</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor"> sizeof(struct proc_event)))</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#define SEND_MESSAGE_SIZE (NLMSG_SPACE(SEND_MESSAGE_LEN))</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#define RECV_MESSAGE_SIZE (NLMSG_SPACE(RECV_MESSAGE_LEN))</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#define BUFF_SIZE (max(max(SEND_MESSAGE_SIZE, RECV_MESSAGE_SIZE), 1024))</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#define MIN_RECV_SIZE (min(SEND_MESSAGE_SIZE, RECV_MESSAGE_SIZE))</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#define PROC_CN_MCAST_LISTEN (1)</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#define PROC_CN_MCAST_IGNORE (2)</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keywordtype">void</span> cgre_usage(FILE *fd, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...);</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keywordtype">void</span> flog(<span class="keywordtype">int</span> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="keywordtype">int</span> cgre_process_event(<span class="keyword">const</span> <span class="keyword">struct</span> proc_event *ev, <span class="keyword">const</span> <span class="keywordtype">int</span> type);</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="keywordtype">int</span> cgre_handle_message(<span class="keyword">struct</span> cn_msg *cn_hdr);</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="keywordtype">int</span> cgre_start_daemon(<span class="keyword">const</span> <span class="keywordtype">char</span> *logp, <span class="keyword">const</span> <span class="keywordtype">int</span> logf,</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> daemon, <span class="keyword">const</span> <span class="keywordtype">int</span> logv);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="keywordtype">void</span> cgre_flash_rules(<span class="keywordtype">int</span> signum);</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="keywordtype">void</span> cgre_flash_templates(<span class="keywordtype">int</span> signum);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="keywordtype">void</span> cgre_catch_term(<span class="keywordtype">int</span> signum);</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>} <span class="comment">/* extern "C" */</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="preprocessor">#endif </span><span class="comment">/* _CGRULESENGD_H */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
<div class="ttc" id="agroup__group__config_html_ga924860998c37da53cababe24163fc89b"><div class="ttname"><a href="group__group__config.html#ga924860998c37da53cababe24163fc89b">cgroup_load_templates_cache_from_files</a></div><div class="ttdeci">int cgroup_load_templates_cache_from_files(int *file_index)</div><div class="ttdef"><b>Definition:</b> config.c:1708</div></div>
<div class="ttc" id="agroup__group__config_html_gacb09024dc469a1a1ff8cdebd8d0ab422"><div class="ttname"><a href="group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422">cgroup_templates_cache_set_source_files</a></div><div class="ttdeci">void cgroup_templates_cache_set_source_files(struct cgroup_string_list *tmpl_files)</div><div class="ttdef"><b>Definition:</b> config.c:1635</div></div>
<div class="ttc" id="agroup__group__config_html_gaff77affa0b80ccf507b4b46cc0a8c085"><div class="ttname"><a href="group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085">cgroup_config_unload_config</a></div><div class="ttdeci">int cgroup_config_unload_config(const char *pathname, int flags)</div><div class="ttdef"><b>Definition:</b> config.c:1259</div></div>
-<div class="ttc" id="astructcgroup__string__list_html"><div class="ttname"><a href="structcgroup__string__list.html">cgroup_string_list</a></div><div class="ttdef"><b>Definition:</b> tools-common.h:37</div></div>
+<div class="ttc" id="astructcgroup__string__list_html"><div class="ttname"><a href="structcgroup__string__list.html">cgroup_string_list</a></div><div class="ttdef"><b>Definition:</b> tools-common.h:38</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 -->
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cgroup</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the controller, e.g. "freezer". </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the controller, e.g. "freezer". </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<p >Return appropriate controller from given group. The controller must be added before using <a class="el" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller()</a> or loaded from kernel using <a class="el" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cgroup</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the controller, e.g. "freezer". </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the controller, e.g. "freezer". </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">index</td><td>Index of the parameter. </td></tr>
+ <tr><td class="paramname">index</td><td>The index of the parameter. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td></td></tr>
- <tr><td class="paramname">name</td><td>Name of the parameter. </td></tr>
+ <tr><td class="paramname">name</td><td>The name of the parameter. </td></tr>
<tr><td class="paramname">value</td><td></td></tr>
</table>
</dd>
<div class="line"><span class="keywordtype">int</span> ret;</div>
<div class="line">ret = iterator_name_begin(&handle, &item);</div>
<div class="line"><span class="keywordflow">while</span> (ret == 0) {</div>
-<div class="line"> <span class="comment">// process the item here</span></div>
+<div class="line"> <span class="comment">// process the item here</span></div>
<div class="line"> ret = iterator_name_begin(&handle, &item);</div>
<div class="line">}</div>
<div class="line"><span class="keywordflow">if</span> (ret != <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a>) {</div>
-<div class="line"> <span class="comment">// process the error here</span></div>
+<div class="line"> <span class="comment">// process the error here</span></div>
<div class="line">}</div>
<div class="line">iterator_name_end(&handle);</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><div class="memdoc">
<p >Read the first of controllers from /proc/cgroups. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used for iteration. </td></tr>
<tr><td class="paramname">info</td><td>The structure which will be filled with controller data. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read next controllers from /proc/cgroups. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used for iteration. </td></tr>
<tr><td class="paramname">info</td><td>The structure which will be filled with controller data. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read the mount table to give a list where each controller is mounted. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used for iteration. </td></tr>
<tr><td class="paramname">info</td><td>The variable where the path to the controller is stored. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read the next mounted controller. While walking through the mount table, the controllers are returned in order of their mount points, i.e. controllers mounted together in one hierarchy are returned next to each other. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used for iteration. </td></tr>
<tr><td class="paramname">info</td><td>The variable where the path to the controller is stored. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read the first mount point of the hierarchy with given controller. The first is the same as the mount point returned by cgroup_get_subsys_mount_point(). </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
- <tr><td class="paramname">controller</td><td>Controller name. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used for iteration. </td></tr>
+ <tr><td class="paramname">controller</td><td>The controller name. </td></tr>
<tr><td class="paramname">path</td><td>Buffer to fill the path into. The buffer must be at least FILENAME_MAX characters long. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read next mount point of the hierarchy with given controller. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used for iteration. </td></tr>
<tr><td class="paramname">path</td><td>Buffer to fill the path into. The buffer must be at least FILENAME_MAX characters long. </td></tr>
</table>
</dd>
<table class="params">
<tr><td class="paramname">cgroup</td><td>Name of the cgroup. </td></tr>
<tr><td class="paramname">controller</td><td>Name of the cgroup subsystem. </td></tr>
- <tr><td class="paramname">handle</td><td>Handle to be used in the iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used in the iteration. </td></tr>
<tr><td class="paramname">pid</td><td>The pid read from the tasks file. </td></tr>
</table>
</dd>
<p >Read the statistics values (= <code>stats</code> parameter) for the specified controller and control group. One line is returned per <a class="el" href="group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de">cgroup_read_stats_begin()</a> and <a class="el" href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next()</a> call. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td>Name of the controller for which stats are requested. </td></tr>
- <tr><td class="paramname">path</td><td>Path to control group, relative to hierarchy root. </td></tr>
- <tr><td class="paramname">handle</td><td>Handle to be used during iteration. </td></tr>
+ <tr><td class="paramname">path</td><td>The path to control group, relative to hierarchy root. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used during iteration. </td></tr>
<tr><td class="paramname">stat</td><td>Returned first item in the stats file. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read the next stat value. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used during iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used during iteration. </td></tr>
<tr><td class="paramname">stat</td><td>Returned next item in the stats file. </td></tr>
</table>
</dd>
<p >Read the value of the given variable for the specified controller and control group. The value is read up to newline character or at most max-1 characters, whichever comes first (i.e. similar to fgets()). </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">controller</td><td>Name of the controller for which stats are requested. </td></tr>
- <tr><td class="paramname">path</td><td>Path to control group, relative to hierarchy root. </td></tr>
+ <tr><td class="paramname">path</td><td>The path to control group, relative to hierarchy root. </td></tr>
<tr><td class="paramname">name</td><td>is variable name. </td></tr>
- <tr><td class="paramname">handle</td><td>Handle to be used during iteration. </td></tr>
- <tr><td class="paramname">buffer</td><td>Buffer to read the value into. The buffer is always zero-terminated. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used during iteration. </td></tr>
+ <tr><td class="paramname">buffer</td><td>The buffer to read the value into. The buffer is always zero-terminated. </td></tr>
<tr><td class="paramname">max</td><td>Maximal lenght of the buffer </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Read the next string from the given variable handle which is generated by <a class="el" href="group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de">cgroup_read_stats_begin()</a> function. the value is read up to newline character or at most max-1 characters, whichever comes first (i.e. similar to fgets()) per <a class="el" href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next()</a> call </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle to be used during iteration. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used during iteration. </td></tr>
<tr><td class="paramname">data</td><td>returned the string. </td></tr>
- <tr><td class="paramname">buffer</td><td>Buffer to read the value into. The buffer is always zero-terminated. </td></tr>
+ <tr><td class="paramname">buffer</td><td>The buffer to read the value into. The buffer is always zero-terminated. </td></tr>
<tr><td class="paramname">max</td><td>Maximal lenght of the buffer </td></tr>
</table>
</dd>
<tr><td class="paramname">controller</td><td>Name of the controller, for which we want to walk the directory tree. </td></tr>
<tr><td class="paramname">base_path</td><td>Begin walking from this path. Use "/" to walk through full hierarchy. </td></tr>
<tr><td class="paramname">depth</td><td>The maximum depth to which the function should walk, 0 implies all the way down. </td></tr>
- <tr><td class="paramname">handle</td><td>Handle to be used during iteration. </td></tr>
- <tr><td class="paramname">info</td><td>Info filled and returned about directory information. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used during iteration. </td></tr>
+ <tr><td class="paramname">info</td><td>The info filled and returned about directory information. </td></tr>
<tr><td class="paramname">base_level</td><td>Opaque integer which you must pass to subsequent cgroup_walk_tree_next. </td></tr>
</table>
</dd>
<p >Get the next directory in the walk. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">depth</td><td>The maximum depth to which the function should walk, 0 implies all the way down. </td></tr>
- <tr><td class="paramname">handle</td><td>Handle to be used during iteration. </td></tr>
- <tr><td class="paramname">info</td><td>Info filled and returned about the next directory. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle to be used during iteration. </td></tr>
+ <tr><td class="paramname">info</td><td>The info filled and returned about the next directory. </td></tr>
<tr><td class="paramname">base_level</td><td>Value of base_level returned by <a class="el" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin()</a>. </td></tr>
</table>
</dd>
</div><div class="memdoc">
<p >Set the flags for walk_tree. Currently available flags are in <a class="el" href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">cgroup_walk_type</a> enum. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle of the iterator. </td></tr>
+ <tr><td class="paramname">handle</td><td>The handle of the iterator. </td></tr>
<tr><td class="paramname">flags</td><td></td></tr>
</table>
</dd>
</tr>
</table>
</div><div class="memdoc">
-<p >Move given task (=thread) to to given control group. </p><dl class="params"><dt>Parameters</dt><dd>
+<p >Move given task (=thread) to given control group. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cgroup</td><td>Destination control group. </td></tr>
<tr><td class="paramname">tid</td><td>The task to move.</td></tr>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> CGFLAG_DELETE_RECURSIVE = 2,</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> CGFLAG_DELETE_EMPTY_ONLY = 4,</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> CGFLAG_DELETE_EMPTY_ONLY = 4,</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>};</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a>;</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"> 179</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *<a class="code hl_function" href="group__group__groups.html#ga6b60ab9187a883a2ae114f8d87191e27">cgroup_get_controller</a>(<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="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="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> </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__groups.html#gab20fdb1ae479f8baac482336abf73900">cgroup_free</a>(<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="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a>(<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="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a>(<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>, <span class="keywordtype">int</span> ignore_ownership);</div>
-<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>(<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="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">int</span> ignore_ownership);</div>
-<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a>(<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="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a>(<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>, <span class="keywordtype">int</span> ignore_migration);</div>
-<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a>(<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>, <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>(<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="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *dst, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *src);</div>
-<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroup_a, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroup_b);</div>
-<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgca,</div>
-<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgcb);</div>
-<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a>(<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>, uid_t tasks_uid, gid_t tasks_gid,</div>
-<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> uid_t control_uid, gid_t control_gid);</div>
-<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid</a>(<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>, uid_t *tasks_uid,</div>
-<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid);</div>
-<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a>(<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="l00390" name="l00390"></a><span class="lineno"> 390</span> mode_t control_dperm, mode_t control_fperm,</div>
-<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> mode_t task_fperm);</div>
-<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a>(<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>, <span class="keywordtype">int</span> ignore_ownership);</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>(<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="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span> ignore_ownership);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a>(<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="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a>(<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>, <span class="keywordtype">int</span> ignore_migration);</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a>(<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>, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>(<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="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *dst, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *src);</div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroup_a, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroup_b);</div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgca,</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgcb);</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a>(<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>, uid_t tasks_uid, gid_t tasks_gid,</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> uid_t control_uid, gid_t control_gid);</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid</a>(<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>, uid_t *tasks_uid,</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> gid_t *tasks_gid, uid_t *control_uid,</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> gid_t *control_gid);</div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a>(<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="l00389" name="l00389"></a><span class="lineno"> 389</span> mode_t control_dperm, mode_t control_fperm,</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> mode_t task_fperm);</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> </div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087">cgroup_add_value_int64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</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> *name, int64_t value);</div>
-<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
-<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
-<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526">cgroup_get_value_int64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t *value);</div>
-<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t *value);</div>
-<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> *value);</div>
-<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
-<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
-<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7">cgroup_set_value_bool</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
-<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller);</div>
-<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span><span class="keywordtype">char</span> *<a class="code hl_function" href="group__group__groups.html#ga9d01743fd3f97014e08fc67149ec5f0b">cgroup_get_value_name</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller, <span class="keywordtype">int</span> index);</div>
-<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2">cgroup_get_procs</a>(<span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *controller, pid_t **pids, <span class="keywordtype">int</span> *size);</div>
-<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a>(<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>, mode_t dir_mode,</div>
-<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <span class="keywordtype">int</span> dirm_change, mode_t file_mode, <span class="keywordtype">int</span> filem_change);</div>
-<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span><span class="keywordtype">char</span> *<a class="code hl_function" href="group__group__groups.html#gab60b1f528fbfb17d69a88f499c7071aa">cgroup_get_cgroup_name</a>(<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="l00593" name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span><span class="comment"> * Convert from one cgroup version to another version</span></div>
-<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span><span class="comment"> * @param out_cgroup Destination cgroup</span></div>
-<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span><span class="comment"> * @param out_version Destination cgroup version</span></div>
-<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span><span class="comment"> * @param in_cgroup Source cgroup</span></div>
-<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span><span class="comment"> * @param in_version Source cgroup version, only used if set to v1 or v2</span></div>
-<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span><span class="comment"> * @return 0 on success</span></div>
-<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span><span class="comment"> * ECGFAIL conversion failed</span></div>
-<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span><span class="comment"> * ECGCONTROLLERNOTEQUAL incorrect controller version provided</span></div>
-<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span><span class="keywordtype">int</span> cgroup_convert_cgroup(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> out_cgroup,</div>
-<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> <span class="keyword">enum</span> cg_version_t out_version,</div>
-<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> in_cgroup,</div>
-<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> <span class="keyword">enum</span> cg_version_t in_version);</div>
-<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> <span class="keyword">enum</span> cg_version_t * <span class="keyword">const</span> version);</div>
-<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> </div>
-<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span>} <span class="comment">/* extern "C" */</span></div>
-<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_GROUPS_H */</span><span class="preprocessor"></span></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> *name, int64_t value);</div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> </div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> </div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> **value);</div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526">cgroup_get_value_int64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t *value);</div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t *value);</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> </div>
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> *value);</div>
+<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> </div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> </div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
+<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7">cgroup_set_value_bool</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> </div>
+<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller);</div>
+<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> </div>
+<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span><span class="keywordtype">char</span> *<a class="code hl_function" href="group__group__groups.html#ga9d01743fd3f97014e08fc67149ec5f0b">cgroup_get_value_name</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller, <span class="keywordtype">int</span> index);</div>
+<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> </div>
+<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2">cgroup_get_procs</a>(<span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *controller, pid_t **pids, <span class="keywordtype">int</span> *size);</div>
+<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> </div>
+<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a>(<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>, mode_t dir_mode,</div>
+<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">int</span> dirm_change, mode_t file_mode, <span class="keywordtype">int</span> filem_change);</div>
+<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> </div>
+<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span><span class="keywordtype">char</span> *<a class="code hl_function" href="group__group__groups.html#gab60b1f528fbfb17d69a88f499c7071aa">cgroup_get_cgroup_name</a>(<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="l00600" name="l00600"></a><span class="lineno"> 600</span> </div>
+<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span><span class="comment"> * Convert from one cgroup version to another version</span></div>
+<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span><span class="comment"> * @param out_cgroup Destination cgroup</span></div>
+<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span><span class="comment"> * @param out_version Destination cgroup version</span></div>
+<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span><span class="comment"> * @param in_cgroup Source cgroup</span></div>
+<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span><span class="comment"> * @param in_version Source cgroup version, only used if set to v1 or v2</span></div>
+<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span><span class="comment"> * @return 0 on success</span></div>
+<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span><span class="comment"> * ECGFAIL conversion failed</span></div>
+<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span><span class="comment"> * ECGCONTROLLERNOTEQUAL incorrect controller version provided</span></div>
+<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span><span class="keywordtype">int</span> cgroup_convert_cgroup(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> out_cgroup,</div>
+<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> <span class="keyword">enum</span> cg_version_t out_version,</div>
+<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> in_cgroup,</div>
+<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> <span class="keyword">enum</span> cg_version_t in_version);</div>
+<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> </div>
+<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> <span class="keyword">enum</span> cg_version_t * <span class="keyword">const</span> version);</div>
+<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> </div>
+<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span>} <span class="comment">/* extern "C" */</span></div>
+<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> </div>
+<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</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:5624</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="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>};</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keyword">const</span> <span class="keywordtype">char</span> *base_path, <span class="keywordtype">int</span> depth,</div>
-<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__file__info.html">cgroup_file_info</a> *info,</div>
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> *base_level);</div>
-<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1">cgroup_walk_tree_next</a>(<span class="keywordtype">int</span> depth, <span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__file__info.html">cgroup_file_info</a> *info, <span class="keywordtype">int</span> base_level);</div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8">cgroup_walk_tree_set_flags</a>(<span class="keywordtype">void</span> **handle, <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controller, <span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name, <span class="keywordtype">void</span> **handle, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> max);</div>
-<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a>(<span class="keywordtype">void</span> **handle, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> max);</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="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga55d2eac2af703794651d344c073566f5"> 231</a></span><span class="preprocessor">#define CG_VALUE_MAX 100</span></div>
-<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="structcgroup__stat.html"> 235</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__stat.html">cgroup_stat</a> {</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
-<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">char</span> value[<a class="code hl_define" href="group__group__iterators.html#ga55d2eac2af703794651d344c073566f5">CG_VALUE_MAX</a>];</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> </div>
-<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de">cgroup_read_stats_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__stat.html">cgroup_stat</a> *stat);</div>
-<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__stat.html">cgroup_stat</a> *stat);</div>
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb">cgroup_read_stats_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gad7218154192f733120e1025cc19d0a36">cgroup_get_task_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_struct" href="structcgroup.html">cgroup</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> pid_t *pid);</div>
-<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e">cgroup_get_task_next</a>(<span class="keywordtype">void</span> **handle, pid_t *pid);</div>
-<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaeb955e5f4da551268380b1271d478816">cgroup_get_task_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html"> 313</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__mount__point.html">cgroup_mount_point</a> {</div>
-<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100"> 315</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100">name</a>[FILENAME_MAX];</div>
-<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e"> 317</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e">path</a>[FILENAME_MAX];</div>
-<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span>};</div>
-<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44">cgroup_get_controller_begin</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__mount__point.html">cgroup_mount_point</a> *info);</div>
-<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d">cgroup_get_controller_next</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__mount__point.html">cgroup_mount_point</a> *info);</div>
-<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c">cgroup_get_controller_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"><a class="line" href="structcontroller__data.html"> 357</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcontroller__data.html">controller_data</a> {</div>
-<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18"> 359</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18">name</a>[FILENAME_MAX];</div>
-<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4"> 365</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4">hierarchy</a>;</div>
-<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb"> 367</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb">num_cgroups</a>;</div>
-<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e"> 369</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e">enabled</a>;</div>
-<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span>};</div>
-<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e">cgroup_get_all_controller_begin</a>(<span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcontroller__data.html">controller_data</a> *info);</div>
-<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809">cgroup_get_all_controller_next</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcontroller__data.html">controller_data</a> *info);</div>
-<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8">cgroup_get_all_controller_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789">cgroup_get_subsys_mount_point_next</a>(<span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end</a>(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span>} <span class="comment">/* extern "C" */</span></div>
-<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_ITERATORS_H */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__file__info.html">cgroup_file_info</a> *info,</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> *base_level);</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1">cgroup_walk_tree_next</a>(<span class="keywordtype">int</span> depth, <span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__file__info.html">cgroup_file_info</a> *info, <span class="keywordtype">int</span> base_level);</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8">cgroup_walk_tree_set_flags</a>(<span class="keywordtype">void</span> **handle, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controller, <span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name, <span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> max);</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a>(<span class="keywordtype">void</span> **handle, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> max);</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga55d2eac2af703794651d344c073566f5"> 233</a></span><span class="preprocessor">#define CG_VALUE_MAX 100</span></div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="structcgroup__stat.html"> 237</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__stat.html">cgroup_stat</a> {</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">char</span> value[<a class="code hl_define" href="group__group__iterators.html#ga55d2eac2af703794651d344c073566f5">CG_VALUE_MAX</a>];</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span>};</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de">cgroup_read_stats_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">void</span> **handle,</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__stat.html">cgroup_stat</a> *stat);</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__stat.html">cgroup_stat</a> *stat);</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="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb">cgroup_read_stats_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gad7218154192f733120e1025cc19d0a36">cgroup_get_task_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_struct" href="structcgroup.html">cgroup</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> pid_t *pid);</div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> </div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e">cgroup_get_task_next</a>(<span class="keywordtype">void</span> **handle, pid_t *pid);</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
+<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gaeb955e5f4da551268380b1271d478816">cgroup_get_task_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html"> 315</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__mount__point.html">cgroup_mount_point</a> {</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100"> 317</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100">name</a>[FILENAME_MAX];</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e"> 319</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e">path</a>[FILENAME_MAX];</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span>};</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44">cgroup_get_controller_begin</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__mount__point.html">cgroup_mount_point</a> *info);</div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> </div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d">cgroup_get_controller_next</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__mount__point.html">cgroup_mount_point</a> *info);</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c">cgroup_get_controller_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> </div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"><a class="line" href="structcontroller__data.html"> 359</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcontroller__data.html">controller_data</a> {</div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18"> 361</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18">name</a>[FILENAME_MAX];</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4"> 367</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4">hierarchy</a>;</div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb"> 369</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb">num_cgroups</a>;</div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e"> 371</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e">enabled</a>;</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span>};</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> </div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e">cgroup_get_all_controller_begin</a>(<span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcontroller__data.html">controller_data</a> *info);</div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809">cgroup_get_all_controller_next</a>(<span class="keywordtype">void</span> **handle, <span class="keyword">struct</span> <a class="code hl_struct" href="structcontroller__data.html">controller_data</a> *info);</div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8">cgroup_get_all_controller_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> </div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789">cgroup_get_subsys_mount_point_next</a>(<span class="keywordtype">void</span> **handle, <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> </div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end</a>(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</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 "C" */</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><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:4663</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:5535</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:4921</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:5849</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:5549</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:4636</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:231</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:5070</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:4749</div></div>
<div class="ttc" id="astructcgroup__file__info_html_a801424e68139c930e40ea24be4d96a68"><div class="ttname"><a href="structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68">cgroup_file_info::path</a></div><div class="ttdeci">const char * path</div><div class="ttdef"><b>Definition:</b> iterators.h:119</div></div>
<div class="ttc" id="astructcgroup__file__info_html_a955506601f440d05cb11e4ee6b455c55"><div class="ttname"><a href="structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55">cgroup_file_info::type</a></div><div class="ttdeci">enum cgroup_file_type type</div><div class="ttdef"><b>Definition:</b> iterators.h:117</div></div>
<div class="ttc" id="astructcgroup__file__info_html_ad56dca35266f0f5f5c2666b946d72709"><div class="ttname"><a href="structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709">cgroup_file_info::depth</a></div><div class="ttdeci">short depth</div><div class="ttdef"><b>Definition:</b> iterators.h:132</div></div>
-<div class="ttc" id="astructcgroup__mount__point_html"><div class="ttname"><a href="structcgroup__mount__point.html">cgroup_mount_point</a></div><div class="ttdef"><b>Definition:</b> iterators.h:313</div></div>
-<div class="ttc" id="astructcgroup__mount__point_html_a849ccf1e77fffd5d45304c6adf0d2100"><div class="ttname"><a href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100">cgroup_mount_point::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> iterators.h:315</div></div>
-<div class="ttc" id="astructcgroup__mount__point_html_ad1e89dfc02cfd7341e2296086a4f251e"><div class="ttname"><a href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e">cgroup_mount_point::path</a></div><div class="ttdeci">char path[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> iterators.h:317</div></div>
-<div class="ttc" id="astructcgroup__stat_html"><div class="ttname"><a href="structcgroup__stat.html">cgroup_stat</a></div><div class="ttdef"><b>Definition:</b> iterators.h:235</div></div>
+<div class="ttc" id="astructcgroup__mount__point_html"><div class="ttname"><a href="structcgroup__mount__point.html">cgroup_mount_point</a></div><div class="ttdef"><b>Definition:</b> iterators.h:315</div></div>
+<div class="ttc" id="astructcgroup__mount__point_html_a849ccf1e77fffd5d45304c6adf0d2100"><div class="ttname"><a href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100">cgroup_mount_point::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> iterators.h:317</div></div>
+<div class="ttc" id="astructcgroup__mount__point_html_ad1e89dfc02cfd7341e2296086a4f251e"><div class="ttname"><a href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e">cgroup_mount_point::path</a></div><div class="ttdeci">char path[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> iterators.h:319</div></div>
+<div class="ttc" id="astructcgroup__stat_html"><div class="ttname"><a href="structcgroup__stat.html">cgroup_stat</a></div><div class="ttdef"><b>Definition:</b> iterators.h:237</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="astructcontroller__data_html"><div class="ttname"><a href="structcontroller__data.html">controller_data</a></div><div class="ttdef"><b>Definition:</b> iterators.h:357</div></div>
-<div class="ttc" id="astructcontroller__data_html_a24be412cfb6c19f7a13a4bff9e55206e"><div class="ttname"><a href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e">controller_data::enabled</a></div><div class="ttdeci">int enabled</div><div class="ttdef"><b>Definition:</b> iterators.h:369</div></div>
-<div class="ttc" id="astructcontroller__data_html_a25e316f55473ca2b333b0d7e0ca644b4"><div class="ttname"><a href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4">controller_data::hierarchy</a></div><div class="ttdeci">int hierarchy</div><div class="ttdef"><b>Definition:</b> iterators.h:365</div></div>
-<div class="ttc" id="astructcontroller__data_html_a5474be4d8cc4553c94ca81c6a93f5a18"><div class="ttname"><a href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18">controller_data::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> iterators.h:359</div></div>
-<div class="ttc" id="astructcontroller__data_html_acd075c0bb48062bf720b68d0a30116eb"><div class="ttname"><a href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb">controller_data::num_cgroups</a></div><div class="ttdeci">int num_cgroups</div><div class="ttdef"><b>Definition:</b> iterators.h:367</div></div>
+<div class="ttc" id="astructcontroller__data_html"><div class="ttname"><a href="structcontroller__data.html">controller_data</a></div><div class="ttdef"><b>Definition:</b> iterators.h:359</div></div>
+<div class="ttc" id="astructcontroller__data_html_a24be412cfb6c19f7a13a4bff9e55206e"><div class="ttname"><a href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e">controller_data::enabled</a></div><div class="ttdeci">int enabled</div><div class="ttdef"><b>Definition:</b> iterators.h:371</div></div>
+<div class="ttc" id="astructcontroller__data_html_a25e316f55473ca2b333b0d7e0ca644b4"><div class="ttname"><a href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4">controller_data::hierarchy</a></div><div class="ttdeci">int hierarchy</div><div class="ttdef"><b>Definition:</b> iterators.h:367</div></div>
+<div class="ttc" id="astructcontroller__data_html_a5474be4d8cc4553c94ca81c6a93f5a18"><div class="ttname"><a href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18">controller_data::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> iterators.h:361</div></div>
+<div class="ttc" id="astructcontroller__data_html_acd075c0bb48062bf720b68d0a30116eb"><div class="ttname"><a href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb">controller_data::num_cgroups</a></div><div class="ttdeci">int num_cgroups</div><div class="ttdef"><b>Definition:</b> iterators.h:369</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>};</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="keyword">typedef</span> void (*cgroup_logger_callback)(<span class="keywordtype">void</span> *userdata, <span class="keywordtype">int</span> level,</div>
-<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, va_list ap);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, va_list ap);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0">cgroup_set_logger</a>(cgroup_logger_callback logger, <span class="keywordtype">int</span> loglevel,</div>
-<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> *userdata);</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> *userdata);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7">cgroup_set_default_logger</a>(<span class="keywordtype">int</span> loglevel);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__group__log.html#gab514ad5d83422ddfe479bdf651e80958">cgroup_log</a>(<span class="keywordtype">int</span> loglevel, <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, ...);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code hl_function" href="group__group__log.html#gaa364a06aee0e99228a1e6a26b25a9794">cgroup_parse_log_level_str</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *levelstr);</div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span>} <span class="comment">/* extern "C" */</span></div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_LOG_H */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span>} <span class="comment">/* extern "C" */</span></div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_LOG_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="agroup__group__log_html_ga76d7032206f9b9d1c0be1a71a68c43d0"><div class="ttname"><a href="group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0">cgroup_set_logger</a></div><div class="ttdeci">void cgroup_set_logger(cgroup_logger_callback logger, int loglevel, void *userdata)</div><div class="ttdef"><b>Definition:</b> log.c:42</div></div>
<div class="ttc" id="agroup__group__log_html_ga98b7aea5d23411e70c7e3da54d90233a"><div class="ttname"><a href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">cgroup_log_level</a></div><div class="ttdeci">cgroup_log_level</div><div class="ttdef"><b>Definition:</b> log.h:73</div></div>
<div class="ttc" id="agroup__group__log_html_gaa364a06aee0e99228a1e6a26b25a9794"><div class="ttname"><a href="group__group__log.html#gaa364a06aee0e99228a1e6a26b25a9794">cgroup_parse_log_level_str</a></div><div class="ttdeci">int cgroup_parse_log_level_str(const char *levelstr)</div><div class="ttdef"><b>Definition:</b> log.c:56</div></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab">cgroup_attach_task_pid</a>(<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>, pid_t tid);</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, pid_t pid,</div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controllers[]);</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controllers[]);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e">cgroup_get_current_controller_path</a>(pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">char</span> **current_path);</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">char</span> **current_path);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d">cgroup_init_rules_cache</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2">cgroup_change_all_cgroups</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea">cgroup_change_cgroup_flags</a>(uid_t uid, gid_t gid,</div>
-<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *procname, pid_t pid, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *procname, pid_t pid, <span class="keywordtype">int</span> flags);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a>(uid_t uid, gid_t gid,</div>
-<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> pid_t pid, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> pid_t pid, <span class="keywordtype">int</span> flags);</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be">cgroup_change_cgroup_uid_gid</a>(uid_t uid, gid_t gid, pid_t pid);</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include "config.h"</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include <libcgroup.h></span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include "config.h"</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include "../libcgroup-internal.h"</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define cgroup_err(x...) cgroup_log(CGROUP_LOG_ERROR, "Error: "</span> x)</div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define cgroup_warn(x...) cgroup_log(CGROUP_LOG_WARNING, "Warning: "</span> x)</div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#define cgroup_info(x...) cgroup_log(CGROUP_LOG_INFO, "Info: "</span> x)</div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define cgroup_dbg(x...) cgroup_log(CGROUP_LOG_DEBUG, x)</span></div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structcgroup__group__spec.html"> 28</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__group__spec.html">cgroup_group_spec</a> {</div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">char</span> *controllers[CG_CONTROLLER_MAX];</div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>};</div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="structcgroup__string__list.html"> 37</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> {</div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">char</span> **items;</div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">int</span> size;</div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span> count;</div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>};</div>
-<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keywordtype">int</span> parse_cgroup_spec(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__group__spec.html">cgroup_group_spec</a> **cdptr, <span class="keywordtype">char</span> *optarg,</div>
-<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> capacity);</div>
-<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keywordtype">void</span> cgroup_free_group_spec(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__group__spec.html">cgroup_group_spec</a> *cl);</div>
-<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <libcgroup.h></span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#define cgroup_err(x...) cgroup_log(CGROUP_LOG_ERROR, "Error: "</span> x)</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define cgroup_warn(x...) cgroup_log(CGROUP_LOG_WARNING, "Warning: "</span> x)</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#define cgroup_info(x...) cgroup_log(CGROUP_LOG_INFO, "Info: "</span> x)</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#define cgroup_dbg(x...) cgroup_log(CGROUP_LOG_DEBUG, x)</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="structcgroup__group__spec.html"> 30</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__group__spec.html">cgroup_group_spec</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">char</span> *controllers[CG_CONTROLLER_MAX];</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>};</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="structcgroup__string__list.html"> 38</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">char</span> **items;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span> size;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">int</span> count;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>};</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="keywordtype">int</span> parse_cgroup_spec(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__group__spec.html">cgroup_group_spec</a> **cdptr, <span class="keywordtype">char</span> *optarg,</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> capacity);</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="keywordtype">void</span> cgroup_free_group_spec(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__group__spec.html">cgroup_group_spec</a> *cl);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="keywordtype">int</span> cgroup_string_list_init(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list,</div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> initial_size);</div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="keywordtype">void</span> cgroup_string_list_free(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list);</div>
-<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="keywordtype">int</span> cgroup_string_list_add_item(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list,</div>
-<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *item);</div>
-<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keywordtype">int</span> cgroup_string_list_add_directory(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list,</div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">char</span> *dirname, <span class="keywordtype">char</span> *program_name);</div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="keywordtype">int</span> cgroup_string_list_init(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list,</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> initial_size);</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="keywordtype">void</span> cgroup_string_list_free(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list);</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="keywordtype">int</span> cgroup_string_list_add_item(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list,</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *item);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="keywordtype">int</span> cgroup_string_list_add_directory(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *list,</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">char</span> *dirname, <span class="keywordtype">char</span> *program_name);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="keywordtype">int</span> parse_mode(<span class="keywordtype">char</span> *<span class="keywordtype">string</span>, mode_t *pmode, <span class="keyword">const</span> <span class="keywordtype">char</span> *program_name);</div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="keywordtype">int</span> parse_uid_gid(<span class="keywordtype">char</span> *<span class="keywordtype">string</span>, uid_t *uid, gid_t *gid,</div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *program_name);</div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="keywordtype">int</span> parse_r_flag(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> program_name,</div>
-<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name_value_str,</div>
-<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcontrol__value.html">control_value</a> * <span class="keyword">const</span> name_value);</div>
-<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
-<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>} <span class="comment">/* extern "C" */</span></div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="preprocessor">#endif</span></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><span class="preprocessor">#endif </span><span class="comment">/* TOOLS_COMMON */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="astructcgroup__group__spec_html"><div class="ttname"><a href="structcgroup__group__spec.html">cgroup_group_spec</a></div><div class="ttdef"><b>Definition:</b> tools-common.h:28</div></div>
-<div class="ttc" id="astructcgroup__string__list_html"><div class="ttname"><a href="structcgroup__string__list.html">cgroup_string_list</a></div><div class="ttdef"><b>Definition:</b> tools-common.h:37</div></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="keywordtype">int</span> parse_mode(<span class="keywordtype">char</span> *<span class="keywordtype">string</span>, mode_t *pmode, <span class="keyword">const</span> <span class="keywordtype">char</span> *program_name);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="keywordtype">int</span> parse_uid_gid(<span class="keywordtype">char</span> *<span class="keywordtype">string</span>, uid_t *uid, gid_t *gid,</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *program_name);</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="keywordtype">int</span> parse_r_flag(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> program_name,</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name_value_str,</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcontrol__value.html">control_value</a> * <span class="keyword">const</span> name_value);</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span>} <span class="comment">/* extern "C" */</span></div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="preprocessor">#endif</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"> 138</span><span class="preprocessor">#endif </span><span class="comment">/* TOOLS_COMMON */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="astructcgroup__group__spec_html"><div class="ttname"><a href="structcgroup__group__spec.html">cgroup_group_spec</a></div><div class="ttdef"><b>Definition:</b> tools-common.h:30</div></div>
+<div class="ttc" id="astructcgroup__string__list_html"><div class="ttname"><a href="structcgroup__string__list.html">cgroup_string_list</a></div><div class="ttdef"><b>Definition:</b> tools-common.h:38</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 -->
<!-- start footer part -->
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keywordtype">int</span> cgroup_cgxget(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> ** cg,</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keywordtype">int</span> cgroup_cgxget(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> **cg,</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">enum</span> cg_version_t version, <span class="keywordtype">bool</span> ignore_unmappable);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="keywordtype">int</span> cgroup_cgxset(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> cg,</div>