]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
deploy: 7e30070e882f3b0ed1b72421cb6ea0a4e4c0d559
authordrakenclimber <drakenclimber@users.noreply.github.com>
Wed, 16 Mar 2022 14:36:46 +0000 (14:36 +0000)
committerdrakenclimber <drakenclimber@users.noreply.github.com>
Wed, 16 Mar 2022 14:36:46 +0000 (14:36 +0000)
16 files changed:
abstraction-common_8h_source.html
abstraction-map_8h_source.html
cgrulesengd_8h_source.html
config_8h_source.html
error_8h_source.html
group__group__groups.html
group__group__iterators.html
group__group__log.html
groups_8h_source.html
iterators_8h_source.html
libcgroup-internal_8h_source.html
libcgroup_8h_source.html
log_8h_source.html
tasks_8h_source.html
tools-common_8h_source.html
tools_8h_source.html

index cc456c25fd07299e8e1f477da9ca35dd900e48b1..10887f6e8c1949e095a3b2b4f0cf03109f0f59e9 100644 (file)
@@ -69,103 +69,90 @@ $(function() {
   <div class="headertitle"><div class="title">abstraction-common.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> * This library is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License as</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> * This library is distributed in the hope that it will be useful, but WITHOUT</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment"> * for more details.</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment"> * along with this library; if not, see &lt;http://www.gnu.org/licenses&gt;.</span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#ifndef __ABSTRACTION_COMMON</span></div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#define __ABSTRACTION_COMMON</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &quot;config.h&quot;</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="preprocessor">#include &lt;libcgroup.h&gt;</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &quot;libcgroup-internal.h&quot;</span></div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keywordtype">int</span> cgroup_strtol(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_str, <span class="keywordtype">int</span> base,</div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>          <span class="keywordtype">long</span> * <span class="keyword">const</span> out_value);</div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
-<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="keywordtype">int</span> cgroup_convert_int(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
-<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>               <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="keywordtype">int</span> cgroup_convert_name_only(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</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> out_setting,</div>
-<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>                 <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
-<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="keywordtype">int</span> cgroup_convert_passthrough(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>                   <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</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> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>                   <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span> </div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="keywordtype">int</span> cgroup_convert_unmappable(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
-<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>                  <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
-<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span><span class="comment">/* cpu */</span></div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span><span class="keywordtype">int</span> cgroup_convert_cpu_nto1(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> out_cgc,</div>
-<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>                <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> in_cgc);</div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef __ABSTRACTION_COMMON</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#define __ABSTRACTION_COMMON</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#include &quot;config.h&quot;</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &lt;libcgroup.h&gt;</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include &quot;libcgroup-internal.h&quot;</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keywordtype">int</span> cgroup_strtol(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_str, <span class="keywordtype">int</span> base,</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>          <span class="keywordtype">long</span> * <span class="keyword">const</span> out_value);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keywordtype">int</span> cgroup_convert_int(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>               <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="keywordtype">int</span> cgroup_convert_name_only(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>                 <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="keywordtype">int</span> cgroup_convert_passthrough(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>                   <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>                   <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>                   <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span><span class="keywordtype">int</span> cgroup_convert_unmappable(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>                  <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<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><span class="comment">/* cpu */</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="keywordtype">int</span> cgroup_convert_cpu_nto1(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> out_cgc,</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>                <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> in_cgc);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span><span class="keywordtype">int</span> cgroup_convert_cpu_quota_to_max(</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="keywordtype">int</span> cgroup_convert_cpu_period_to_max(</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
 <div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span> </div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="keywordtype">int</span> cgroup_convert_cpu_quota_to_max(</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="keywordtype">int</span> cgroup_convert_cpu_max_to_quota(</div>
 <div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
 <div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
 <div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
 <div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
 <div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span><span class="keywordtype">int</span> cgroup_convert_cpu_period_to_max(</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span><span class="keywordtype">int</span> cgroup_convert_cpu_max_to_period(</div>
 <div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
 <div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</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> * <span class="keyword">const</span> out_setting,</div>
 <div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</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="keywordtype">int</span> cgroup_convert_cpu_max_to_quota(</div>
-<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
-<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</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> cgroup_convert_cpu_max_to_period(</div>
-<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</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> in_value,</div>
-<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</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="comment">/* cpuset */</span></div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span><span class="keywordtype">int</span> cgroup_convert_cpuset_to_exclusive(</div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
-<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
-<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span><span class="keywordtype">int</span> cgroup_convert_cpuset_to_partition(</div>
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span> </div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
-<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span> </div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span><span class="preprocessor">#endif </span><span class="comment">/* __ABSTRACTION_COMMON */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:108</div></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span><span class="comment">/* cpuset */</span></div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span><span class="keywordtype">int</span> cgroup_convert_cpuset_to_exclusive(</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</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> cgroup_convert_cpuset_to_partition(</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="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</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="l00135" name="l00135"></a><span class="lineno">  135</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span><span class="preprocessor">#endif </span><span class="comment">/* __ABSTRACTION_COMMON */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:101</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index c390e49f8d15a6d407d4a3c1e0ed8f9f65df650a..ae7f8cee699c7595e3d4671246efe29f2332740a 100644 (file)
@@ -69,54 +69,41 @@ $(function() {
   <div class="headertitle"><div class="title">abstraction-map.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> * This library is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License as</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> * This library is distributed in the hope that it will be useful, but WITHOUT</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment"> * for more details.</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment"> * along with this library; if not, see &lt;http://www.gnu.org/licenses&gt;.</span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#ifndef __ABSTRACTION_MAP</span></div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#define __ABSTRACTION_MAP</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structcgroup__abstraction__map.html">   28</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> {</div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>    <span class="comment">/* if the conversion isn&#39;t a one-to-one mapping or the mathematical</span></div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="comment">     * conversion is unique, create a custom conversion function.</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="comment">     */</span></div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    int (*cgroup_convert)(<span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>                  <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    <span class="keywordtype">char</span> *in_setting;</div>
-<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    <span class="keywordtype">void</span> *in_dflt;</div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keywordtype">char</span> *out_setting;</div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>    <span class="keywordtype">void</span> *out_dflt;</div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</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="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> cgroup_v1_to_v2_map[];</div>
-<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> cgroup_v1_to_v2_map_sz;</div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> cgroup_v2_to_v1_map[];</div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> cgroup_v2_to_v1_map_sz;</div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
-<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="preprocessor">#endif </span><span class="comment">/* __ABSTRACTION_MAP */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="astructcgroup__abstraction__map_html"><div class="ttname"><a href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a></div><div class="ttdef"><b>Definition:</b> abstraction-map.h:28</div></div>
-<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:108</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef __ABSTRACTION_MAP</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#define __ABSTRACTION_MAP</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="structcgroup__abstraction__map.html">   16</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> {</div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span>    <span class="comment">/* if the conversion isn&#39;t a one-to-one mapping or the mathematical</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment">     * conversion is unique, create a custom conversion function.</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment">     */</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span>    int (*cgroup_convert)(<span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span>                  <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span>    <span class="keywordtype">char</span> *in_setting;</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span>    <span class="keywordtype">void</span> *in_dflt;</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>    <span class="keywordtype">char</span> *out_setting;</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    <span class="keywordtype">void</span> *out_dflt;</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</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="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> cgroup_v1_to_v2_map[];</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> cgroup_v1_to_v2_map_sz;</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><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> cgroup_v2_to_v1_map[];</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> cgroup_v2_to_v1_map_sz;</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">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#endif</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">#endif </span><span class="comment">/* __ABSTRACTION_MAP */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="astructcgroup__abstraction__map_html"><div class="ttname"><a href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a></div><div class="ttdef"><b>Definition:</b> abstraction-map.h:16</div></div>
+<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:101</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 0e45fee2b20aa4d3af00f8e7f4dab230b69f8480..0eccea7508319a6f68b41226a79a798ae0f34efc 100644 (file)
@@ -69,80 +69,67 @@ $(function() {
   <div class="headertitle"><div class="title">cgrulesengd.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright Red Hat Inc. 2008</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * Author:      Steve Olivieri &lt;sjo@redhat.com&gt;</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> * This program is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"> * as published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * This program is distributed in the hope that it would be useful, but</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifndef _CGRULESENGD_H</span></div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#define _CGRULESENGD_H</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &lt;features.h&gt;</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">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &quot;config.h&quot;</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &quot;libcgroup.h&quot;</span></div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;linux/connector.h&gt;</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;linux/cn_proc.h&gt;</span></div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#ifndef _GNU_SOURCE</span></div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#define _GNU_SOURCE</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#endif</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><span class="preprocessor">#ifndef __USE_GNU</span></div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#define __USE_GNU</span></div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#endif</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="comment">/* The following ten macros are all for the Netlink code. */</span></div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#define SEND_MESSAGE_LEN (NLMSG_LENGTH(sizeof(struct cn_msg) + \</span></div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">    sizeof(enum proc_cn_mcast_op)))</span></div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#define RECV_MESSAGE_LEN (NLMSG_LENGTH(sizeof(struct cn_msg) + \</span></div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">    sizeof(struct proc_event)))</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 SEND_MESSAGE_SIZE (NLMSG_SPACE(SEND_MESSAGE_LEN))</span></div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="preprocessor">#define RECV_MESSAGE_SIZE (NLMSG_SPACE(RECV_MESSAGE_LEN))</span></div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="preprocessor">#define BUFF_SIZE (max(max(SEND_MESSAGE_SIZE, RECV_MESSAGE_SIZE), 1024))</span></div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="preprocessor">#define MIN_RECV_SIZE (min(SEND_MESSAGE_SIZE, RECV_MESSAGE_SIZE))</span></div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="preprocessor">#define PROC_CN_MCAST_LISTEN (1)</span></div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="preprocessor">#define PROC_CN_MCAST_IGNORE (2)</span></div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
-<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</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="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
-<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</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="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
-<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</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="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
-<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span><span class="keywordtype">int</span> cgre_handle_message(<span class="keyword">struct</span> cn_msg *cn_hdr);</div>
-<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span> </div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</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="l00101" name="l00101"></a><span class="lineno">  101</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="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef _CGRULESENGD_H</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#define _CGRULESENGD_H</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</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">&quot;C&quot;</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> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#include &quot;config.h&quot;</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &quot;libcgroup.h&quot;</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include &lt;linux/connector.h&gt;</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#include &lt;linux/cn_proc.h&gt;</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_rules(<span class="keywordtype">int</span> signum);</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_flash_templates(<span class="keywordtype">int</span> signum);</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="l00122" name="l00122"></a><span class="lineno">  122</span><span class="keywordtype">void</span> cgre_catch_term(<span class="keywordtype">int</span> signum);</div>
-<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span> </div>
-<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="preprocessor">#endif</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="preprocessor">#endif </span><span class="comment">/* _CGRULESENGD_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</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 &quot;C&quot; */</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><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 21edb6a2847f7fa6f8bddd28b7c467b3cdb3505a..1c26f52bd96a15f70101c4471fa5e3f75f89df78 100644 (file)
@@ -69,59 +69,60 @@ $(function() {
   <div class="headertitle"><div class="title">config.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="preprocessor">#ifndef _LIBCGROUP_CONFIG_H</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#define _LIBCGROUP_CONFIG_H</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga8adfaca013333acf922a167f55b84140">cgroup_config_load_config</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pathname);</div>
-<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga85b285712354faca495193075035938d">cgroup_unload_cgroups</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
-<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085">cgroup_config_unload_config</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pathname, <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
-<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea">cgroup_config_set_default</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *new_default);</div>
-<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span> </div>
-<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00">cgroup_init_templates_cache</a>(<span class="keywordtype">char</span> *pathname);</div>
-<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span> </div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5">cgroup_reload_cached_templates</a>(<span class="keywordtype">char</span> *pathname);</div>
-<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
-<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga924860998c37da53cababe24163fc89b">cgroup_load_templates_cache_from_files</a>(<span class="keywordtype">int</span> *file_index);</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="keyword">struct </span><a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a>;</div>
-<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422">cgroup_templates_cache_set_source_files</a>(</div>
-<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *tmpl_files);</div>
-<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2">cgroup_config_create_template_group</a>(</div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>    <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">char</span> *template_name,</div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>    <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</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 &quot;C&quot; */</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">/*_LIBCGROUP_CONFIG_H*/</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__config_html_ga2d3a252b2c0c61c8f64cb1fc41e370ea"><div class="ttname"><a href="group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea">cgroup_config_set_default</a></div><div class="ttdeci">int cgroup_config_set_default(struct cgroup *new_default)</div><div class="ttdef"><b>Definition:</b> config.c:1486</div></div>
-<div class="ttc" id="agroup__group__config_html_ga6f8c41bb920565e674787fe6dabaef00"><div class="ttname"><a href="group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00">cgroup_init_templates_cache</a></div><div class="ttdeci">int cgroup_init_templates_cache(char *pathname)</div><div class="ttdef"><b>Definition:</b> config.c:1574</div></div>
-<div class="ttc" id="agroup__group__config_html_ga72066260cd31ceed7ecc1a648eba37f2"><div class="ttname"><a href="group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2">cgroup_config_create_template_group</a></div><div class="ttdeci">int cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags)</div><div class="ttdef"><b>Definition:</b> config.c:1799</div></div>
-<div class="ttc" id="agroup__group__config_html_ga85b285712354faca495193075035938d"><div class="ttname"><a href="group__group__config.html#ga85b285712354faca495193075035938d">cgroup_unload_cgroups</a></div><div class="ttdeci">int cgroup_unload_cgroups(void)</div><div class="ttdef"><b>Definition:</b> config.c:1396</div></div>
-<div class="ttc" id="agroup__group__config_html_ga89fe0d7943b29cc10d57b07abcdfa7b5"><div class="ttname"><a href="group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5">cgroup_reload_cached_templates</a></div><div class="ttdeci">int cgroup_reload_cached_templates(char *pathname)</div><div class="ttdef"><b>Definition:</b> config.c:1509</div></div>
-<div class="ttc" id="agroup__group__config_html_ga8adfaca013333acf922a167f55b84140"><div class="ttname"><a href="group__group__config.html#ga8adfaca013333acf922a167f55b84140">cgroup_config_load_config</a></div><div class="ttdeci">int cgroup_config_load_config(const char *pathname)</div><div class="ttdef"><b>Definition:</b> config.c:1130</div></div>
-<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:1715</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:1642</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:1266</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:45</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:116</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#ifndef _LIBCGROUP_CONFIG_H</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="preprocessor">#define _LIBCGROUP_CONFIG_H</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</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">&quot;C&quot;</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> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga8adfaca013333acf922a167f55b84140">cgroup_config_load_config</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pathname);</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga85b285712354faca495193075035938d">cgroup_unload_cgroups</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </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__config.html#gaff77affa0b80ccf507b4b46cc0a8c085">cgroup_config_unload_config</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pathname, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea">cgroup_config_set_default</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *new_default);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00">cgroup_init_templates_cache</a>(<span class="keywordtype">char</span> *pathname);</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5">cgroup_reload_cached_templates</a>(<span class="keywordtype">char</span> *pathname);</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga924860998c37da53cababe24163fc89b">cgroup_load_templates_cache_from_files</a>(<span class="keywordtype">int</span> *file_index);</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="keyword">struct </span><a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a>;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422">cgroup_templates_cache_set_source_files</a>(</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>    <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__string__list.html">cgroup_string_list</a> *tmpl_files);</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2">cgroup_config_create_template_group</a>(</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>    <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">char</span> *template_name,</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>    <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</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 &quot;C&quot; */</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">/*_LIBCGROUP_CONFIG_H*/</span><span class="preprocessor"></span></div>
+<div class="ttc" id="agroup__group__config_html_ga2d3a252b2c0c61c8f64cb1fc41e370ea"><div class="ttname"><a href="group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea">cgroup_config_set_default</a></div><div class="ttdeci">int cgroup_config_set_default(struct cgroup *new_default)</div><div class="ttdef"><b>Definition:</b> config.c:1479</div></div>
+<div class="ttc" id="agroup__group__config_html_ga6f8c41bb920565e674787fe6dabaef00"><div class="ttname"><a href="group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00">cgroup_init_templates_cache</a></div><div class="ttdeci">int cgroup_init_templates_cache(char *pathname)</div><div class="ttdef"><b>Definition:</b> config.c:1567</div></div>
+<div class="ttc" id="agroup__group__config_html_ga72066260cd31ceed7ecc1a648eba37f2"><div class="ttname"><a href="group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2">cgroup_config_create_template_group</a></div><div class="ttdeci">int cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags)</div><div class="ttdef"><b>Definition:</b> config.c:1792</div></div>
+<div class="ttc" id="agroup__group__config_html_ga85b285712354faca495193075035938d"><div class="ttname"><a href="group__group__config.html#ga85b285712354faca495193075035938d">cgroup_unload_cgroups</a></div><div class="ttdeci">int cgroup_unload_cgroups(void)</div><div class="ttdef"><b>Definition:</b> config.c:1389</div></div>
+<div class="ttc" id="agroup__group__config_html_ga89fe0d7943b29cc10d57b07abcdfa7b5"><div class="ttname"><a href="group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5">cgroup_reload_cached_templates</a></div><div class="ttdeci">int cgroup_reload_cached_templates(char *pathname)</div><div class="ttdef"><b>Definition:</b> config.c:1502</div></div>
+<div class="ttc" id="agroup__group__config_html_ga8adfaca013333acf922a167f55b84140"><div class="ttname"><a href="group__group__config.html#ga8adfaca013333acf922a167f55b84140">cgroup_config_load_config</a></div><div class="ttdeci">int cgroup_config_load_config(const char *pathname)</div><div class="ttdef"><b>Definition:</b> config.c:1123</div></div>
+<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_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 -->
 <hr class="footer"/><address class="footer"><small>
index f5d73b324047ebc188012914aa137af6e4e78b89..f52e9ce2d2791d3fd06423fd6f424463c330f878 100644 (file)
@@ -69,77 +69,78 @@ $(function() {
   <div class="headertitle"><div class="title">error.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="preprocessor">#ifndef _LIBCGROUP_ERROR_H</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#define _LIBCGROUP_ERROR_H</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">enum</span> {</div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    ECGROUPNOTCOMPILED = 50000,</div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    ECGROUPNOTMOUNTED,      <span class="comment">/* 50001 */</span></div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    ECGROUPNOTEXIST,        <span class="comment">/* 50002 */</span></div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    ECGROUPNOTCREATED,      <span class="comment">/* 50003 */</span></div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    ECGROUPSUBSYSNOTMOUNTED,    <span class="comment">/* 50004 */</span></div>
-<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    ECGROUPNOTOWNER,        <span class="comment">/* 50005 */</span></div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">   39</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">ECGROUPMULTIMOUNTED</a>,        <span class="comment">/* 50006 */</span></div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    <span class="comment">/* This is the stock error. Default error. @todo really? */</span></div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>    ECGROUPNOTALLOWED,      <span class="comment">/* 50007 */</span></div>
-<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    ECGMAXVALUESEXCEEDED,       <span class="comment">/* 50008 */</span></div>
-<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    ECGCONTROLLEREXISTS,        <span class="comment">/* 50009 */</span></div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    ECGVALUEEXISTS,         <span class="comment">/* 50010 */</span></div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>    ECGINVAL,           <span class="comment">/* 50011 */</span></div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    ECGCONTROLLERCREATEFAILED,  <span class="comment">/* 50012 */</span></div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    ECGFAIL,            <span class="comment">/* 50013 */</span></div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>    ECGROUPNOTINITIALIZED,      <span class="comment">/* 50014 */</span></div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>    ECGROUPVALUENOTEXIST,       <span class="comment">/* 50015 */</span></div>
-<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193">   55</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193">ECGOTHER</a>,           <span class="comment">/* 50016 */</span></div>
-<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>    ECGROUPNOTEQUAL,        <span class="comment">/* 50017 */</span></div>
-<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>    ECGCONTROLLERNOTEQUAL,      <span class="comment">/* 50018 */</span></div>
-<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39">   59</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39">ECGROUPPARSEFAIL</a>,       <span class="comment">/* 50019 */</span></div>
-<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21">   61</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21">ECGROUPNORULES</a>,         <span class="comment">/* 50020 */</span></div>
-<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>    ECGMOUNTFAIL,           <span class="comment">/* 50021 */</span></div>
-<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">   67</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a> = 50023,</div>
-<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0">   69</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0">ECGCONFIGPARSEFAIL</a>,     <span class="comment">/* 50024 */</span></div>
-<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>    ECGNAMESPACEPATHS,      <span class="comment">/* 50025 */</span></div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>    ECGNAMESPACECONTROLLER,     <span class="comment">/* 50026 */</span></div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    ECGMOUNTNAMESPACE,      <span class="comment">/* 50027 */</span></div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>    ECGROUPUNSUPP,          <span class="comment">/* 50028 */</span></div>
-<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>    ECGCANTSETVALUE,        <span class="comment">/* 50029 */</span></div>
-<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">   76</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">ECGNONEMPTY</a>,            <span class="comment">/* 50030 */</span></div>
-<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">   78</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a>,        <span class="comment">/* 50031 */</span></div>
-<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>};</div>
-<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
-<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="group__group__errors.html#ga515eba7218b187ffe263b7d9ecb3ac1b">   84</a></span><span class="preprocessor">#define ECGRULESPARSEFAIL   ECGROUPPARSEFAIL</span></div>
-<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </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> *<a class="code hl_function" href="group__group__errors.html#ga7ee3be57533b25d597a2bfd19819307a">cgroup_strerror</a>(<span class="keywordtype">int</span> code);</div>
-<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</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__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</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="l00106" name="l00106"></a><span class="lineno">  106</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
-<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_INIT_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__errors_html_ga29057c4aec05bef2b6bf2855ae5d5d46"><div class="ttname"><a href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a></div><div class="ttdeci">int cgroup_get_last_errno(void)</div><div class="ttdef"><b>Definition:</b> api.c:4593</div></div>
-<div class="ttc" id="agroup__group__errors_html_ga7ee3be57533b25d597a2bfd19819307a"><div class="ttname"><a href="group__group__errors.html#ga7ee3be57533b25d597a2bfd19819307a">cgroup_strerror</a></div><div class="ttdeci">const char * cgroup_strerror(int code)</div><div class="ttdef"><b>Definition:</b> api.c:4582</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">ECGROUPMULTIMOUNTED</a></div><div class="ttdeci">@ ECGROUPMULTIMOUNTED</div><div class="ttdef"><b>Definition:</b> error.h:39</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a></div><div class="ttdeci">@ ECGEOF</div><div class="ttdef"><b>Definition:</b> error.h:67</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a></div><div class="ttdeci">@ ECGNOVERSIONCONVERT</div><div class="ttdef"><b>Definition:</b> error.h:78</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21">ECGROUPNORULES</a></div><div class="ttdeci">@ ECGROUPNORULES</div><div class="ttdef"><b>Definition:</b> error.h:61</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193">ECGOTHER</a></div><div class="ttdeci">@ ECGOTHER</div><div class="ttdef"><b>Definition:</b> error.h:55</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">ECGNONEMPTY</a></div><div class="ttdeci">@ ECGNONEMPTY</div><div class="ttdef"><b>Definition:</b> error.h:76</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39">ECGROUPPARSEFAIL</a></div><div class="ttdeci">@ ECGROUPPARSEFAIL</div><div class="ttdef"><b>Definition:</b> error.h:59</div></div>
-<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0">ECGCONFIGPARSEFAIL</a></div><div class="ttdeci">@ ECGCONFIGPARSEFAIL</div><div class="ttdef"><b>Definition:</b> error.h:69</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#ifndef _LIBCGROUP_ERROR_H</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="preprocessor">#define _LIBCGROUP_ERROR_H</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</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">&quot;C&quot;</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> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">enum</span> {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    ECGROUPNOTCOMPILED = 50000,</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    ECGROUPNOTMOUNTED,      <span class="comment">/* 50001 */</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    ECGROUPNOTEXIST,        <span class="comment">/* 50002 */</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    ECGROUPNOTCREATED,      <span class="comment">/* 50003 */</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    ECGROUPSUBSYSNOTMOUNTED,    <span class="comment">/* 50004 */</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    ECGROUPNOTOWNER,        <span class="comment">/* 50005 */</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">   40</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">ECGROUPMULTIMOUNTED</a>,        <span class="comment">/* 50006 */</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>    <span class="comment">/* This is the stock error. Default error. @todo really? */</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    ECGROUPNOTALLOWED,      <span class="comment">/* 50007 */</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    ECGMAXVALUESEXCEEDED,       <span class="comment">/* 50008 */</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    ECGCONTROLLEREXISTS,        <span class="comment">/* 50009 */</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>    ECGVALUEEXISTS,         <span class="comment">/* 50010 */</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    ECGINVAL,           <span class="comment">/* 50011 */</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    ECGCONTROLLERCREATEFAILED,  <span class="comment">/* 50012 */</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>    ECGFAIL,            <span class="comment">/* 50013 */</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>    ECGROUPNOTINITIALIZED,      <span class="comment">/* 50014 */</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>    ECGROUPVALUENOTEXIST,       <span class="comment">/* 50015 */</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193">   56</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193">ECGOTHER</a>,           <span class="comment">/* 50016 */</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>    ECGROUPNOTEQUAL,        <span class="comment">/* 50017 */</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>    ECGCONTROLLERNOTEQUAL,      <span class="comment">/* 50018 */</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39">   60</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39">ECGROUPPARSEFAIL</a>,       <span class="comment">/* 50019 */</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21">   62</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21">ECGROUPNORULES</a>,         <span class="comment">/* 50020 */</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>    ECGMOUNTFAIL,           <span class="comment">/* 50021 */</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">   68</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a> = 50023,</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0">   70</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0">ECGCONFIGPARSEFAIL</a>,     <span class="comment">/* 50024 */</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>    ECGNAMESPACEPATHS,      <span class="comment">/* 50025 */</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    ECGNAMESPACECONTROLLER,     <span class="comment">/* 50026 */</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>    ECGMOUNTNAMESPACE,      <span class="comment">/* 50027 */</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>    ECGROUPUNSUPP,          <span class="comment">/* 50028 */</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>    ECGCANTSETVALUE,        <span class="comment">/* 50029 */</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">   77</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">ECGNONEMPTY</a>,            <span class="comment">/* 50030 */</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">   79</a></span>    <a class="code hl_enumvalue" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a>,        <span class="comment">/* 50031 */</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>};</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="group__group__errors.html#ga515eba7218b187ffe263b7d9ecb3ac1b">   85</a></span><span class="preprocessor">#define ECGRULESPARSEFAIL   ECGROUPPARSEFAIL</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="group__group__errors.html#ga7ee3be57533b25d597a2bfd19819307a">cgroup_strerror</a>(<span class="keywordtype">int</span> code);</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_INIT_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="agroup__group__errors_html_ga29057c4aec05bef2b6bf2855ae5d5d46"><div class="ttname"><a href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a></div><div class="ttdeci">int cgroup_get_last_errno(void)</div><div class="ttdef"><b>Definition:</b> api.c:4586</div></div>
+<div class="ttc" id="agroup__group__errors_html_ga7ee3be57533b25d597a2bfd19819307a"><div class="ttname"><a href="group__group__errors.html#ga7ee3be57533b25d597a2bfd19819307a">cgroup_strerror</a></div><div class="ttdeci">const char * cgroup_strerror(int code)</div><div class="ttdef"><b>Definition:</b> api.c:4575</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def">ECGROUPMULTIMOUNTED</a></div><div class="ttdeci">@ ECGROUPMULTIMOUNTED</div><div class="ttdef"><b>Definition:</b> error.h:40</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a></div><div class="ttdeci">@ ECGEOF</div><div class="ttdef"><b>Definition:</b> error.h:68</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a></div><div class="ttdeci">@ ECGNOVERSIONCONVERT</div><div class="ttdef"><b>Definition:</b> error.h:79</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21">ECGROUPNORULES</a></div><div class="ttdeci">@ ECGROUPNORULES</div><div class="ttdef"><b>Definition:</b> error.h:62</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193">ECGOTHER</a></div><div class="ttdeci">@ ECGOTHER</div><div class="ttdef"><b>Definition:</b> error.h:56</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">ECGNONEMPTY</a></div><div class="ttdeci">@ ECGNONEMPTY</div><div class="ttdef"><b>Definition:</b> error.h:77</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39">ECGROUPPARSEFAIL</a></div><div class="ttdeci">@ ECGROUPPARSEFAIL</div><div class="ttdef"><b>Definition:</b> error.h:60</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0">ECGCONFIGPARSEFAIL</a></div><div class="ttdeci">@ ECGCONFIGPARSEFAIL</div><div class="ttdef"><b>Definition:</b> error.h:70</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index c3adb69d6caf8268de87d694391583e563facdc5..d32d820ebd5dc36088e0407d84b8d324897c7fc2 100644 (file)
@@ -87,9 +87,9 @@ Data Structures</h2></td></tr>
 </div><!-- fragment --> I.e. there is <code>cpu</code> and <code>cpuacct</code> controller mounted together in one hierarchy, with <code>foo</code> and <code>bar</code> groups. In addition, <code>freezer</code> is mounted as separate hierarchy, with only one <code>foo</code> group.</dd></dl>
 <dl class="section user"><dt></dt><dd>Following code creates <code>struct cgroup*</code> structure, which represents one group <code>cpu,cpuacct:/foo</code>: <div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *foo = <a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;foo&quot;</span>);</div>
 <div class="line"><a class="code hl_function" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a>(foo, <span class="stringliteral">&quot;cpu&quot;</span>);</div>
-<div class="ttc" id="agroup__group__groups_html_ga3929afd6ced9fe877613286b5f06cf8d"><div class="ttname"><a href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_add_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:59</div></div>
-<div class="ttc" id="agroup__group__groups_html_gad34c82ead174988d418f3dcb003aaca7"><div class="ttname"><a href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a></div><div class="ttdeci">struct cgroup * cgroup_new_cgroup(const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:46</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:116</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga3929afd6ced9fe877613286b5f06cf8d"><div class="ttname"><a href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_add_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:52</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad34c82ead174988d418f3dcb003aaca7"><div class="ttname"><a href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a></div><div class="ttdeci">struct cgroup * cgroup_new_cgroup(const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:39</div></div>
+<div class="ttc" id="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 --> Now, you can call e.g. <a class="el" href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup()</a> and the group is deleted from the hierarchy. You can note that it's enough to add only one controller to the group to fully identify a group in <code>cpu,cpuacct</code> hierarchy.</dd></dl>
 <dl class="section user"><dt></dt><dd>Following code creates <code>struct cgroup*</code> structure, which represents <b>two</b> groups, <code>cpu,cpuacct:/foo</code> and <code>freezer:/foo</code>: <div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *foo = <a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;foo&quot;</span>);</div>
 <div class="line"><a class="code hl_function" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a>(foo, <span class="stringliteral">&quot;cpu&quot;</span>);</div>
@@ -710,7 +710,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>cgroup_convert_cgroup<
 </div><div class="memdoc">
 <p >Physically create new control group in kernel, with all parameters and values copied from its parent group. The group is created in all hierarchies, where the parent group exists. I.e. following code creates subgroup in all hierarchies, because all of them have root (=parent) group. </p><div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *foo = <a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;foo&quot;</span>);</div>
 <div class="line"><a class="code hl_function" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>(foo, 0);</div>
-<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2771</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2764</div></div>
 </div><!-- fragment --> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>what is this good for? Why the list of controllers added by <a class="el" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller()</a> is not used, like in <a class="el" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup()</a>? I can't crate subgroup of root group in just one hierarchy with this function!</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -872,7 +872,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>cgroup_convert_cgroup<
 </div><div class="memdoc">
 <p >Read all information regarding the group from kernel. Based on name of the group, list of controllers and all parameters and their values are read from all hierarchies, where a group with given name exists. All existing controllers are replaced. I.e. following code will fill <code>root</code> with controllers from all hierarchies, because the root group is available in all of them. </p><div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *root = <a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;/&quot;</span>);</div>
 <div class="line"><a class="code hl_function" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>(root);</div>
-<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3321</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3314</div></div>
 </div><!-- fragment --><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>what is this function good for? Why is not considered only the list of controllers attached by <a class="el" href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller()</a>? What owners will return <a class="el" href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid()</a> if the group is in multiple hierarchies, each with different owner of tasks file?</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
index 92c5fe9bbb8dd2fe040582982e849159e6038dba..373ed1a7dc11a1991965f7774c2c2c59acf65a62 100644 (file)
@@ -191,7 +191,7 @@ Data Structures</h2></td></tr>
 <div class="line">    <span class="comment">// process the error here</span></div>
 <div class="line">}</div>
 <div class="line">iterator_name_end(&amp;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:67</div></div>
+<div class="ttc" id="agroup__group__errors_html_gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436"><div class="ttname"><a href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a></div><div class="ttdeci">@ ECGEOF</div><div class="ttdef"><b>Definition:</b> error.h:68</div></div>
 </div><!-- fragment --> </dd></dl>
 </li>
 </ul>
index 2b7215e2ec00663e5b86f4fe692132694fa182e0..87ec0956c4a2109b766736dfc63cf1fff128c796 100644 (file)
@@ -85,7 +85,7 @@ $(function() {
 <div class="line">    ...</div>
 <div class="line"> }</div>
 <div class="line"> ...</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:49</div></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><!-- fragment --> </dd></dl>
 </td></tr>
 <tr class="memitem:ga98b7aea5d23411e70c7e3da54d90233a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">cgroup_log_level</a> { <a class="el" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">CGROUP_LOG_ERROR</a> = 1
index c3e885c2da8b33f80134df5bd16ba350bf16ff3e..edcafe0eeb3b7e3cc127e1a5c3a028777668977b 100644 (file)
@@ -69,194 +69,195 @@ $(function() {
   <div class="headertitle"><div class="title">groups.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="preprocessor">#ifndef _LIBCGROUP_GROUPS_H</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#define _LIBCGROUP_GROUPS_H</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="keyword">enum</span> cg_version_t {</div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span>    CGROUP_UNK = 0,</div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span>    CGROUP_V1,</div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span>    CGROUP_V2,</div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span>    CGROUP_DISK = 0xFF,</div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</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">   28</span><span class="keyword">enum</span> cgroup_delete_flag {</div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    CGFLAG_DELETE_IGNORE_MIGRATION = 1,</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">   37</span>    CGFLAG_DELETE_RECURSIVE = 2,</div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    CGFLAG_DELETE_EMPTY_ONLY    = 4,</div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>};</div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a>;</div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a>;</div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> </div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="group__group__groups.html#gad4ffad2eccf9fcbfa8a551e269e0ad58">  131</a></span><span class="preprocessor">#define NO_PERMS (-1U)</span></div>
-<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span> </div>
-<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="group__group__groups.html#ga2a7954a987e3fbf8eabcc94cf381353e">  136</a></span><span class="preprocessor">#define NO_UID_GID (-1U)</span></div>
-<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *<a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span> </div>
-<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</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#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_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="l00159" name="l00159"></a><span class="lineno">  159</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> </div>
-<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_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="l00169" name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#ifndef _LIBCGROUP_GROUPS_H</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="preprocessor">#define _LIBCGROUP_GROUPS_H</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="keyword">enum</span> cg_version_t {</div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span>    CGROUP_UNK = 0,</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span>    CGROUP_V1,</div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span>    CGROUP_V2,</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span>    CGROUP_DISK = 0xFF,</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span>};</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">enum</span> cgroup_delete_flag {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    CGFLAG_DELETE_IGNORE_MIGRATION = 1,</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">   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="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="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a>;</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="group__group__groups.html#gad4ffad2eccf9fcbfa8a551e269e0ad58">  132</a></span><span class="preprocessor">#define NO_PERMS (-1U)</span></div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="group__group__groups.html#ga2a7954a987e3fbf8eabcc94cf381353e">  137</a></span><span class="preprocessor">#define NO_UID_GID (-1U)</span></div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *<a class="code hl_function" href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</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#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_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="l00160" name="l00160"></a><span class="lineno">  160</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_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="l00170" name="l00170"></a><span class="lineno">  170</span> </div>
-<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</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="l00179" name="l00179"></a><span class="lineno">  179</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> </div>
-<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</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="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
-<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</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="l00194" name="l00194"></a><span class="lineno">  194</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="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="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="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="l00314" name="l00314"></a><span class="lineno">  314</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="l00315" name="l00315"></a><span class="lineno">  315</span> </div>
-<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</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="l00325" name="l00325"></a><span class="lineno">  325</span> </div>
-<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</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="l00338" name="l00338"></a><span class="lineno">  338</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="l00349" name="l00349"></a><span class="lineno">  349</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="l00350" name="l00350"></a><span class="lineno">  350</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="l00351" name="l00351"></a><span class="lineno">  351</span> </div>
-<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</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="l00366" name="l00366"></a><span class="lineno">  366</span>                    uid_t control_uid, gid_t control_gid);</div>
-<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span> </div>
-<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</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="l00374" name="l00374"></a><span class="lineno">  374</span>        gid_t *tasks_gid, uid_t *control_uid, 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="l00425" name="l00425"></a><span class="lineno">  425</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="l00426" name="l00426"></a><span class="lineno">  426</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
-<div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</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="l00437" name="l00437"></a><span class="lineno">  437</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
-<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</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="l00448" name="l00448"></a><span class="lineno">  448</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
-<div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span> </div>
-<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</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="l00466" name="l00466"></a><span class="lineno">  466</span>                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</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="l00476" name="l00476"></a><span class="lineno">  476</span>                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t *value);</div>
-<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</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="l00486" name="l00486"></a><span class="lineno">  486</span>                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t *value);</div>
-<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</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="l00496" name="l00496"></a><span class="lineno">  496</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> *value);</div>
-<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span> </div>
-<div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</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="l00507" name="l00507"></a><span class="lineno">  507</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="l00518" name="l00518"></a><span class="lineno">  518</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="l00519" name="l00519"></a><span class="lineno">  519</span>                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
-<div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</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="l00529" name="l00529"></a><span class="lineno">  529</span>                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
-<div class="line"><a id="l00538" name="l00538"></a><span class="lineno">  538</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="l00539" name="l00539"></a><span class="lineno">  539</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
-<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</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="l00550" name="l00550"></a><span class="lineno">  550</span> </div>
-<div class="line"><a id="l00563" name="l00563"></a><span class="lineno">  563</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="l00564" name="l00564"></a><span class="lineno">  564</span> </div>
-<div class="line"><a id="l00574" name="l00574"></a><span class="lineno">  574</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="l00575" name="l00575"></a><span class="lineno">  575</span> </div>
-<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</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="l00585" name="l00585"></a><span class="lineno">  585</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="l00586" name="l00586"></a><span class="lineno">  586</span> </div>
-<div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</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="l00592" name="l00592"></a><span class="lineno">  592</span> </div>
-<div class="line"><a id="l00593" name="l00593"></a><span class="lineno">  593</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00594" name="l00594"></a><span class="lineno">  594</span><span class="comment"> * Convert from one cgroup version to another version</span></div>
-<div class="line"><a id="l00595" name="l00595"></a><span class="lineno">  595</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span><span class="comment"> * @param out_cgroup Destination cgroup</span></div>
-<div class="line"><a id="l00597" name="l00597"></a><span class="lineno">  597</span><span class="comment"> * @param out_version Destination cgroup version</span></div>
-<div class="line"><a id="l00598" name="l00598"></a><span class="lineno">  598</span><span class="comment"> * @param in_cgroup Source cgroup</span></div>
-<div class="line"><a id="l00599" name="l00599"></a><span class="lineno">  599</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="l00600" name="l00600"></a><span class="lineno">  600</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span><span class="comment"> * @return 0 on success</span></div>
-<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span><span class="comment"> *         ECGFAIL conversion failed</span></div>
-<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span><span class="comment"> *         ECGCONTROLLERNOTEQUAL incorrect controller version provided</span></div>
-<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00605" name="l00605"></a><span class="lineno">  605</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="l00606" name="l00606"></a><span class="lineno">  606</span>              <span class="keyword">enum</span> cg_version_t out_version,</div>
-<div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</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="l00608" name="l00608"></a><span class="lineno">  608</span>              <span class="keyword">enum</span> cg_version_t in_version);</div>
-<div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  609</span> </div>
-<div class="line"><a id="l00617" name="l00617"></a><span class="lineno">  617</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="l00618" name="l00618"></a><span class="lineno">  618</span>        <span class="keyword">enum</span> cg_version_t * <span class="keyword">const</span> version);</div>
-<div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  619</span> </div>
-<div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00627" name="l00627"></a><span class="lineno">  627</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00629" name="l00629"></a><span class="lineno">  629</span> </div>
-<div class="line"><a id="l00630" name="l00630"></a><span class="lineno">  630</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:424</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:5631</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:504</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga1dca18434e5d6be30c28c556da94f565"><div class="ttname"><a href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a></div><div class="ttdeci">int cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration)</div><div class="ttdef"><b>Definition:</b> api.c:3026</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga25115085978ce2a8d671e7876cc49c1d"><div class="ttname"><a href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a></div><div class="ttdeci">int cgroup_get_value_name_count(struct cgroup_controller *controller)</div><div class="ttdef"><b>Definition:</b> wrapper.c:728</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga31ba5e865ae8d58b4453c0ef06d2c071"><div class="ttname"><a href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a></div><div class="ttdeci">int cgroup_modify_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:2312</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga3929afd6ced9fe877613286b5f06cf8d"><div class="ttname"><a href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_add_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:59</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga452d8c5e95c8d694e26e7efda045360f"><div class="ttname"><a href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a></div><div class="ttdeci">int cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version)</div><div class="ttdef"><b>Definition:</b> api.c:5889</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga4817c68ab791c09c07b663c29b3fb029"><div class="ttname"><a href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a></div><div class="ttdeci">int cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:216</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga4b191a600f84b00ea7afd12c01d918f3"><div class="ttname"><a href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a></div><div class="ttdeci">int cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:297</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga53b9e13e30660c805ab5773d69397a43"><div class="ttname"><a href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a></div><div class="ttdeci">int cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid)</div><div class="ttdef"><b>Definition:</b> wrapper.c:410</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga6b60ab9187a883a2ae114f8d87191e27"><div class="ttname"><a href="group__group__groups.html#ga6b60ab9187a883a2ae114f8d87191e27">cgroup_get_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_get_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:438</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga6c973bb5ce99e7a91def2032f23d7087"><div class="ttname"><a href="group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087">cgroup_add_value_int64</a></div><div class="ttdeci">int cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:261</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga860c1ec70189c969b2c8373fc1e96d36"><div class="ttname"><a href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a></div><div class="ttdeci">int cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:3033</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga86898b59e50335f99fe84a11fa38d3fc"><div class="ttname"><a href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a></div><div class="ttdeci">int cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b)</div><div class="ttdef"><b>Definition:</b> wrapper.c:374</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2771</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga92d27c9ff0d655838642a7aa68497596"><div class="ttname"><a href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a></div><div class="ttdeci">void cgroup_free_controllers(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:188</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga938febc02b59cbeb8e4ceb2dc7fdac82"><div class="ttname"><a href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a></div><div class="ttdeci">int cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:482</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga951861259c0373895bfb637fce337312"><div class="ttname"><a href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a></div><div class="ttdeci">int cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:554</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga9d01743fd3f97014e08fc67149ec5f0b"><div class="ttname"><a href="group__group__groups.html#ga9d01743fd3f97014e08fc67149ec5f0b">cgroup_get_value_name</a></div><div class="ttdeci">char * cgroup_get_value_name(struct cgroup_controller *controller, int index)</div><div class="ttdef"><b>Definition:</b> wrapper.c:737</div></div>
-<div class="ttc" id="agroup__group__groups_html_gaa0400f1ff2fba7fbb6db82d97039d92b"><div class="ttname"><a href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a></div><div class="ttdeci">void cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm)</div><div class="ttdef"><b>Definition:</b> api.c:379</div></div>
-<div class="ttc" id="agroup__group__groups_html_gaa5c39e51035cc43dd26a3c620441a956"><div class="ttname"><a href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a></div><div class="ttdeci">int cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:527</div></div>
-<div class="ttc" id="agroup__group__groups_html_gaa981a95e0917d3167601a4c1b392336a"><div class="ttname"><a href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a></div><div class="ttdeci">int cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src)</div><div class="ttdef"><b>Definition:</b> api.c:2424</div></div>
-<div class="ttc" id="agroup__group__groups_html_gab1725c50c49cec4b0bdad1f26b150ca7"><div class="ttname"><a href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a></div><div class="ttdeci">int cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb)</div><div class="ttdef"><b>Definition:</b> wrapper.c:347</div></div>
-<div class="ttc" id="agroup__group__groups_html_gab20fdb1ae479f8baac482336abf73900"><div class="ttname"><a href="group__group__groups.html#gab20fdb1ae479f8baac482336abf73900">cgroup_free</a></div><div class="ttdeci">void cgroup_free(struct cgroup **cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:201</div></div>
-<div class="ttc" id="agroup__group__groups_html_gab60b1f528fbfb17d69a88f499c7071aa"><div class="ttname"><a href="group__group__groups.html#gab60b1f528fbfb17d69a88f499c7071aa">cgroup_get_cgroup_name</a></div><div class="ttdeci">char * cgroup_get_cgroup_name(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:749</div></div>
-<div class="ttc" id="agroup__group__groups_html_gab95007148eac89b7e935d93a4524787b"><div class="ttname"><a href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a></div><div class="ttdeci">int cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:603</div></div>
-<div class="ttc" id="agroup__group__groups_html_gad34c82ead174988d418f3dcb003aaca7"><div class="ttname"><a href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a></div><div class="ttdeci">struct cgroup * cgroup_new_cgroup(const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:46</div></div>
-<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3321</div></div>
-<div class="ttc" id="agroup__group__groups_html_gad9d2216205b96278c626122f8d5e63bb"><div class="ttname"><a href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a></div><div class="ttdeci">int cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:279</div></div>
-<div class="ttc" id="agroup__group__groups_html_gadb8e13df6064841d3c9707960f782fa7"><div class="ttname"><a href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a></div><div class="ttdeci">int cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2611</div></div>
-<div class="ttc" id="agroup__group__groups_html_gade01aa1fe30ccc968af9fe8a3bc821e5"><div class="ttname"><a href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a></div><div class="ttdeci">int cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:576</div></div>
-<div class="ttc" id="agroup__group__groups_html_gae870d271b789b5c54c2e3d35de3cd6f9"><div class="ttname"><a href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_controllers</a></div><div class="ttdeci">int cgroup_add_all_controllers(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:115</div></div>
-<div class="ttc" id="agroup__group__groups_html_gaef0bf6cd480f2dcb5e964de151a27dd1"><div class="ttname"><a href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a></div><div class="ttdeci">int cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change)</div><div class="ttdef"><b>Definition:</b> api.c:350</div></div>
-<div class="ttc" id="agroup__group__groups_html_gafaa51e5ffe09f8ad05585a1d3b6f7fa9"><div class="ttname"><a href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a></div><div class="ttdeci">int cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:457</div></div>
-<div class="ttc" id="agroup__group__groups_html_gafb24892bc221cffee0f5fe07f64d54d7"><div class="ttname"><a href="group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7">cgroup_set_value_bool</a></div><div class="ttdeci">int cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:631</div></div>
-<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:108</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:116</div></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="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 &quot;C&quot; */</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="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="ttc" id="agroup__group__groups_html_ga1dca18434e5d6be30c28c556da94f565"><div class="ttname"><a href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a></div><div class="ttdeci">int cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration)</div><div class="ttdef"><b>Definition:</b> api.c:3019</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga25115085978ce2a8d671e7876cc49c1d"><div class="ttname"><a href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a></div><div class="ttdeci">int cgroup_get_value_name_count(struct cgroup_controller *controller)</div><div class="ttdef"><b>Definition:</b> wrapper.c:721</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga31ba5e865ae8d58b4453c0ef06d2c071"><div class="ttname"><a href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a></div><div class="ttdeci">int cgroup_modify_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:2305</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga3929afd6ced9fe877613286b5f06cf8d"><div class="ttname"><a href="group__group__groups.html#ga3929afd6ced9fe877613286b5f06cf8d">cgroup_add_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_add_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:52</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga452d8c5e95c8d694e26e7efda045360f"><div class="ttname"><a href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a></div><div class="ttdeci">int cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version)</div><div class="ttdef"><b>Definition:</b> api.c:5882</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga4817c68ab791c09c07b663c29b3fb029"><div class="ttname"><a href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a></div><div class="ttdeci">int cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:209</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga4b191a600f84b00ea7afd12c01d918f3"><div class="ttname"><a href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a></div><div class="ttdeci">int cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:290</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga53b9e13e30660c805ab5773d69397a43"><div class="ttname"><a href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a></div><div class="ttdeci">int cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid)</div><div class="ttdef"><b>Definition:</b> wrapper.c:403</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga6b60ab9187a883a2ae114f8d87191e27"><div class="ttname"><a href="group__group__groups.html#ga6b60ab9187a883a2ae114f8d87191e27">cgroup_get_controller</a></div><div class="ttdeci">struct cgroup_controller * cgroup_get_controller(struct cgroup *cgroup, const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:431</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga6c973bb5ce99e7a91def2032f23d7087"><div class="ttname"><a href="group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087">cgroup_add_value_int64</a></div><div class="ttdeci">int cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:254</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga860c1ec70189c969b2c8373fc1e96d36"><div class="ttname"><a href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a></div><div class="ttdeci">int cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:3026</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga86898b59e50335f99fe84a11fa38d3fc"><div class="ttname"><a href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a></div><div class="ttdeci">int cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b)</div><div class="ttdef"><b>Definition:</b> wrapper.c:367</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga90e1ce96f3cb540f7e82d076dd938f62"><div class="ttname"><a href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a></div><div class="ttdeci">int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2764</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga92d27c9ff0d655838642a7aa68497596"><div class="ttname"><a href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a></div><div class="ttdeci">void cgroup_free_controllers(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:181</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga938febc02b59cbeb8e4ceb2dc7fdac82"><div class="ttname"><a href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a></div><div class="ttdeci">int cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:475</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga951861259c0373895bfb637fce337312"><div class="ttname"><a href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a></div><div class="ttdeci">int cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:547</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga9d01743fd3f97014e08fc67149ec5f0b"><div class="ttname"><a href="group__group__groups.html#ga9d01743fd3f97014e08fc67149ec5f0b">cgroup_get_value_name</a></div><div class="ttdeci">char * cgroup_get_value_name(struct cgroup_controller *controller, int index)</div><div class="ttdef"><b>Definition:</b> wrapper.c:730</div></div>
+<div class="ttc" id="agroup__group__groups_html_gaa0400f1ff2fba7fbb6db82d97039d92b"><div class="ttname"><a href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a></div><div class="ttdeci">void cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm)</div><div class="ttdef"><b>Definition:</b> api.c:372</div></div>
+<div class="ttc" id="agroup__group__groups_html_gaa5c39e51035cc43dd26a3c620441a956"><div class="ttname"><a href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a></div><div class="ttdeci">int cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:520</div></div>
+<div class="ttc" id="agroup__group__groups_html_gaa981a95e0917d3167601a4c1b392336a"><div class="ttname"><a href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a></div><div class="ttdeci">int cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src)</div><div class="ttdef"><b>Definition:</b> api.c:2417</div></div>
+<div class="ttc" id="agroup__group__groups_html_gab1725c50c49cec4b0bdad1f26b150ca7"><div class="ttname"><a href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a></div><div class="ttdeci">int cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb)</div><div class="ttdef"><b>Definition:</b> wrapper.c:340</div></div>
+<div class="ttc" id="agroup__group__groups_html_gab20fdb1ae479f8baac482336abf73900"><div class="ttname"><a href="group__group__groups.html#gab20fdb1ae479f8baac482336abf73900">cgroup_free</a></div><div class="ttdeci">void cgroup_free(struct cgroup **cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:194</div></div>
+<div class="ttc" id="agroup__group__groups_html_gab60b1f528fbfb17d69a88f499c7071aa"><div class="ttname"><a href="group__group__groups.html#gab60b1f528fbfb17d69a88f499c7071aa">cgroup_get_cgroup_name</a></div><div class="ttdeci">char * cgroup_get_cgroup_name(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:742</div></div>
+<div class="ttc" id="agroup__group__groups_html_gab95007148eac89b7e935d93a4524787b"><div class="ttname"><a href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a></div><div class="ttdeci">int cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:596</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad34c82ead174988d418f3dcb003aaca7"><div class="ttname"><a href="group__group__groups.html#gad34c82ead174988d418f3dcb003aaca7">cgroup_new_cgroup</a></div><div class="ttdeci">struct cgroup * cgroup_new_cgroup(const char *name)</div><div class="ttdef"><b>Definition:</b> wrapper.c:39</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad4ba31fe5a8bba63b33b1ea339b849e6"><div class="ttname"><a href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a></div><div class="ttdeci">int cgroup_get_cgroup(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:3314</div></div>
+<div class="ttc" id="agroup__group__groups_html_gad9d2216205b96278c626122f8d5e63bb"><div class="ttname"><a href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a></div><div class="ttdeci">int cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:272</div></div>
+<div class="ttc" id="agroup__group__groups_html_gadb8e13df6064841d3c9707960f782fa7"><div class="ttname"><a href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a></div><div class="ttdeci">int cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership)</div><div class="ttdef"><b>Definition:</b> api.c:2604</div></div>
+<div class="ttc" id="agroup__group__groups_html_gade01aa1fe30ccc968af9fe8a3bc821e5"><div class="ttname"><a href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a></div><div class="ttdeci">int cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:569</div></div>
+<div class="ttc" id="agroup__group__groups_html_gae870d271b789b5c54c2e3d35de3cd6f9"><div class="ttname"><a href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_controllers</a></div><div class="ttdeci">int cgroup_add_all_controllers(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> wrapper.c:108</div></div>
+<div class="ttc" id="agroup__group__groups_html_gaef0bf6cd480f2dcb5e964de151a27dd1"><div class="ttname"><a href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a></div><div class="ttdeci">int cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change)</div><div class="ttdef"><b>Definition:</b> api.c:343</div></div>
+<div class="ttc" id="agroup__group__groups_html_gafaa51e5ffe09f8ad05585a1d3b6f7fa9"><div class="ttname"><a href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a></div><div class="ttdeci">int cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:450</div></div>
+<div class="ttc" id="agroup__group__groups_html_gafb24892bc221cffee0f5fe07f64d54d7"><div class="ttname"><a href="group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7">cgroup_set_value_bool</a></div><div class="ttdeci">int cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value)</div><div class="ttdef"><b>Definition:</b> wrapper.c:624</div></div>
+<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:101</div></div>
+<div class="ttc" id="astructcgroup_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 -->
 <hr class="footer"/><address class="footer"><small>
index 2d2df28afef6b56ef1f7cbb4ba2122b0826555bb..607fecbe3610f228f7c65b9afabb4b3fc358d9d1 100644 (file)
@@ -69,161 +69,162 @@ $(function() {
   <div class="headertitle"><div class="title">iterators.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="preprocessor">#ifndef _LIBCGROUP_ITERATORS_H</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#define _LIBCGROUP_ITERATORS_H</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">   73</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">cgroup_walk_type</a> {</div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">   86</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">CGROUP_WALK_TYPE_PRE_DIR</a> = 0x1,</div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">   99</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">CGROUP_WALK_TYPE_POST_DIR</a> = 0x2,</div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>};</div>
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
-<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">  105</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">cgroup_file_type</a> {</div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740">  106</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740">CGROUP_FILE_TYPE_FILE</a>,      </div>
-<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3">  107</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3">CGROUP_FILE_TYPE_DIR</a>,       </div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">  108</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">CGROUP_FILE_TYPE_OTHER</a>,     </div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>};</div>
-<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
-<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html">  114</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__file__info.html">cgroup_file_info</a> {</div>
-<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55">  116</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">cgroup_file_type</a> <a class="code hl_variable" href="structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55">type</a>;</div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68">  118</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68">path</a>;</div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059">  120</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059">parent</a>;</div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6">  126</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6">full_path</a>;</div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709">  131</a></span>    <span class="keywordtype">short</span> <a class="code hl_variable" href="structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709">depth</a>;</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> </div>
-<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</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="l00153" name="l00153"></a><span class="lineno">  153</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="l00154" name="l00154"></a><span class="lineno">  154</span>                <span class="keywordtype">int</span> *base_level);</div>
-<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</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="l00165" name="l00165"></a><span class="lineno">  165</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="l00166" name="l00166"></a><span class="lineno">  166</span> </div>
-<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</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="l00171" name="l00171"></a><span class="lineno">  171</span> </div>
-<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</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="l00179" name="l00179"></a><span class="lineno">  179</span> </div>
-<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</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="l00196" name="l00196"></a><span class="lineno">  196</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="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
-<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</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="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
-<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span><span class="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="l00217" name="l00217"></a><span class="lineno">  217</span> </div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga55d2eac2af703794651d344c073566f5">  230</a></span><span class="preprocessor">#define CG_VALUE_MAX 100</span></div>
-<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="structcgroup__stat.html">  234</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="l00235" name="l00235"></a><span class="lineno">  235</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</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="l00237" name="l00237"></a><span class="lineno">  237</span>};</div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
-<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</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="l00250" name="l00250"></a><span class="lineno">  250</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="l00251" name="l00251"></a><span class="lineno">  251</span> </div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</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="l00259" name="l00259"></a><span class="lineno">  259</span> </div>
-<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</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="l00264" name="l00264"></a><span class="lineno">  264</span> </div>
-<div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</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="l00282" name="l00282"></a><span class="lineno">  282</span>                                pid_t *pid);</div>
-<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
-<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</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="l00292" name="l00292"></a><span class="lineno">  292</span> </div>
-<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</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="l00297" name="l00297"></a><span class="lineno">  297</span> </div>
-<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html">  312</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="l00314" name="l00314"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100">  314</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="l00316" name="l00316"></a><span class="lineno"><a class="line" href="structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e">  316</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="l00317" name="l00317"></a><span class="lineno">  317</span>};</div>
-<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span> </div>
-<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</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="l00327" name="l00327"></a><span class="lineno">  327</span> </div>
-<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</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="l00338" name="l00338"></a><span class="lineno">  338</span> </div>
-<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</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="l00343" name="l00343"></a><span class="lineno">  343</span> </div>
-<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="structcontroller__data.html">  356</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="l00358" name="l00358"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18">  358</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="l00364" name="l00364"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4">  364</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="l00366" name="l00366"></a><span class="lineno"><a class="line" href="structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb">  366</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="l00368" name="l00368"></a><span class="lineno"><a class="line" href="structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e">  368</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="l00369" name="l00369"></a><span class="lineno">  369</span>};</div>
-<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span> </div>
-<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</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="l00377" name="l00377"></a><span class="lineno">  377</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="l00383" name="l00383"></a><span class="lineno">  383</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="l00384" name="l00384"></a><span class="lineno">  384</span> </div>
-<div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</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="l00389" name="l00389"></a><span class="lineno">  389</span> </div>
-<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</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="l00408" name="l00408"></a><span class="lineno">  408</span>        <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</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="l00416" name="l00416"></a><span class="lineno">  416</span>        <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span> </div>
-<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</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="l00422" name="l00422"></a><span class="lineno">  422</span> </div>
-<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span> </div>
-<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</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:4670</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:5542</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:4928</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga18a3c6fe7da42b9da96ce34dce1e31b8"><div class="ttname"><a href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c:5825</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga29a572cbc0c07e2b02dfa0f1ac0067d3"><div class="ttname"><a href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">cgroup_walk_type</a></div><div class="ttdeci">cgroup_walk_type</div><div class="ttdef"><b>Definition:</b> iterators.h:73</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:5856</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:5556</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:4643</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:230</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:5077</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:105</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:4756</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga7b19f10c06abb96d8c8ae88a04888a68"><div class="ttname"><a href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin</a></div><div class="ttdeci">int cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)</div><div class="ttdef"><b>Definition:</b> api.c:4691</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga926b70423b6c087c21a14670cd23cd7d"><div class="ttname"><a href="group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d">cgroup_get_controller_next</a></div><div class="ttdeci">int cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info)</div><div class="ttdef"><b>Definition:</b> api.c:5044</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga9378ee0f1f6e65900df8e25b3d7ce236"><div class="ttname"><a href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a></div><div class="ttdeci">int cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4852</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga9c9b0f1921c205bd25bfc6c1d20486eb"><div class="ttname"><a href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5878</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gab485cda2bc9640bacbf61f1953ae750c"><div class="ttname"><a href="group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c">cgroup_get_controller_end</a></div><div class="ttdeci">int cgroup_get_controller_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5028</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaba386d9db6cadc6ad85c2552f63447bb"><div class="ttname"><a href="group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb">cgroup_read_stats_end</a></div><div class="ttdeci">int cgroup_read_stats_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4890</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaced2fe331f19d599a3270db2440847cc"><div class="ttname"><a href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a></div><div class="ttdeci">int cgroup_read_value_next(void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4832</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gad348f041e283860cbf6bcea567e23a21"><div class="ttname"><a href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a></div><div class="ttdeci">int cgroup_read_value_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4816</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gad48ef653388ca6739a9b6bbb9d7da82e"><div class="ttname"><a href="group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e">cgroup_get_all_controller_begin</a></div><div class="ttdeci">int cgroup_get_all_controller_begin(void **handle, struct controller_data *info)</div><div class="ttdef"><b>Definition:</b> api.c:5585</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gad7218154192f733120e1025cc19d0a36"><div class="ttname"><a href="group__group__iterators.html#gad7218154192f733120e1025cc19d0a36">cgroup_get_task_begin</a></div><div class="ttdeci">int cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:4995</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaeb955e5f4da551268380b1271d478816"><div class="ttname"><a href="group__group__iterators.html#gaeb955e5f4da551268380b1271d478816">cgroup_get_task_end</a></div><div class="ttdeci">int cgroup_get_task_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4959</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaf3a0364682b7449ddccfb0862bbb565e"><div class="ttname"><a href="group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e">cgroup_get_task_next</a></div><div class="ttdeci">int cgroup_get_task_next(void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:4973</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gaf95587508fc15d74fd5ed0df58024be7"><div class="ttname"><a href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next</a></div><div class="ttdeci">int cgroup_read_stats_next(void **handle, struct cgroup_stat *stat)</div><div class="ttdef"><b>Definition:</b> api.c:4908</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1"><div class="ttname"><a href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">CGROUP_WALK_TYPE_POST_DIR</a></div><div class="ttdeci">@ CGROUP_WALK_TYPE_POST_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:99</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913"><div class="ttname"><a href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">CGROUP_WALK_TYPE_PRE_DIR</a></div><div class="ttdeci">@ CGROUP_WALK_TYPE_PRE_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:86</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">CGROUP_FILE_TYPE_OTHER</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_OTHER</div><div class="ttdef"><b>Definition:</b> iterators.h:108</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3">CGROUP_FILE_TYPE_DIR</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:107</div></div>
-<div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740">CGROUP_FILE_TYPE_FILE</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_FILE</div><div class="ttdef"><b>Definition:</b> iterators.h:106</div></div>
-<div class="ttc" id="astructcgroup__file__info_html"><div class="ttname"><a href="structcgroup__file__info.html">cgroup_file_info</a></div><div class="ttdef"><b>Definition:</b> iterators.h:114</div></div>
-<div class="ttc" id="astructcgroup__file__info_html_a4c61dc7f726ba0784ff8c71473dbc6e6"><div class="ttname"><a href="structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6">cgroup_file_info::full_path</a></div><div class="ttdeci">const char * full_path</div><div class="ttdef"><b>Definition:</b> iterators.h:126</div></div>
-<div class="ttc" id="astructcgroup__file__info_html_a739c7f87593e36d8589d3ffa80b57059"><div class="ttname"><a href="structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059">cgroup_file_info::parent</a></div><div class="ttdeci">const char * parent</div><div class="ttdef"><b>Definition:</b> iterators.h:120</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:118</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:116</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:131</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:312</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:314</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:316</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:234</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:116</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:356</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:368</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:364</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:358</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:366</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#ifndef _LIBCGROUP_ITERATORS_H</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="preprocessor">#define _LIBCGROUP_ITERATORS_H</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">   74</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">cgroup_walk_type</a> {</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">   87</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">CGROUP_WALK_TYPE_PRE_DIR</a> = 0x1,</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">  100</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">CGROUP_WALK_TYPE_POST_DIR</a> = 0x2,</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>};</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">  106</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">cgroup_file_type</a> {</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740">  107</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740">CGROUP_FILE_TYPE_FILE</a>,      </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3">  108</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3">CGROUP_FILE_TYPE_DIR</a>,       </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">  109</a></span>    <a class="code hl_enumvalue" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">CGROUP_FILE_TYPE_OTHER</a>,     </div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>};</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html">  115</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__file__info.html">cgroup_file_info</a> {</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55">  117</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444">cgroup_file_type</a> <a class="code hl_variable" href="structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55">type</a>;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68">  119</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68">path</a>;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059">  121</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059">parent</a>;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6">  127</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6">full_path</a>;</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709">  132</a></span>    <span class="keywordtype">short</span> <a class="code hl_variable" href="structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709">depth</a>;</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 &quot;C&quot; */</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="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_ga18a3c6fe7da42b9da96ce34dce1e31b8"><div class="ttname"><a href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c:5818</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga29a572cbc0c07e2b02dfa0f1ac0067d3"><div class="ttname"><a href="group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3">cgroup_walk_type</a></div><div class="ttdeci">cgroup_walk_type</div><div class="ttdef"><b>Definition:</b> iterators.h:74</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga3d66997158cb8a334317923ad94cc789"><div class="ttname"><a href="group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789">cgroup_get_subsys_mount_point_next</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_next(void **handle, char *path)</div><div class="ttdef"><b>Definition:</b> api.c: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_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="agroup__group__iterators_html_ga7b19f10c06abb96d8c8ae88a04888a68"><div class="ttname"><a href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin</a></div><div class="ttdeci">int cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)</div><div class="ttdef"><b>Definition:</b> api.c:4684</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga926b70423b6c087c21a14670cd23cd7d"><div class="ttname"><a href="group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d">cgroup_get_controller_next</a></div><div class="ttdeci">int cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info)</div><div class="ttdef"><b>Definition:</b> api.c:5037</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga9378ee0f1f6e65900df8e25b3d7ce236"><div class="ttname"><a href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a></div><div class="ttdeci">int cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4845</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga9c9b0f1921c205bd25bfc6c1d20486eb"><div class="ttname"><a href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5871</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gab485cda2bc9640bacbf61f1953ae750c"><div class="ttname"><a href="group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c">cgroup_get_controller_end</a></div><div class="ttdeci">int cgroup_get_controller_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:5021</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaba386d9db6cadc6ad85c2552f63447bb"><div class="ttname"><a href="group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb">cgroup_read_stats_end</a></div><div class="ttdeci">int cgroup_read_stats_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4883</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaced2fe331f19d599a3270db2440847cc"><div class="ttname"><a href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a></div><div class="ttdeci">int cgroup_read_value_next(void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4825</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gad348f041e283860cbf6bcea567e23a21"><div class="ttname"><a href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a></div><div class="ttdeci">int cgroup_read_value_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4809</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gad48ef653388ca6739a9b6bbb9d7da82e"><div class="ttname"><a href="group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e">cgroup_get_all_controller_begin</a></div><div class="ttdeci">int cgroup_get_all_controller_begin(void **handle, struct controller_data *info)</div><div class="ttdef"><b>Definition:</b> api.c:5578</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gad7218154192f733120e1025cc19d0a36"><div class="ttname"><a href="group__group__iterators.html#gad7218154192f733120e1025cc19d0a36">cgroup_get_task_begin</a></div><div class="ttdeci">int cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:4988</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaeb955e5f4da551268380b1271d478816"><div class="ttname"><a href="group__group__iterators.html#gaeb955e5f4da551268380b1271d478816">cgroup_get_task_end</a></div><div class="ttdeci">int cgroup_get_task_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4952</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaf3a0364682b7449ddccfb0862bbb565e"><div class="ttname"><a href="group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e">cgroup_get_task_next</a></div><div class="ttdeci">int cgroup_get_task_next(void **handle, pid_t *pid)</div><div class="ttdef"><b>Definition:</b> api.c:4966</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gaf95587508fc15d74fd5ed0df58024be7"><div class="ttname"><a href="group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7">cgroup_read_stats_next</a></div><div class="ttdeci">int cgroup_read_stats_next(void **handle, struct cgroup_stat *stat)</div><div class="ttdef"><b>Definition:</b> api.c:4901</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1"><div class="ttname"><a href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1">CGROUP_WALK_TYPE_POST_DIR</a></div><div class="ttdeci">@ CGROUP_WALK_TYPE_POST_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:100</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913"><div class="ttname"><a href="group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913">CGROUP_WALK_TYPE_PRE_DIR</a></div><div class="ttdeci">@ CGROUP_WALK_TYPE_PRE_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:87</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">CGROUP_FILE_TYPE_OTHER</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_OTHER</div><div class="ttdef"><b>Definition:</b> iterators.h:109</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3">CGROUP_FILE_TYPE_DIR</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_DIR</div><div class="ttdef"><b>Definition:</b> iterators.h:108</div></div>
+<div class="ttc" id="agroup__group__iterators_html_gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740"><div class="ttname"><a href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740">CGROUP_FILE_TYPE_FILE</a></div><div class="ttdeci">@ CGROUP_FILE_TYPE_FILE</div><div class="ttdef"><b>Definition:</b> iterators.h:107</div></div>
+<div class="ttc" id="astructcgroup__file__info_html"><div class="ttname"><a href="structcgroup__file__info.html">cgroup_file_info</a></div><div class="ttdef"><b>Definition:</b> iterators.h:115</div></div>
+<div class="ttc" id="astructcgroup__file__info_html_a4c61dc7f726ba0784ff8c71473dbc6e6"><div class="ttname"><a href="structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6">cgroup_file_info::full_path</a></div><div class="ttdeci">const char * full_path</div><div class="ttdef"><b>Definition:</b> iterators.h:127</div></div>
+<div class="ttc" id="astructcgroup__file__info_html_a739c7f87593e36d8589d3ffa80b57059"><div class="ttname"><a href="structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059">cgroup_file_info::parent</a></div><div class="ttdeci">const char * parent</div><div class="ttdef"><b>Definition:</b> iterators.h:121</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_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><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 3b16c1270769c5769f33e5f68c7caf00749f0310..031190ed1863646f6ef53e7fd06d58c0946a0831 100644 (file)
@@ -69,337 +69,324 @@ $(function() {
   <div class="headertitle"><div class="title">libcgroup-internal.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright IBM Corporation. 2008</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * Author:  Dhaval Giani &lt;dhaval@linux.vnet.ibm.com&gt;</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> * This program is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"> * as published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * This program is distributed in the hope that it would be useful, but</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifndef __LIBCG_INTERNAL</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">#define __LIBCG_INTERNAL</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#endif</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">#include &quot;config.h&quot;</span></div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;libcgroup.h&gt;</span></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef __LIBCG_INTERNAL</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span> </div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#define __LIBCG_INTERNAL</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#include &quot;config.h&quot;</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &lt;libcgroup.h&gt;</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 &lt;pthread.h&gt;</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;dirent.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;limits.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;mntent.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;setjmp.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;fts.h&gt;</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">#include &lt;pthread.h&gt;</span></div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;dirent.h&gt;</span></div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;limits.h&gt;</span></div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;mntent.h&gt;</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;setjmp.h&gt;</span></div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;fts.h&gt;</span></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><span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#include &lt;sys/types.h&gt;</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="comment">/* Maximum number of mount points/controllers */</span></div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#define MAX_MNT_ELEMENTS    16</span></div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="comment">/* Estimated number of groups created */</span></div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#define MAX_GROUP_ELEMENTS  128</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="comment">/* Maximum length of a value */</span></div>
-<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="preprocessor">#define CG_CONTROL_VALUE_MAX    4096</span></div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="preprocessor">#define CG_NV_MAX       100</span></div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="preprocessor">#define CG_CONTROLLER_MAX   100</span></div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="preprocessor">#define CG_OPTIONS_MAX      100</span></div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="comment">/* Max number of mounted hierarchies. Event if one controller is mounted per</span></div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="comment"> * hier, it can not exceed CG_CONTROLLER_MAX</span></div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor">#define CG_HIER_MAX  CG_CONTROLLER_MAX</span></div>
-<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
-<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="comment">/* Definitions for the uid and gid members of a cgroup_rules */</span></div>
-<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="preprocessor">#define CGRULE_INVALID  ((uid_t) -1)</span></div>
-<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="preprocessor">#define CGRULE_WILD ((uid_t) -2)</span></div>
-<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
-<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#define CGRULE_SUCCESS_STORE_PID    &quot;SUCCESS_STORE_PID&quot;</span></div>
-<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span> </div>
-<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="comment">/* Definitions for the cgrules options field */</span></div>
-<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="preprocessor">#define CGRULE_OPTION_IGNORE        &quot;ignore&quot;</span></div>
-<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
-<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="preprocessor">#define CGCONFIG_CONF_FILE      &quot;/etc/cgconfig.conf&quot;</span></div>
-<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="comment">/* Minimum number of file in template file list for cgrulesengd */</span></div>
-<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="preprocessor">#define CGCONFIG_CONF_FILES_LIST_MINIMUM_SIZE   4</span></div>
-<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="preprocessor">#define CGCONFIG_CONF_DIR               &quot;/etc/cgconfig.d&quot;</span></div>
-<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
-<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="preprocessor">#define CGRULES_CONF_FILE       &quot;/etc/cgrules.conf&quot;</span></div>
-<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="preprocessor">#define CGRULES_CONF_DIR        &quot;/etc/cgrules.d&quot;</span></div>
-<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span><span class="preprocessor">#define CGRULES_MAX_FIELDS_PER_LINE     3</span></div>
-<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="preprocessor">#define CGROUP_BUFFER_LEN (5 * FILENAME_MAX)</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;sys/types.h&gt;</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">/* Maximum number of mount points/controllers */</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#define MAX_MNT_ELEMENTS    16</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment">/* Estimated number of groups created */</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#define MAX_GROUP_ELEMENTS  128</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="comment">/* Maximum length of a value */</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#define CG_CONTROL_VALUE_MAX    4096</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#define CG_NV_MAX       100</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#define CG_CONTROLLER_MAX   100</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#define CG_OPTIONS_MAX      100</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="comment">/* Max number of mounted hierarchies. Event if one controller is mounted per</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="comment"> * hier, it can not exceed CG_CONTROLLER_MAX</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="preprocessor">#define CG_HIER_MAX  CG_CONTROLLER_MAX</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="comment">/* Definitions for the uid and gid members of a cgroup_rules */</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="preprocessor">#define CGRULE_INVALID  ((uid_t) -1)</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="preprocessor">#define CGRULE_WILD ((uid_t) -2)</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="preprocessor">#define CGRULE_SUCCESS_STORE_PID    &quot;SUCCESS_STORE_PID&quot;</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="comment">/* Definitions for the cgrules options field */</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="preprocessor">#define CGRULE_OPTION_IGNORE        &quot;ignore&quot;</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="preprocessor">#define CGCONFIG_CONF_FILE      &quot;/etc/cgconfig.conf&quot;</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="comment">/* Minimum number of file in template file list for cgrulesengd */</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#define CGCONFIG_CONF_FILES_LIST_MINIMUM_SIZE   4</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="preprocessor">#define CGCONFIG_CONF_DIR               &quot;/etc/cgconfig.d&quot;</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="preprocessor">#define CGRULES_CONF_FILE       &quot;/etc/cgrules.conf&quot;</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span><span class="preprocessor">#define CGRULES_CONF_DIR        &quot;/etc/cgrules.d&quot;</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="preprocessor">#define CGRULES_MAX_FIELDS_PER_LINE     3</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="preprocessor">#define CGROUP_BUFFER_LEN (5 * FILENAME_MAX)</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="comment">/* Maximum length of a key(&lt;user&gt;:&lt;process name&gt;) in the daemon config file */</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="preprocessor">#define CGROUP_RULE_MAXKEY  (LOGIN_NAME_MAX + FILENAME_MAX + 1)</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span><span class="comment">/* Maximum length of a line in the daemon config file */</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span><span class="preprocessor">#define CGROUP_RULE_MAXLINE (FILENAME_MAX + CGROUP_RULE_MAXKEY + \</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="preprocessor">    CG_CONTROLLER_MAX + 3)</span></div>
 <div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span> </div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="comment">/* Maximum length of a key(&lt;user&gt;:&lt;process name&gt;) in the daemon config file */</span></div>
-<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="preprocessor">#define CGROUP_RULE_MAXKEY  (LOGIN_NAME_MAX + FILENAME_MAX + 1)</span></div>
-<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
-<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="comment">/* Maximum length of a line in the daemon config file */</span></div>
-<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="preprocessor">#define CGROUP_RULE_MAXLINE (FILENAME_MAX + CGROUP_RULE_MAXKEY + \</span></div>
-<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span><span class="preprocessor">    CG_CONTROLLER_MAX + 3)</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="preprocessor">#define CGROUP_FILE_PREFIX  &quot;cgroup&quot;</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span><span class="preprocessor">#define cgroup_err(x...) cgroup_log(CGROUP_LOG_ERROR, &quot;Error: &quot;</span> x)</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="preprocessor">#define cgroup_warn(x...) cgroup_log(CGROUP_LOG_WARNING, &quot;Warning: &quot;</span> x)</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="preprocessor">#define cgroup_info(x...) cgroup_log(CGROUP_LOG_INFO, &quot;Info: &quot;</span> x)</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span><span class="preprocessor">#define cgroup_dbg(x...) cgroup_log(CGROUP_LOG_DEBUG, x)</span></div>
 <div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span> </div>
-<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span><span class="preprocessor">#define CGROUP_FILE_PREFIX  &quot;cgroup&quot;</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span><span class="preprocessor">#define CGROUP_DEFAULT_LOGLEVEL CGROUP_LOG_ERROR</span></div>
 <div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
-<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="preprocessor">#define cgroup_err(x...) cgroup_log(CGROUP_LOG_ERROR, &quot;Error: &quot;</span> x)</div>
-<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span><span class="preprocessor">#define cgroup_warn(x...) cgroup_log(CGROUP_LOG_WARNING, &quot;Warning: &quot;</span> x)</div>
-<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="preprocessor">#define cgroup_info(x...) cgroup_log(CGROUP_LOG_INFO, &quot;Info: &quot;</span> x)</div>
-<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="preprocessor">#define cgroup_dbg(x...) cgroup_log(CGROUP_LOG_DEBUG, x)</span></div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
-<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span><span class="preprocessor">#define CGROUP_DEFAULT_LOGLEVEL CGROUP_LOG_ERROR</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="preprocessor">#define max(x, y) ((y) &lt; (x)?(x):(y))</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span><span class="preprocessor">#define min(x, y) ((y) &gt; (x)?(x):(y))</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="structcontrol__value.html">   85</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcontrol__value.html">control_value</a> {</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <span class="keywordtype">char</span> value[CG_CONTROL_VALUE_MAX];</div>
 <div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
-<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span><span class="preprocessor">#define max(x, y) ((y) &lt; (x)?(x):(y))</span></div>
-<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="preprocessor">#define min(x, y) ((y) &gt; (x)?(x):(y))</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>    <span class="comment">/* cgget uses this field for values that span multiple lines */</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    <span class="keywordtype">char</span> *multiline_value;</div>
 <div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span> </div>
-<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="structcontrol__value.html">   92</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcontrol__value.html">control_value</a> {</div>
-<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
-<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>    <span class="keywordtype">char</span> value[CG_CONTROL_VALUE_MAX];</div>
-<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
-<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>    <span class="comment">/* cgget uses this field for values that span multiple lines */</span></div>
-<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>    <span class="keywordtype">char</span> *multiline_value;</div>
-<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span> </div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>    <span class="comment">/*</span></div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="comment">     * The abstraction layer uses prev_name when there&#39;s an N-&gt;1 or</span></div>
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="comment">     * 1-&gt;N relationship between cgroup v1 and v2 settings.</span></div>
-<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="comment">     */</span></div>
-<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    <span class="keywordtype">char</span> *prev_name;</div>
-<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
-<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>    <span class="keywordtype">bool</span> dirty;</div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>};</div>
-<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="structcgroup__controller.html">  108</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> {</div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
-<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcontrol__value.html">control_value</a> *values[CG_NV_MAX];</div>
-<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>    <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="l00092" name="l00092"></a><span class="lineno">   92</span>    <span class="comment">/*</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span><span class="comment">     * The abstraction layer uses prev_name when there&#39;s an N-&gt;1 or</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="comment">     * 1-&gt;N relationship between cgroup v1 and v2 settings.</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="comment">     */</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>    <span class="keywordtype">char</span> *prev_name;</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    <span class="keywordtype">bool</span> dirty;</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>};</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span> </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="structcgroup__controller.html">  101</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> {</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcontrol__value.html">control_value</a> *values[CG_NV_MAX];</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>    <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="l00105" name="l00105"></a><span class="lineno">  105</span>    <span class="keywordtype">int</span> index;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>    <span class="keyword">enum</span> cg_version_t version;</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>};</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="structcgroup.html">  109</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> {</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *controller[CG_CONTROLLER_MAX];</div>
 <div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    <span class="keywordtype">int</span> index;</div>
-<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    <span class="keyword">enum</span> cg_version_t version;</div>
-<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>};</div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
-<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="structcgroup.html">  116</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> {</div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    <span class="keywordtype">char</span> name[FILENAME_MAX];</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__controller.html">cgroup_controller</a> *controller[CG_CONTROLLER_MAX];</div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>    <span class="keywordtype">int</span> index;</div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>    uid_t tasks_uid;</div>
-<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    gid_t tasks_gid;</div>
-<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    mode_t task_fperm;</div>
-<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    uid_t control_uid;</div>
-<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    gid_t control_gid;</div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    mode_t control_fperm;</div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>    mode_t control_dperm;</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> </div>
-<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="structcg__mount__point.html">  129</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> {</div>
-<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>    <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> *next;</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> </div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html">  134</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__table__s.html">cg_mount_table_s</a> {</div>
-<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">  136</a></span>    <span class="keywordtype">char</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>[FILENAME_MAX];</div>
-<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">  140</a></span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> <a class="code hl_variable" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">mount</a>;</div>
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    <span class="keywordtype">int</span> index;</div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="keyword">enum</span> cg_version_t version;</div>
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>};</div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="structcgroup__rules__data.html">  145</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rules__data.html">cgroup_rules_data</a> {</div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>    pid_t   pid; <span class="comment">/* pid of the process which needs to change group */</span></div>
-<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>    <span class="comment">/* Details of user under consideration for destination cgroup */</span></div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>    <span class="keyword">struct </span>passwd   *pw;</div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>    <span class="comment">/* Gid of the process */</span></div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    gid_t   gid;</div>
-<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>};</div>
-<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span> </div>
-<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span><span class="comment">/* A rule that maps UID/GID to a cgroup */</span></div>
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="structcgroup__rule.html">  155</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> {</div>
-<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    uid_t uid;</div>
-<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>    gid_t gid;</div>
-<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>    <span class="keywordtype">bool</span> is_ignore;</div>
-<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>    <span class="keywordtype">char</span> *procname;</div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    <span class="keywordtype">char</span> username[LOGIN_NAME_MAX];</div>
-<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    <span class="keywordtype">char</span> destination[FILENAME_MAX];</div>
-<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    <span class="keywordtype">char</span> *controllers[MAX_MNT_ELEMENTS];</div>
-<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *next;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    uid_t tasks_uid;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    gid_t tasks_gid;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>    mode_t task_fperm;</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    uid_t control_uid;</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    gid_t control_gid;</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    mode_t control_fperm;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>    mode_t control_dperm;</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> </div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="structcg__mount__point.html">  122</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> {</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> *next;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</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"><a class="line" href="structcg__mount__table__s.html">  127</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__table__s.html">cg_mount_table_s</a> {</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">  129</a></span>    <span class="keywordtype">char</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>[FILENAME_MAX];</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">  133</a></span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__point.html">cg_mount_point</a> <a class="code hl_variable" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">mount</a>;</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keywordtype">int</span> index;</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keyword">enum</span> cg_version_t version;</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>};</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="structcgroup__rules__data.html">  138</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rules__data.html">cgroup_rules_data</a> {</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>    pid_t   pid; <span class="comment">/* pid of the process which needs to change group */</span></div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    <span class="comment">/* Details of user under consideration for destination cgroup */</span></div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="keyword">struct </span>passwd   *pw;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>    <span class="comment">/* Gid of the process */</span></div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    gid_t   gid;</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>};</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span><span class="comment">/* A rule that maps UID/GID to a cgroup */</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="structcgroup__rule.html">  148</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> {</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>    uid_t uid;</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>    gid_t gid;</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    <span class="keywordtype">bool</span> is_ignore;</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>    <span class="keywordtype">char</span> *procname;</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    <span class="keywordtype">char</span> username[LOGIN_NAME_MAX];</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>    <span class="keywordtype">char</span> destination[FILENAME_MAX];</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>    <span class="keywordtype">char</span> *controllers[MAX_MNT_ELEMENTS];</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *next;</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>};</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span><span class="comment">/* Container for a list of rules */</span></div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="structcgroup__rule__list.html">  160</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule__list.html">cgroup_rule_list</a> {</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *head;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *tail;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>    <span class="keywordtype">int</span> len;</div>
 <div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>};</div>
 <div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span> </div>
-<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span><span class="comment">/* Container for a list of rules */</span></div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="structcgroup__rule__list.html">  167</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule__list.html">cgroup_rule_list</a> {</div>
-<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *head;</div>
-<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> *tail;</div>
-<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>    <span class="keywordtype">int</span> len;</div>
-<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>};</div>
-<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span> </div>
-<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span><span class="comment">/*The walk_tree handle */</span></div>
-<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="structcgroup__tree__handle.html">  174</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__tree__handle.html">cgroup_tree_handle</a> {</div>
-<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    FTS *fts;</div>
-<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>    <span class="keywordtype">int</span> flags;</div>
-<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>};</div>
-<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
-<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__item.html">  186</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> {</div>
-<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div>
-<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *value;</div>
-<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *next;</div>
-<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>};</div>
-<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
-<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span><span class="comment">/* Flags for cgroup_dictionary_create */</span></div>
-<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span><span class="preprocessor">#define CG_DICT_DONT_FREE_ITEMS     1</span></div>
-<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span> </div>
-<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="structcgroup__dictionary.html">  209</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> {</div>
-<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *head;</div>
-<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *tail;</div>
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>    <span class="keywordtype">int</span> flags;</div>
-<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>};</div>
-<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span> </div>
-<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__iterator.html">  216</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a> {</div>
-<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *item;</div>
-<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>};</div>
-<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span> </div>
-<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span><span class="keyword">extern</span> __thread <span class="keywordtype">int</span> last_errno;</div>
-<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span> </div>
-<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span><span class="keyword">extern</span> jmp_buf parser_error_env;</div>
-<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span> </div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span><span class="comment">/* Internal API */</span></div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span><span class="keywordtype">char</span> *cg_build_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *type);</div>
-<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span><span class="keywordtype">int</span> cgroup_get_uid_gid_from_procfs(pid_t pid, uid_t *euid, gid_t *egid);</div>
-<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span><span class="keywordtype">int</span> cgroup_get_procname_from_procfs(pid_t pid, <span class="keywordtype">char</span> **procname);</div>
-<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span><span class="keywordtype">int</span> cg_mkdir_p(<span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *create_cgroup_from_name_value_pairs(<span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcontrol__value.html">control_value</a> *name_value, <span class="keywordtype">int</span> nv_number);</div>
-<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span><span class="keywordtype">void</span> init_cgroup_table(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroups, <span class="keywordtype">size_t</span> count);</div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
-<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span><span class="comment"> * Main mounting structures</span></div>
-<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span><span class="keyword">extern</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__table__s.html">cg_mount_table_s</a> cg_mount_table[CG_CONTROLLER_MAX];</div>
-<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span><span class="keyword">extern</span> pthread_rwlock_t cg_mount_table_lock;</div>
-<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span> </div>
-<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span><span class="comment"> * config related structures</span></div>
-<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span> </div>
-<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span><span class="keyword">extern</span> __thread <span class="keywordtype">char</span> *cg_namespace_table[CG_CONTROLLER_MAX];</div>
-<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span> </div>
-<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span><span class="comment"> * config related API</span></div>
-<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="keywordtype">int</span> cgroup_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
-<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="keywordtype">int</span> cgroup_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span><span class="keywordtype">int</span> template_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span><span class="keywordtype">int</span> template_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span><span class="keywordtype">int</span> template_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span><span class="keywordtype">int</span> template_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span><span class="keywordtype">int</span> cgroup_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span><span class="keywordtype">int</span> cgroup_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span><span class="keywordtype">int</span> cgroup_config_insert_into_mount_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
-<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span><span class="keywordtype">int</span> cgroup_config_insert_into_namespace_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
-<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span><span class="keywordtype">void</span> cgroup_config_cleanup_mount_table(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span><span class="keywordtype">void</span> cgroup_config_cleanup_namespace_table(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span><span class="keywordtype">int</span> cgroup_config_define_default(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span> </div>
-<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_create(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> **dict,</div>
-<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>        <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_add(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
-<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_free(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict);</div>
-<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span> </div>
-<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_begin(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
-<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span>        <span class="keywordtype">void</span> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_next(<span class="keywordtype">void</span> **handle,</div>
-<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span><span class="keyword">extern</span> <span class="keywordtype">void</span> cgroup_dictionary_iterator_end(<span class="keywordtype">void</span> **handle);</div>
-<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span> </div>
-<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span><span class="keywordtype">int</span> cg_chmod_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, mode_t mode, <span class="keywordtype">int</span> owner_is_umask);</div>
-<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
-<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span><span class="keywordtype">int</span> cgroup_build_tasks_procs_path(<span class="keywordtype">char</span> * <span class="keyword">const</span> path,</div>
-<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>                  <span class="keywordtype">size_t</span> path_sz, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
-<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
-<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span> </div>
-<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span><span class="keywordtype">char</span> *cg_build_path_locked(<span class="keyword">const</span> <span class="keywordtype">char</span> *setting, <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> *controller);</div>
-<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span> </div>
-<div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span><span class="keywordtype">int</span> cgroup_fill_cgc(<span class="keyword">struct</span> dirent *ctrl_dir, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *<a class="code hl_struct" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span>            <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgc, <span class="keywordtype">int</span> cg_index);</div>
-<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span> </div>
-<div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span><span class="keywordtype">int</span> cgroup_test_subsys_mounted(<span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name);</div>
-<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span> </div>
-<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span><span class="keywordtype">int</span> cgroup_copy_controller_values(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst,</div>
-<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span>                  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> src);</div>
-<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span> </div>
-<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span><span class="keywordtype">int</span> cgroup_remove_value(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>);</div>
-<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span> </div>
-<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span><span class="keywordtype">void</span> cgroup_free_controller(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *ctrl);</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span><span class="comment">/*The walk_tree handle */</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="structcgroup__tree__handle.html">  167</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__tree__handle.html">cgroup_tree_handle</a> {</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    FTS *fts;</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>    <span class="keywordtype">int</span> flags;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>};</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__item.html">  179</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> {</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *value;</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *next;</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>};</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span><span class="comment">/* Flags for cgroup_dictionary_create */</span></div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span><span class="preprocessor">#define CG_DICT_DONT_FREE_ITEMS     1</span></div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="structcgroup__dictionary.html">  202</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> {</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *head;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *tail;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>    <span class="keywordtype">int</span> flags;</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>};</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__iterator.html">  209</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a> {</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>    <span class="keyword">struct </span><a class="code hl_struct" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *item;</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>};</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span><span class="keyword">extern</span> __thread <span class="keywordtype">int</span> last_errno;</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span><span class="keyword">extern</span> jmp_buf parser_error_env;</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span><span class="comment">/* Internal API */</span></div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span><span class="keywordtype">char</span> *cg_build_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *type);</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span><span class="keywordtype">int</span> cgroup_get_uid_gid_from_procfs(pid_t pid, uid_t *euid, gid_t *egid);</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span><span class="keywordtype">int</span> cgroup_get_procname_from_procfs(pid_t pid, <span class="keywordtype">char</span> **procname);</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span><span class="keywordtype">int</span> cg_mkdir_p(<span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span><span class="keyword">struct </span><a class="code hl_struct" href="structcgroup.html">cgroup</a> *create_cgroup_from_name_value_pairs(<span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcontrol__value.html">control_value</a> *name_value, <span class="keywordtype">int</span> nv_number);</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span><span class="keywordtype">void</span> init_cgroup_table(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *cgroups, <span class="keywordtype">size_t</span> count);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span><span class="comment"> * Main mounting structures</span></div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span><span class="keyword">extern</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcg__mount__table__s.html">cg_mount_table_s</a> cg_mount_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span><span class="keyword">extern</span> pthread_rwlock_t cg_mount_table_lock;</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span><span class="comment"> * config related structures</span></div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span><span class="keyword">extern</span> __thread <span class="keywordtype">char</span> *cg_namespace_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span><span class="comment"> * config related API</span></div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span><span class="keywordtype">int</span> cgroup_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span><span class="keywordtype">int</span> cgroup_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span><span class="keywordtype">int</span> template_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="keywordtype">int</span> template_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>        <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span><span class="keywordtype">int</span> template_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="keywordtype">int</span> template_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="keywordtype">int</span> cgroup_config_group_task_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span><span class="keywordtype">int</span> cgroup_config_group_admin_perm(<span class="keywordtype">char</span> *perm_type, <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span><span class="keywordtype">int</span> cgroup_config_insert_into_mount_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span><span class="keywordtype">int</span> cgroup_config_insert_into_namespace_table(<span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span><span class="keywordtype">void</span> cgroup_config_cleanup_mount_table(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span><span class="keywordtype">void</span> cgroup_config_cleanup_namespace_table(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span><span class="keywordtype">int</span> cgroup_config_define_default(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_create(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> **dict,</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>        <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_add(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_free(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict);</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_begin(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>        <span class="keywordtype">void</span> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span><span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_next(<span class="keywordtype">void</span> **handle,</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);</div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span><span class="keyword">extern</span> <span class="keywordtype">void</span> cgroup_dictionary_iterator_end(<span class="keywordtype">void</span> **handle);</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span><span class="keywordtype">int</span> cg_chmod_path(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, mode_t mode, <span class="keywordtype">int</span> owner_is_umask);</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span><span class="keywordtype">int</span> cgroup_build_tasks_procs_path(<span class="keywordtype">char</span> * <span class="keyword">const</span> path,</div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>                  <span class="keywordtype">size_t</span> path_sz, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span><span class="keywordtype">char</span> *cg_build_path_locked(<span class="keyword">const</span> <span class="keywordtype">char</span> *setting, <span class="keywordtype">char</span> *path,</div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span>               <span class="keyword">const</span> <span class="keywordtype">char</span> *controller);</div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span> </div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span><span class="keywordtype">int</span> cgroup_fill_cgc(<span class="keyword">struct</span> dirent *ctrl_dir, <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup.html">cgroup</a> *<a class="code hl_struct" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>            <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *cgc, <span class="keywordtype">int</span> cg_index);</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span><span class="keywordtype">int</span> cgroup_test_subsys_mounted(<span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name);</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span> </div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span><span class="keywordtype">int</span> cgroup_copy_controller_values(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst,</div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span>                  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> src);</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span><span class="keywordtype">int</span> cgroup_remove_value(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code hl_variable" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>);</div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span><span class="keywordtype">void</span> cgroup_free_controller(<span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> *ctrl);</div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span> </div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
 <div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span> </div>
-<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
-<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span> </div>
-<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span><span class="preprocessor">#define TEST_PROC_PID_CGROUP_FILE &quot;test-procpidcgroup&quot;</span></div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span><span class="preprocessor">#define TEST_PROC_PID_CGROUP_FILE &quot;test-procpidcgroup&quot;</span></div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span><span class="keywordtype">int</span> cgroup_parse_rules_options(<span class="keywordtype">char</span> *options,</div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span>                   <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule);</div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span><span class="keywordtype">int</span> cg_get_cgroups_from_proc_cgroups(pid_t pid, <span class="keywordtype">char</span> *cgroup_list[],</div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span>                     <span class="keywordtype">char</span> *controller_list[],</div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>                     <span class="keywordtype">int</span> list_len);</div>
 <div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span> </div>
-<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span><span class="keywordtype">int</span> cgroup_parse_rules_options(<span class="keywordtype">char</span> *options,</div>
-<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>                   <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule);</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span><span class="keywordtype">bool</span> cgroup_compare_ignore_rule(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule,</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>                pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
 <div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span> </div>
-<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span><span class="keywordtype">int</span> cg_get_cgroups_from_proc_cgroups(pid_t pid, <span class="keywordtype">char</span> *cgroup_list[],</div>
-<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span>                     <span class="keywordtype">char</span> *controller_list[],</div>
-<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span>                     <span class="keywordtype">int</span> list_len);</div>
-<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span> </div>
-<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span><span class="keywordtype">bool</span> cgroup_compare_ignore_rule(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule,</div>
-<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span>                pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
-<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span> </div>
-<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span><span class="keywordtype">bool</span> cgroup_compare_wildcard_procname(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> rule_procname,</div>
-<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span>                      <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
-<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span> </div>
-<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span><span class="keywordtype">int</span> cgroup_process_v1_mnt(<span class="keywordtype">char</span> *controllers[], <span class="keyword">struct</span> mntent *ent,</div>
-<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span>              <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
-<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span> </div>
-<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span><span class="keywordtype">int</span> cgroup_process_v2_mnt(<span class="keyword">struct</span> mntent *ent, <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span><span class="keywordtype">bool</span> cgroup_compare_wildcard_procname(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> rule_procname,</div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span>                      <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span><span class="keywordtype">int</span> cgroup_process_v1_mnt(<span class="keywordtype">char</span> *controllers[], <span class="keyword">struct</span> mntent *ent,</div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span>              <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span><span class="keywordtype">int</span> cgroup_process_v2_mnt(<span class="keyword">struct</span> mntent *ent, <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span><span class="keywordtype">int</span> cgroup_set_values_recursive(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> base,</div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span>    <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span>    <span class="keywordtype">bool</span> ignore_non_dirty_failures);</div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span> </div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span><span class="keywordtype">int</span> cgroup_chown_chmod_tasks(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_path,</div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span>                 uid_t uid, gid_t gid, mode_t fperm);</div>
 <div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span> </div>
-<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span><span class="keywordtype">int</span> cgroup_set_values_recursive(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> base,</div>
-<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span>    <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span>    <span class="keywordtype">bool</span> ignore_non_dirty_failures);</div>
-<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span> </div>
-<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span><span class="keywordtype">int</span> cgroup_chown_chmod_tasks(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_path,</div>
-<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>                 uid_t uid, gid_t gid, mode_t fperm);</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span><span class="keywordtype">int</span> cgroupv2_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span>                 <span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span><span class="keywordtype">int</span> cgroupv2_get_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>                 <span class="keywordtype">bool</span> * <span class="keyword">const</span> enabled);</div>
 <div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span> </div>
-<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span><span class="keywordtype">int</span> cgroupv2_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
-<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span>                 <span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span><span class="keywordtype">int</span> cgroupv2_controller_enabled(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
 <div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span> </div>
-<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span><span class="keywordtype">int</span> cgroupv2_get_subtree_control(<span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span>                 <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
-<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span>                 <span class="keywordtype">bool</span> * <span class="keyword">const</span> enabled);</div>
-<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span> </div>
-<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span><span class="keywordtype">int</span> cgroupv2_controller_enabled(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> cg_name,</div>
-<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span>                <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</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">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
-<div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</span> </div>
-<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span> </div>
-<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span><span class="preprocessor">#endif</span></div>
-<div class="ttc" id="astructcg__mount__point_html"><div class="ttname"><a href="structcg__mount__point.html">cg_mount_point</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:129</div></div>
-<div class="ttc" id="astructcg__mount__table__s_html"><div class="ttname"><a href="structcg__mount__table__s.html">cg_mount_table_s</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:134</div></div>
-<div class="ttc" id="astructcg__mount__table__s_html_a9704fa3ec3674f6d433345ea52b6aeef"><div class="ttname"><a href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">cg_mount_table_s::mount</a></div><div class="ttdeci">struct cg_mount_point mount</div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:140</div></div>
-<div class="ttc" id="astructcg__mount__table__s_html_aa9b2cc62fb6cb35334f3d85d660c9fa6"><div class="ttname"><a href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">cg_mount_table_s::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:136</div></div>
-<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:108</div></div>
-<div class="ttc" id="astructcgroup__dictionary__item_html"><div class="ttname"><a href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:186</div></div>
-<div class="ttc" id="astructcgroup__dictionary__iterator_html"><div class="ttname"><a href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:216</div></div>
-<div class="ttc" id="astructcgroup__dictionary_html"><div class="ttname"><a href="structcgroup__dictionary.html">cgroup_dictionary</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:209</div></div>
-<div class="ttc" id="astructcgroup__rule__list_html"><div class="ttname"><a href="structcgroup__rule__list.html">cgroup_rule_list</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:167</div></div>
-<div class="ttc" id="astructcgroup__rule_html"><div class="ttname"><a href="structcgroup__rule.html">cgroup_rule</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:155</div></div>
-<div class="ttc" id="astructcgroup__rules__data_html"><div class="ttname"><a href="structcgroup__rules__data.html">cgroup_rules_data</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:145</div></div>
-<div class="ttc" id="astructcgroup__tree__handle_html"><div class="ttname"><a href="structcgroup__tree__handle.html">cgroup_tree_handle</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:174</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:116</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:92</div></div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span><span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span> </div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="astructcg__mount__point_html"><div class="ttname"><a href="structcg__mount__point.html">cg_mount_point</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:122</div></div>
+<div class="ttc" id="astructcg__mount__table__s_html"><div class="ttname"><a href="structcg__mount__table__s.html">cg_mount_table_s</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:127</div></div>
+<div class="ttc" id="astructcg__mount__table__s_html_a9704fa3ec3674f6d433345ea52b6aeef"><div class="ttname"><a href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">cg_mount_table_s::mount</a></div><div class="ttdeci">struct cg_mount_point mount</div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:133</div></div>
+<div class="ttc" id="astructcg__mount__table__s_html_aa9b2cc62fb6cb35334f3d85d660c9fa6"><div class="ttname"><a href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">cg_mount_table_s::name</a></div><div class="ttdeci">char name[FILENAME_MAX]</div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:129</div></div>
+<div class="ttc" id="astructcgroup__controller_html"><div class="ttname"><a href="structcgroup__controller.html">cgroup_controller</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:101</div></div>
+<div class="ttc" id="astructcgroup__dictionary__item_html"><div class="ttname"><a href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:179</div></div>
+<div class="ttc" id="astructcgroup__dictionary__iterator_html"><div class="ttname"><a href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:209</div></div>
+<div class="ttc" id="astructcgroup__dictionary_html"><div class="ttname"><a href="structcgroup__dictionary.html">cgroup_dictionary</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:202</div></div>
+<div class="ttc" id="astructcgroup__rule__list_html"><div class="ttname"><a href="structcgroup__rule__list.html">cgroup_rule_list</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:160</div></div>
+<div class="ttc" id="astructcgroup__rule_html"><div class="ttname"><a href="structcgroup__rule.html">cgroup_rule</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:148</div></div>
+<div class="ttc" id="astructcgroup__rules__data_html"><div class="ttname"><a href="structcgroup__rules__data.html">cgroup_rules_data</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:138</div></div>
+<div class="ttc" id="astructcgroup__tree__handle_html"><div class="ttname"><a href="structcgroup__tree__handle.html">cgroup_tree_handle</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:167</div></div>
+<div class="ttc" id="astructcgroup_html"><div class="ttname"><a href="structcgroup.html">cgroup</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:109</div></div>
+<div class="ttc" id="astructcontrol__value_html"><div class="ttname"><a href="structcontrol__value.html">control_value</a></div><div class="ttdef"><b>Definition:</b> libcgroup-internal.h:85</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 08da936170204b42de4fee143b1966df13a76022..f8d02bcf6cf5089bc48d29bb45b10ee29d445cf5 100644 (file)
@@ -69,38 +69,24 @@ $(function() {
   <div class="headertitle"><div class="title">libcgroup.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright IBM Corporation. 2007</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * Author:  Balbir Singh &lt;balbir@linux.vnet.ibm.com&gt;</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> * This program is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"> * as published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * This program is distributed in the hope that it would be useful, but</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#ifndef _LIBCGROUP_H</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#define _LIBCGROUP_H</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#define _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;libcgroup/error.h&gt;</span></div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;libcgroup/init.h&gt;</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;libcgroup/iterators.h&gt;</span></div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;libcgroup/groups.h&gt;</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;libcgroup/tasks.h&gt;</span></div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;libcgroup/config.h&gt;</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;libcgroup/log.h&gt;</span></div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;libcgroup/tools.h&gt;</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="preprocessor">#undef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_H  */</span><span class="preprocessor"></span></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef _LIBCGROUP_H</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#define _LIBCGROUP_H</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#define _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span> </div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#include &lt;libcgroup/error.h&gt;</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#include &lt;libcgroup/init.h&gt;</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#include &lt;libcgroup/iterators.h&gt;</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#include &lt;libcgroup/groups.h&gt;</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#include &lt;libcgroup/tasks.h&gt;</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &lt;libcgroup/config.h&gt;</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include &lt;libcgroup/log.h&gt;</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#include &lt;libcgroup/tools.h&gt;</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">#undef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_H  */</span><span class="preprocessor"></span></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index e41e55fd4265ebb9561f6f46b46138ae3ca2bc13..0e9a11df554d83076e707e4d68f8b406148c10c0 100644 (file)
@@ -69,58 +69,59 @@ $(function() {
   <div class="headertitle"><div class="title">log.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="preprocessor">#ifndef _LIBCGROUP_LOG_H</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#define _LIBCGROUP_LOG_H</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">   72</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">cgroup_log_level</a> {</div>
-<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">   77</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">CGROUP_LOG_ERROR</a> = 1,</div>
-<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057">   81</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057">CGROUP_LOG_WARNING</a>,</div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2">   86</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2">CGROUP_LOG_INFO</a>,</div>
-<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72">   90</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72">CGROUP_LOG_DEBUG</a>,</div>
-<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>};</div>
-<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><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="l00094" name="l00094"></a><span class="lineno">   94</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> </div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</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="l00110" name="l00110"></a><span class="lineno">  110</span>        <span class="keywordtype">void</span> *userdata);</div>
-<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</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="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c">cgroup_set_loglevel</a>(<span class="keywordtype">int</span> loglevel);</div>
-<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</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="l00136" name="l00136"></a><span class="lineno">  136</span> </div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</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="l00147" name="l00147"></a><span class="lineno">  147</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span> </div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</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:49</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:72</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:63</div></div>
-<div class="ttc" id="agroup__group__log_html_gaac5fe2352800ff62465a5abe649d5b8c"><div class="ttname"><a href="group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c">cgroup_set_loglevel</a></div><div class="ttdeci">void cgroup_set_loglevel(int loglevel)</div><div class="ttdef"><b>Definition:</b> log.c:87</div></div>
-<div class="ttc" id="agroup__group__log_html_gab1457ce518dcde0b9f3c14ec9efa2de7"><div class="ttname"><a href="group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7">cgroup_set_default_logger</a></div><div class="ttdeci">void cgroup_set_default_logger(int loglevel)</div><div class="ttdef"><b>Definition:</b> log.c:57</div></div>
-<div class="ttc" id="agroup__group__log_html_gab514ad5d83422ddfe479bdf651e80958"><div class="ttname"><a href="group__group__log.html#gab514ad5d83422ddfe479bdf651e80958">cgroup_log</a></div><div class="ttdeci">void cgroup_log(int loglevel, const char *fmt,...)</div><div class="ttdef"><b>Definition:</b> log.c:34</div></div>
-<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">CGROUP_LOG_ERROR</a></div><div class="ttdeci">@ CGROUP_LOG_ERROR</div><div class="ttdef"><b>Definition:</b> log.h:77</div></div>
-<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72">CGROUP_LOG_DEBUG</a></div><div class="ttdeci">@ CGROUP_LOG_DEBUG</div><div class="ttdef"><b>Definition:</b> log.h:90</div></div>
-<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057">CGROUP_LOG_WARNING</a></div><div class="ttdeci">@ CGROUP_LOG_WARNING</div><div class="ttdef"><b>Definition:</b> log.h:81</div></div>
-<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2">CGROUP_LOG_INFO</a></div><div class="ttdeci">@ CGROUP_LOG_INFO</div><div class="ttdef"><b>Definition:</b> log.h:86</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#ifndef _LIBCGROUP_LOG_H</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="preprocessor">#define _LIBCGROUP_LOG_H</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span> </div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">   73</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">cgroup_log_level</a> {</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">   78</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">CGROUP_LOG_ERROR</a> = 1,</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057">   82</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057">CGROUP_LOG_WARNING</a>,</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2">   87</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2">CGROUP_LOG_INFO</a>,</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72">   91</a></span>    <a class="code hl_enumvalue" href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72">CGROUP_LOG_DEBUG</a>,</div>
+<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="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="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="l00128" name="l00128"></a><span class="lineno">  128</span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c">cgroup_set_loglevel</a>(<span class="keywordtype">int</span> loglevel);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</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 &quot;C&quot; */</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="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="ttc" id="agroup__group__log_html_gaac5fe2352800ff62465a5abe649d5b8c"><div class="ttname"><a href="group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c">cgroup_set_loglevel</a></div><div class="ttdeci">void cgroup_set_loglevel(int loglevel)</div><div class="ttdef"><b>Definition:</b> log.c:80</div></div>
+<div class="ttc" id="agroup__group__log_html_gab1457ce518dcde0b9f3c14ec9efa2de7"><div class="ttname"><a href="group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7">cgroup_set_default_logger</a></div><div class="ttdeci">void cgroup_set_default_logger(int loglevel)</div><div class="ttdef"><b>Definition:</b> log.c:50</div></div>
+<div class="ttc" id="agroup__group__log_html_gab514ad5d83422ddfe479bdf651e80958"><div class="ttname"><a href="group__group__log.html#gab514ad5d83422ddfe479bdf651e80958">cgroup_log</a></div><div class="ttdeci">void cgroup_log(int loglevel, const char *fmt,...)</div><div class="ttdef"><b>Definition:</b> log.c:27</div></div>
+<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2">CGROUP_LOG_ERROR</a></div><div class="ttdeci">@ CGROUP_LOG_ERROR</div><div class="ttdef"><b>Definition:</b> log.h:78</div></div>
+<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72">CGROUP_LOG_DEBUG</a></div><div class="ttdeci">@ CGROUP_LOG_DEBUG</div><div class="ttdef"><b>Definition:</b> log.h:91</div></div>
+<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057">CGROUP_LOG_WARNING</a></div><div class="ttdeci">@ CGROUP_LOG_WARNING</div><div class="ttdef"><b>Definition:</b> log.h:82</div></div>
+<div class="ttc" id="agroup__group__log_html_gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2"><div class="ttname"><a href="group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2">CGROUP_LOG_INFO</a></div><div class="ttdeci">@ CGROUP_LOG_INFO</div><div class="ttdef"><b>Definition:</b> log.h:87</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index ec21ff9b90cc55b96a5c3753815e7c156afa5d20..dbec338ab81267f29045912acc0915fd946e7039 100644 (file)
@@ -69,80 +69,81 @@ $(function() {
   <div class="headertitle"><div class="title">tasks.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="preprocessor">#ifndef _LIBCGROUP_TASKS_H</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#define _LIBCGROUP_TASKS_H</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#include &lt;libcgroup/groups.h&gt;</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span> </div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span> </div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="keyword">enum</span> cgflags {</div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span>    CGFLAG_USECACHE = 0x01,</div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span>    CGFLAG_USE_TEMPLATE_CACHE = 0x02,</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> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">enum</span> cgroup_daemon_type {</div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    CGROUP_DAEMON_UNCHANGE_CHILDREN       = 0x1,</div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    CGROUP_DAEMON_CANCEL_UNCHANGE_PROCESS = 0x2,</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> </div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188">cgroup_attach_task</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="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
-<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</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="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</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="l00072" name="l00072"></a><span class="lineno">   72</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> </div>
-<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</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="l00083" name="l00083"></a><span class="lineno">   83</span>                    <span class="keywordtype">char</span> **current_path);</div>
-<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span> </div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</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="l00100" name="l00100"></a><span class="lineno">  100</span> </div>
-<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce">cgroup_reload_cached_rules</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span> </div>
-<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a">cgroup_print_rules_config</a>(FILE *fp);</div>
-<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</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="l00135" name="l00135"></a><span class="lineno">  135</span> </div>
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</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="l00156" name="l00156"></a><span class="lineno">  156</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> </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__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a>(uid_t uid, gid_t gid,</div>
-<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</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> </div>
-<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</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="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c">cgroup_register_unchanged_process</a>(pid_t pid, <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
-<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
-<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_TASKS_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__tasks_html_ga2d4677baef780c003fc6fba6b5dc78f2"><div class="ttname"><a href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a></div><div class="ttdeci">int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])</div><div class="ttdef"><b>Definition:</b> api.c:4277</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga368e7b8e19b3943ab6fb50e76a09e6ea"><div class="ttname"><a href="group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea">cgroup_change_cgroup_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4043</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga43414ac2b1fc73bbb46b6278c7500188"><div class="ttname"><a href="group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188">cgroup_attach_task</a></div><div class="ttdeci">int cgroup_attach_task(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:1870</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga5eab78a922dbacd368360f03c70146be"><div class="ttname"><a href="group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be">cgroup_change_cgroup_uid_gid</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid)</div><div class="ttdef"><b>Definition:</b> api.c:4265</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga64f7967d6d5edfff9afddaa6a6974b1c"><div class="ttname"><a href="group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c">cgroup_register_unchanged_process</a></div><div class="ttdeci">int cgroup_register_unchanged_process(pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:5467</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga6f2c17b99cf2526cb46df4769eb3f46e"><div class="ttname"><a href="group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e">cgroup_get_current_controller_path</a></div><div class="ttdeci">int cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path)</div><div class="ttdef"><b>Definition:</b> api.c:4499</div></div>
-<div class="ttc" id="agroup__group__tasks_html_ga9c7532681986d156ac3f6bac1fcf6aab"><div class="ttname"><a href="group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab">cgroup_attach_task_pid</a></div><div class="ttdeci">int cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid)</div><div class="ttdef"><b>Definition:</b> api.c:1802</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gac4e3f29cfbdc3d77f08c9fe60857274a"><div class="ttname"><a href="group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a">cgroup_print_rules_config</a></div><div class="ttdeci">void cgroup_print_rules_config(FILE *fp)</div><div class="ttdef"><b>Definition:</b> api.c:4391</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gad7fa5a2c4db08d31da5bfbecaf482d3d"><div class="ttname"><a href="group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d">cgroup_init_rules_cache</a></div><div class="ttdeci">int cgroup_init_rules_cache(void)</div><div class="ttdef"><b>Definition:</b> api.c:4477</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gae472183a7c9a37826ef15c77014c47fb"><div class="ttname"><a href="group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4248</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gaf81ebd9cb5575c75b4c85f385ebda1ce"><div class="ttname"><a href="group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce">cgroup_reload_cached_rules</a></div><div class="ttdeci">int cgroup_reload_cached_rules(void)</div><div class="ttdef"><b>Definition:</b> api.c:4451</div></div>
-<div class="ttc" id="agroup__group__tasks_html_gafc69658b012b6f1c11ba078ffccd70a2"><div class="ttname"><a href="group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2">cgroup_change_all_cgroups</a></div><div class="ttdeci">int cgroup_change_all_cgroups(void)</div><div class="ttdef"><b>Definition:</b> api.c:4345</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:116</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#ifndef _LIBCGROUP_TASKS_H</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="preprocessor">#define _LIBCGROUP_TASKS_H</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#include &lt;libcgroup/groups.h&gt;</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="keyword">enum</span> cgflags {</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span>    CGFLAG_USECACHE = 0x01,</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span>    CGFLAG_USE_TEMPLATE_CACHE = 0x02,</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> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">enum</span> cgroup_daemon_type {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    CGROUP_DAEMON_UNCHANGE_CHILDREN       = 0x1,</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    CGROUP_DAEMON_CANCEL_UNCHANGE_PROCESS = 0x2,</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> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188">cgroup_attach_task</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="l00053" name="l00053"></a><span class="lineno">   53</span> </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="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="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="l00106" name="l00106"></a><span class="lineno">  106</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce">cgroup_reload_cached_rules</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a">cgroup_print_rules_config</a>(FILE *fp);</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</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="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="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="l00204" name="l00204"></a><span class="lineno">  204</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c">cgroup_register_unchanged_process</a>(pid_t pid, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_TASKS_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="agroup__group__tasks_html_ga2d4677baef780c003fc6fba6b5dc78f2"><div class="ttname"><a href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a></div><div class="ttdeci">int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])</div><div class="ttdef"><b>Definition:</b> api.c:4270</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga368e7b8e19b3943ab6fb50e76a09e6ea"><div class="ttname"><a href="group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea">cgroup_change_cgroup_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4036</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga43414ac2b1fc73bbb46b6278c7500188"><div class="ttname"><a href="group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188">cgroup_attach_task</a></div><div class="ttdeci">int cgroup_attach_task(struct cgroup *cgroup)</div><div class="ttdef"><b>Definition:</b> api.c:1863</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga5eab78a922dbacd368360f03c70146be"><div class="ttname"><a href="group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be">cgroup_change_cgroup_uid_gid</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid)</div><div class="ttdef"><b>Definition:</b> api.c:4258</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga64f7967d6d5edfff9afddaa6a6974b1c"><div class="ttname"><a href="group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c">cgroup_register_unchanged_process</a></div><div class="ttdeci">int cgroup_register_unchanged_process(pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:5460</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga6f2c17b99cf2526cb46df4769eb3f46e"><div class="ttname"><a href="group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e">cgroup_get_current_controller_path</a></div><div class="ttdeci">int cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path)</div><div class="ttdef"><b>Definition:</b> api.c:4492</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga9c7532681986d156ac3f6bac1fcf6aab"><div class="ttname"><a href="group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab">cgroup_attach_task_pid</a></div><div class="ttdeci">int cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid)</div><div class="ttdef"><b>Definition:</b> api.c:1795</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gac4e3f29cfbdc3d77f08c9fe60857274a"><div class="ttname"><a href="group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a">cgroup_print_rules_config</a></div><div class="ttdeci">void cgroup_print_rules_config(FILE *fp)</div><div class="ttdef"><b>Definition:</b> api.c:4384</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gad7fa5a2c4db08d31da5bfbecaf482d3d"><div class="ttname"><a href="group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d">cgroup_init_rules_cache</a></div><div class="ttdeci">int cgroup_init_rules_cache(void)</div><div class="ttdef"><b>Definition:</b> api.c:4470</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gae472183a7c9a37826ef15c77014c47fb"><div class="ttname"><a href="group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a></div><div class="ttdeci">int cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags)</div><div class="ttdef"><b>Definition:</b> api.c:4241</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gaf81ebd9cb5575c75b4c85f385ebda1ce"><div class="ttname"><a href="group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce">cgroup_reload_cached_rules</a></div><div class="ttdeci">int cgroup_reload_cached_rules(void)</div><div class="ttdef"><b>Definition:</b> api.c:4444</div></div>
+<div class="ttc" id="agroup__group__tasks_html_gafc69658b012b6f1c11ba078ffccd70a2"><div class="ttname"><a href="group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2">cgroup_change_all_cgroups</a></div><div class="ttdeci">int cgroup_change_all_cgroups(void)</div><div class="ttdef"><b>Definition:</b> api.c:4338</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 -->
 <hr class="footer"/><address class="footer"><small>
index b2a96e8bdfc5953f768cf93cf091b197ba909318..3122722a62c9cf83f6b8c9e870d1780effc9bee2 100644 (file)
@@ -69,89 +69,74 @@ $(function() {
   <div class="headertitle"><div class="title">tools-common.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright Red Hat, Inc. 2009</span></div>
-<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * Author:  Vivek Goyal &lt;vgoyal@redhat.com&gt;</span></div>
-<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> *      Jan Safranek &lt;jsafrane@redhat.com&gt;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * This program is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> * as published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * This program is distributed in the hope that it would be useful, but</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment"> */</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">#ifndef __TOOLS_COMMON</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#define __TOOLS_COMMON</span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &quot;config.h&quot;</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;libcgroup.h&gt;</span></div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &quot;../libcgroup-internal.h&quot;</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#define cgroup_err(x...) cgroup_log(CGROUP_LOG_ERROR, &quot;Error: &quot;</span> x)</div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#define cgroup_warn(x...) cgroup_log(CGROUP_LOG_WARNING, &quot;Warning: &quot;</span> x)</div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#define cgroup_info(x...) cgroup_log(CGROUP_LOG_INFO, &quot;Info: &quot;</span> x)</div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#define cgroup_dbg(x...) cgroup_log(CGROUP_LOG_DEBUG, x)</span></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef __TOOLS_COMMON</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#define __TOOLS_COMMON</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</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">&quot;C&quot;</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 &quot;config.h&quot;</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#include &lt;libcgroup.h&gt;</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &quot;../libcgroup-internal.h&quot;</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, &quot;Error: &quot;</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, &quot;Warning: &quot;</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, &quot;Info: &quot;</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="l00036" name="l00036"></a><span class="lineno"><a class="line" href="structcgroup__group__spec.html">   36</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="l00037" name="l00037"></a><span class="lineno">   37</span>    <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keywordtype">char</span> *controllers[CG_CONTROLLER_MAX];</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> </div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="structcgroup__string__list.html">   45</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="l00046" name="l00046"></a><span class="lineno">   46</span>    <span class="keywordtype">char</span> **items;</div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    <span class="keywordtype">int</span> size;</div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>    <span class="keywordtype">int</span> count;</div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>};</div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
-<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</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="l00065" name="l00065"></a><span class="lineno">   65</span>        <span class="keywordtype">int</span> capacity);</div>
-<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</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="l00072" name="l00072"></a><span class="lineno">   72</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="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="l00079" name="l00079"></a><span class="lineno">   79</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="l00080" name="l00080"></a><span class="lineno">   80</span>        <span class="keywordtype">int</span> initial_size);</div>
-<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</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="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
-<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</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="l00095" name="l00095"></a><span class="lineno">   95</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *item);</div>
-<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</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="l00107" name="l00107"></a><span class="lineno">  107</span>        <span class="keywordtype">char</span> *dirname, <span class="keywordtype">char</span> *program_name);</div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</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="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="l00116" name="l00116"></a><span class="lineno">  116</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="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</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="l00126" name="l00126"></a><span class="lineno">  126</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *program_name);</div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> </div>
-<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span><span class="preprocessor">#ifdef UNIT_TEST</span></div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</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="l00136" name="l00136"></a><span class="lineno">  136</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="l00137" name="l00137"></a><span class="lineno">  137</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="l00138" name="l00138"></a><span class="lineno">  138</span> </div>
-<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span><span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
-<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</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:36</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:45</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:92</div></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 &quot;C&quot; */</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="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 -->
 <hr class="footer"/><address class="footer"><small>
index 30b7276148d8f98ec9585186888689a9899af221..893fa9965587588fcb36eee4eace53149cfb3570 100644 (file)
@@ -69,49 +69,36 @@ $(function() {
   <div class="headertitle"><div class="title">tools.h</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">/*</span></div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> * This library is free software; you can redistribute it and/or modify it</span></div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License as</span></div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> * published by the Free Software Foundation.</span></div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> * This library is distributed in the hope that it will be useful, but WITHOUT</span></div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment"> * for more details.</span></div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="comment"> *</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment"> * along with this library; if not, see &lt;http://www.gnu.org/licenses&gt;.</span></div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="comment"> */</span></div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#ifndef _LIBCGROUP_TOOLS_H</span></div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#define _LIBCGROUP_TOOLS_H</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#endif</span></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><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
-<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</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="l00054" name="l00054"></a><span class="lineno">   54</span>          <span class="keyword">enum</span> cg_version_t version, <span class="keywordtype">bool</span> ignore_unmappable);</div>
-<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
-<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</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>
-<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>          <span class="keyword">enum</span> cg_version_t version, <span class="keywordtype">bool</span> ignore_unmappable);</div>
-<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span> </div>
-<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span> </div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_TOOLS_H */</span><span class="preprocessor"></span></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:116</div></div>
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* SPDX-License-Identifier: LGPL-2.1-only */</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef _LIBCGROUP_TOOLS_H</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#define _LIBCGROUP_TOOLS_H</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#endif</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">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</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="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>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>          <span class="keyword">enum</span> cg_version_t version, <span class="keywordtype">bool</span> ignore_unmappable);</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span><span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_TOOLS_H */</span><span class="preprocessor"></span></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 -->
 <hr class="footer"/><address class="footer"><small>