]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
deploy: 5e523a31f3880b771dbb8b924c04ad39b24d5b1a
authordrakenclimber <drakenclimber@users.noreply.github.com>
Thu, 3 Feb 2022 22:07:41 +0000 (22:07 +0000)
committerdrakenclimber <drakenclimber@users.noreply.github.com>
Thu, 3 Feb 2022 22:07:41 +0000 (22:07 +0000)
66 files changed:
abstraction-common_8h_source.html [new file with mode: 0644]
abstraction-map_8h_source.html [new file with mode: 0644]
annotated.html
classes.html
config_8h_source.html
dir_5c0d64f70903e893b1efe571a4b8de29.html [moved from dir_bab0433f19b0a5661c5e0a15547f54b2.html with 90% similarity]
dir_68267d1309a1af8e8297ef4c3efbcdba.html
dir_ea91a2a72b7cbbf988d2bd2cd1d23e49.html [deleted file]
error_8h_source.html
files.html
group__group__errors.html
group__group__groups.html
group__group__init.html [deleted file]
group__group__iterators.html
group__group__log.html
group__group__tasks.html
groups_8h_source.html
index.html
init_8h_source.html [deleted file]
iterators_8h_source.html
libcgroup-internal_8h_source.html
libcgroup_8h_source.html
modules.html
search/all_0.js
search/all_1.js
search/all_10.js
search/all_11.js
search/all_12.js
search/all_13.js
search/all_14.html [deleted file]
search/all_14.js [deleted file]
search/all_2.js
search/all_3.js
search/all_4.js
search/all_5.js
search/all_6.js
search/all_7.js
search/all_8.js
search/all_9.js
search/all_a.js
search/all_b.js
search/all_c.js
search/all_d.js
search/all_e.js
search/all_f.js
search/classes_2.js
search/classes_3.js
search/classes_4.js
search/classes_5.js
search/enumvalues_1.js
search/functions_0.js
search/groups_0.js
search/groups_1.js
search/groups_2.js
search/groups_3.js
search/groups_4.js
search/groups_5.js
search/groups_6.html [deleted file]
search/groups_6.js [deleted file]
search/searchdata.js
structcgroup__abstraction__map.html [new file with mode: 0644]
structcgroup__controller.html
structcontrol__value.html
tasks_8h_source.html
todo.html
tools_8h_source.html [new file with mode: 0644]

diff --git a/abstraction-common_8h_source.html b/abstraction-common_8h_source.html
new file mode 100644 (file)
index 0000000..d757566
--- /dev/null
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>libcgroup: src/abstraction-common.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libcgroup
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">abstraction-common.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or modify it</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License as</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * published by the Free Software Foundation.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful, but WITHOUT</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * for more details.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * along with this library; if not, see &lt;http://www.gnu.org/licenses&gt;.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef __ABSTRACTION_COMMON</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define __ABSTRACTION_COMMON</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;libcgroup.h&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;libcgroup-internal.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<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 name="l00044"></a><span class="lineno">   44</span>&#160;          <span class="keywordtype">long</span> <span class="keywordtype">int</span> * <span class="keyword">const</span> out_value);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">int</span> cgroup_convert_int(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;               <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keywordtype">int</span> cgroup_convert_name_only(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                 <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                 <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                 <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">int</span> cgroup_convert_passthrough(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                   <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordtype">int</span> cgroup_convert_unmappable(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                  <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">/* cpu */</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpu_nto1(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> out_cgc,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> in_cgc);</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpu_quota_to_max(</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpu_period_to_max(</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpu_max_to_quota(</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpu_max_to_period(</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">/* cpuset */</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpuset_to_exclusive(</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cpuset_to_partition(</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<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:106</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+</small></address>
+</body>
+</html>
diff --git a/abstraction-map_8h_source.html b/abstraction-map_8h_source.html
new file mode 100644 (file)
index 0000000..95a166a
--- /dev/null
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>libcgroup: src/abstraction-map.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libcgroup
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">abstraction-map.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or modify it</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License as</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * published by the Free Software Foundation.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful, but WITHOUT</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * for more details.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * along with this library; if not, see &lt;http://www.gnu.org/licenses&gt;.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef __ABSTRACTION_MAP</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define __ABSTRACTION_MAP</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structcgroup__abstraction__map.html">   28</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="comment">/* if the conversion isn&#39;t a one-to-one mapping or the mathematical</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">     * conversion is unique, create a custom conversion function.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">     */</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    int (*cgroup_convert)(<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst_cgc,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> in_value,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> out_setting,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                  <span class="keywordtype">void</span> *in_dflt, <span class="keywordtype">void</span> *out_dflt);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keywordtype">char</span> *in_setting;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordtype">void</span> *in_dflt;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordtype">char</span> *out_setting;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordtype">void</span> *out_dflt;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;};</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> cgroup_v1_to_v2_map[];</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<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 name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a> cgroup_v2_to_v1_map[];</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<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 name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<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:106</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+</small></address>
+</body>
+</html>
index 3a1dfcf9e1a24c0edabf588d194f8d10ab466100..c25f8cdd213b24132db5fe1361f5a447ddd71383 100644 (file)
@@ -73,24 +73,25 @@ $(function() {
 <tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcg__mount__point.html" target="_self">cg_mount_point</a></td><td class="desc"></td></tr>
 <tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcg__mount__table__s.html" target="_self">cg_mount_table_s</a></td><td class="desc"></td></tr>
 <tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup.html" target="_self">cgroup</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__controller.html" target="_self">cgroup_controller</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__dictionary.html" target="_self">cgroup_dictionary</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__dictionary__item.html" target="_self">cgroup_dictionary_item</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__dictionary__iterator.html" target="_self">cgroup_dictionary_iterator</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__file__info.html" target="_self">cgroup_file_info</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__group__spec.html" target="_self">cgroup_group_spec</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__mount__point.html" target="_self">cgroup_mount_point</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__rule.html" target="_self">cgroup_rule</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__rule__list.html" target="_self">cgroup_rule_list</a></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__rules__data.html" target="_self">cgroup_rules_data</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__stat.html" target="_self">cgroup_stat</a></td><td class="desc"></td></tr>
-<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__string__list.html" target="_self">cgroup_string_list</a></td><td class="desc"></td></tr>
-<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__tree__handle.html" target="_self">cgroup_tree_handle</a></td><td class="desc"></td></tr>
-<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcontrol__value.html" target="_self">control_value</a></td><td class="desc"></td></tr>
-<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcontroller__data.html" target="_self">controller_data</a></td><td class="desc"></td></tr>
-<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structext__cgroup__record.html" target="_self">ext_cgroup_record</a></td><td class="desc"></td></tr>
-<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structparent__info.html" target="_self">parent_info</a></td><td class="desc"></td></tr>
-<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structunchanged__pid.html" target="_self">unchanged_pid</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__abstraction__map.html" target="_self">cgroup_abstraction_map</a></td><td class="desc"></td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__controller.html" target="_self">cgroup_controller</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__dictionary.html" target="_self">cgroup_dictionary</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__dictionary__item.html" target="_self">cgroup_dictionary_item</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__dictionary__iterator.html" target="_self">cgroup_dictionary_iterator</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__file__info.html" target="_self">cgroup_file_info</a></td><td class="desc"></td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__group__spec.html" target="_self">cgroup_group_spec</a></td><td class="desc"></td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__mount__point.html" target="_self">cgroup_mount_point</a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__rule.html" target="_self">cgroup_rule</a></td><td class="desc"></td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__rule__list.html" target="_self">cgroup_rule_list</a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__rules__data.html" target="_self">cgroup_rules_data</a></td><td class="desc"></td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__stat.html" target="_self">cgroup_stat</a></td><td class="desc"></td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__string__list.html" target="_self">cgroup_string_list</a></td><td class="desc"></td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcgroup__tree__handle.html" target="_self">cgroup_tree_handle</a></td><td class="desc"></td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcontrol__value.html" target="_self">control_value</a></td><td class="desc"></td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcontroller__data.html" target="_self">controller_data</a></td><td class="desc"></td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structext__cgroup__record.html" target="_self">ext_cgroup_record</a></td><td class="desc"></td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structparent__info.html" target="_self">parent_info</a></td><td class="desc"></td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structunchanged__pid.html" target="_self">unchanged_pid</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
index 20885cd3d36057d93040eb27e671b10201cd4ee3..9360f560b020137df27c6961267c304b1aaf9ca1 100644 (file)
@@ -75,7 +75,7 @@ $(function() {
 <dd><a class="el" href="structblack__list__type.html">black_list_type</a></dd></dl>
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_C">C</a></dt>
-<dd><a class="el" href="structcg__mount__point.html">cg_mount_point</a></dd><dd><a class="el" href="structcg__mount__table__s.html">cg_mount_table_s</a></dd><dd><a class="el" href="structcgroup.html">cgroup</a></dd><dd><a class="el" href="structcgroup__controller.html">cgroup_controller</a></dd><dd><a class="el" href="structcgroup__dictionary.html">cgroup_dictionary</a></dd><dd><a class="el" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a></dd><dd><a class="el" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a></dd><dd><a class="el" href="structcgroup__file__info.html">cgroup_file_info</a></dd><dd><a class="el" href="structcgroup__group__spec.html">cgroup_group_spec</a></dd><dd><a class="el" href="structcgroup__mount__point.html">cgroup_mount_point</a></dd><dd><a class="el" href="structcgroup__rule.html">cgroup_rule</a></dd><dd><a class="el" href="structcgroup__rule__list.html">cgroup_rule_list</a></dd><dd><a class="el" href="structcgroup__rules__data.html">cgroup_rules_data</a></dd><dd><a class="el" href="structcgroup__stat.html">cgroup_stat</a></dd><dd><a class="el" href="structcgroup__string__list.html">cgroup_string_list</a></dd><dd><a class="el" href="structcgroup__tree__handle.html">cgroup_tree_handle</a></dd><dd><a class="el" href="structcontrol__value.html">control_value</a></dd><dd><a class="el" href="structcontroller__data.html">controller_data</a></dd></dl>
+<dd><a class="el" href="structcg__mount__point.html">cg_mount_point</a></dd><dd><a class="el" href="structcg__mount__table__s.html">cg_mount_table_s</a></dd><dd><a class="el" href="structcgroup.html">cgroup</a></dd><dd><a class="el" href="structcgroup__abstraction__map.html">cgroup_abstraction_map</a></dd><dd><a class="el" href="structcgroup__controller.html">cgroup_controller</a></dd><dd><a class="el" href="structcgroup__dictionary.html">cgroup_dictionary</a></dd><dd><a class="el" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a></dd><dd><a class="el" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a></dd><dd><a class="el" href="structcgroup__file__info.html">cgroup_file_info</a></dd><dd><a class="el" href="structcgroup__group__spec.html">cgroup_group_spec</a></dd><dd><a class="el" href="structcgroup__mount__point.html">cgroup_mount_point</a></dd><dd><a class="el" href="structcgroup__rule.html">cgroup_rule</a></dd><dd><a class="el" href="structcgroup__rule__list.html">cgroup_rule_list</a></dd><dd><a class="el" href="structcgroup__rules__data.html">cgroup_rules_data</a></dd><dd><a class="el" href="structcgroup__stat.html">cgroup_stat</a></dd><dd><a class="el" href="structcgroup__string__list.html">cgroup_string_list</a></dd><dd><a class="el" href="structcgroup__tree__handle.html">cgroup_tree_handle</a></dd><dd><a class="el" href="structcontrol__value.html">control_value</a></dd><dd><a class="el" href="structcontroller__data.html">controller_data</a></dd></dl>
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_E">E</a></dt>
 <dd><a class="el" href="structext__cgroup__record.html">ext_cgroup_record</a></dd></dl>
index 4c821c80e6e7b39074aaf8100fcb229419b85d97..6ba64fc7d9e490226c7bc53a513df2a5519f76de 100644 (file)
@@ -121,7 +121,7 @@ $(function() {
 <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:1624</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:1256</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:106</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:114</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
similarity index 90%
rename from dir_bab0433f19b0a5661c5e0a15547f54b2.html
rename to dir_5c0d64f70903e893b1efe571a4b8de29.html
index f47ddbc19a55fcb9832fcac1a01355dae039b0c6..b83e22d04bff2b763a045982772b3941e11fbf40 100644 (file)
@@ -5,7 +5,7 @@
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <meta name="generator" content="Doxygen 1.9.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>libcgroup: src/bindings/tests Directory Reference</title>
+<title>libcgroup: src/python Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="dynsections.js"></script>
@@ -61,12 +61,12 @@ $(function() {
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ea91a2a72b7cbbf988d2bd2cd1d23e49.html">bindings</a></li><li class="navelem"><a class="el" href="dir_bab0433f19b0a5661c5e0a15547f54b2.html">tests</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5c0d64f70903e893b1efe571a4b8de29.html">python</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
   <div class="headertitle">
-<div class="title">tests Directory Reference</div>  </div>
+<div class="title">python Directory Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
 </div><!-- contents -->
index 09d611c29d2fbe973db0f9eec040d9d4bc043285..aefbd5602ac3ee29d7b7e9c0075bc06004521b14 100644 (file)
@@ -72,8 +72,6 @@ $(function() {
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
 Directories</h2></td></tr>
-<tr class="memitem:dir_ea91a2a72b7cbbf988d2bd2cd1d23e49"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_ea91a2a72b7cbbf988d2bd2cd1d23e49.html">bindings</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
diff --git a/dir_ea91a2a72b7cbbf988d2bd2cd1d23e49.html b/dir_ea91a2a72b7cbbf988d2bd2cd1d23e49.html
deleted file mode 100644 (file)
index e1c5c3c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>libcgroup: src/bindings Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">libcgroup
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ea91a2a72b7cbbf988d2bd2cd1d23e49.html">bindings</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">bindings Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
-Directories</h2></td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
index 6b7531776e3624fa13e30a89fd2edc5ce51cbd9b..cda31fb2620a1f17786e559eab4ab0082a4f40eb 100644 (file)
@@ -116,23 +116,25 @@ $(function() {
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    ECGROUPUNSUPP,</div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    ECGCANTSETVALUE,</div>
 <div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">   76</a></span>&#160;    <a class="code" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">ECGNONEMPTY</a>,</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;};</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
-<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="group__group__errors.html#ga515eba7218b187ffe263b7d9ecb3ac1b">   82</a></span>&#160;<span class="preprocessor">#define ECGRULESPARSEFAIL   ECGROUPPARSEFAIL</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b">cgroup_strerror</a>(<span class="keywordtype">int</span> code);</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<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:4469</div></div>
-<div class="ttc" id="agroup__group__errors_html_gaeae1d51db8528c89d84501c745020e6b"><div class="ttname"><a href="group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b">cgroup_strerror</a></div><div class="ttdeci">const char * cgroup_strerror(int code)</div><div class="ttdef"><b>Definition:</b> api.c:4458</div></div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">   78</a></span>&#160;    <a class="code" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a>,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;};</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group__group__errors.html#ga515eba7218b187ffe263b7d9ecb3ac1b">   84</a></span>&#160;<span class="preprocessor">#define ECGRULESPARSEFAIL   ECGROUPPARSEFAIL</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b">cgroup_strerror</a>(<span class="keywordtype">int</span> code);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46">cgroup_get_last_errno</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<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:4484</div></div>
+<div class="ttc" id="agroup__group__errors_html_gaeae1d51db8528c89d84501c745020e6b"><div class="ttname"><a href="group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b">cgroup_strerror</a></div><div class="ttdeci">const char * cgroup_strerror(int code)</div><div class="ttdef"><b>Definition:</b> api.c:4473</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>
index d33daade983dd21b7e37e01016465bdf86009772..00b591aa210e4f36e558bc02434d05c9dae2684d 100644 (file)
@@ -72,17 +72,19 @@ $(function() {
 <tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="config_8h_source.html"><span class="icondoc"></span></a><b>config.h</b></td><td class="desc"></td></tr>
 <tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="error_8h_source.html"><span class="icondoc"></span></a><b>error.h</b></td><td class="desc"></td></tr>
 <tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="groups_8h_source.html"><span class="icondoc"></span></a><b>groups.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="init_8h_source.html"><span class="icondoc"></span></a><b>init.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="iterators_8h_source.html"><span class="icondoc"></span></a><b>iterators.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="log_8h_source.html"><span class="icondoc"></span></a><b>log.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="tasks_8h_source.html"><span class="icondoc"></span></a><b>tasks.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="iterators_8h_source.html"><span class="icondoc"></span></a><b>iterators.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="log_8h_source.html"><span class="icondoc"></span></a><b>log.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="tasks_8h_source.html"><span class="icondoc"></span></a><b>tasks.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="tools_8h_source.html"><span class="icondoc"></span></a><b>tools.h</b></td><td class="desc"></td></tr>
 <tr id="row_0_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="libcgroup_8h_source.html"><span class="icondoc"></span></a><b>libcgroup.h</b></td><td class="desc"></td></tr>
 <tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
 <tr id="row_1_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')">&#160;</span><a class="el" href="dir_2d094300ae4f2c55dd459b9ec7dd0ad3.html" target="_self">daemon</a></td><td class="desc"></td></tr>
 <tr id="row_1_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="cgrulesengd_8h_source.html"><span class="icondoc"></span></a><b>cgrulesengd.h</b></td><td class="desc"></td></tr>
 <tr id="row_1_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9660;</span><span id="img_1_1_" class="iconfopen" onclick="toggleFolder('1_1_')">&#160;</span><a class="el" href="dir_1563a38af0d3a5e4a6330d6d45e9792a.html" target="_self">tools</a></td><td class="desc"></td></tr>
 <tr id="row_1_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="tools-common_8h_source.html"><span class="icondoc"></span></a><b>tools-common.h</b></td><td class="desc"></td></tr>
-<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="libcgroup-internal_8h_source.html"><span class="icondoc"></span></a><b>libcgroup-internal.h</b></td><td class="desc"></td></tr>
+<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="abstraction-common_8h_source.html"><span class="icondoc"></span></a><b>abstraction-common.h</b></td><td class="desc"></td></tr>
+<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="abstraction-map_8h_source.html"><span class="icondoc"></span></a><b>abstraction-map.h</b></td><td class="desc"></td></tr>
+<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="libcgroup-internal_8h_source.html"><span class="icondoc"></span></a><b>libcgroup-internal.h</b></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
index f14b75d5b602dd4a9fb24db3a68f07bc6ed3ac5a..543dcddce14bdc981285848b521295a81e70f50f 100644 (file)
@@ -108,6 +108,7 @@ $(function() {
 , <br />
 &#160;&#160;<b>ECGCANTSETVALUE</b>
 , <a class="el" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11">ECGNONEMPTY</a>
+, <a class="el" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960">ECGNOVERSIONCONVERT</a>
 <br />
  }</td></tr>
 <tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -162,6 +163,8 @@ $(function() {
 </td></tr>
 <tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11"></a>ECGNONEMPTY&#160;</td><td class="fielddoc"><p>Removing of a group failed because it was not empty. </p>
 </td></tr>
+<tr><td class="fieldname"><a id="gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960"></a>ECGNOVERSIONCONVERT&#160;</td><td class="fielddoc"><p>Failed to convert from cgroup v1 to/from cgroup v2 </p>
+</td></tr>
 </table>
 
 </div>
index 7ed1e29d4d9bbc10ac645dbd2920e64ad6c2c7d4..e2dcf4ad359920030f3c603b890bf892b6d726e3 100644 (file)
@@ -89,7 +89,7 @@ Data Structures</h2></td></tr>
 <div class="line"><a class="code" href="group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130">cgroup_add_controller</a>(foo, <span class="stringliteral">&quot;cpu&quot;</span>);</div>
 <div class="ttc" id="agroup__group__groups_html_ga6cd4733e5982ac2c92ee3cb3dbd10a31"><div class="ttname"><a href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">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:44</div></div>
 <div class="ttc" id="agroup__group__groups_html_gaa2f9c2ac75fd7e56e5ec6fb970304130"><div class="ttname"><a href="group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130">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:56</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:106</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:114</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" href="structcgroup.html">cgroup</a> *foo = <a class="code" href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;foo&quot;</span>);</div>
 <div class="line"><a class="code" href="group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130">cgroup_add_controller</a>(foo, <span class="stringliteral">&quot;cpu&quot;</span>);</div>
@@ -184,6 +184,11 @@ Data Structures</h2></td></tr>
 <tr class="separator:gaef0bf6cd480f2dcb5e964de151a27dd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac9b5ff481de08ba8fdfcbd42940d2cbf"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf">cgroup_get_cgroup_name</a> (struct <a class="el" href="structcgroup.html">cgroup</a> *<a class="el" href="structcgroup.html">cgroup</a>)</td></tr>
 <tr class="separator:gac9b5ff481de08ba8fdfcbd42940d2cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1a54be8341476951bd5bce94f521db6e"><td class="memItemLeft" align="right" valign="top"><a id="ga1a54be8341476951bd5bce94f521db6e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>cgroup_convert_cgroup</b> (struct <a class="el" href="structcgroup.html">cgroup</a> *const out_cgroup, enum cg_version_t out_version, const struct <a class="el" href="structcgroup.html">cgroup</a> *const in_cgroup, enum cg_version_t in_version)</td></tr>
+<tr class="separator:ga1a54be8341476951bd5bce94f521db6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga452d8c5e95c8d694e26e7efda045360f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f">cgroup_get_controller_version</a> (const char *const controller, enum cg_version_t *const version)</td></tr>
+<tr class="separator:ga452d8c5e95c8d694e26e7efda045360f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <h2 class="groupheader">Macro Definition Documentation</h2>
@@ -705,7 +710,7 @@ Data Structures</h2></td></tr>
 </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" href="structcgroup.html">cgroup</a> *foo = <a class="code" href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;foo&quot;</span>);</div>
 <div class="line"><a class="code" 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:2654</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:2669</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#gaa2f9c2ac75fd7e56e5ec6fb970304130">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">
@@ -867,7 +872,7 @@ Data Structures</h2></td></tr>
 </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" href="structcgroup.html">cgroup</a> *root = <a class="code" href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">cgroup_new_cgroup</a>(<span class="stringliteral">&quot;/&quot;</span>);</div>
 <div class="line"><a class="code" 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:3207</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:3222</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#gaa2f9c2ac75fd7e56e5ec6fb970304130">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">
@@ -935,6 +940,42 @@ Data Structures</h2></td></tr>
   </dd>
 </dl>
 
+</div>
+</div>
+<a id="ga452d8c5e95c8d694e26e7efda045360f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga452d8c5e95c8d694e26e7efda045360f">&#9670;&nbsp;</a></span>cgroup_get_controller_version()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int cgroup_get_controller_version </td>
+          <td>(</td>
+          <td class="paramtype">const char *const&#160;</td>
+          <td class="paramname"><em>controller</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">enum cg_version_t *const&#160;</td>
+          <td class="paramname"><em>version</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the cgroup version of a controller. Version is set to CGROUP_UNK if the version cannot be determined.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">controller</td><td>The controller of interest </td></tr>
+    <tr><td class="paramname">version</td><td>The version of the controller </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="ga08a4fe913d59f61a39e61b8b02537dc2"></a>
diff --git a/group__group__init.html b/group__group__init.html
deleted file mode 100644 (file)
index 406e9aa..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>libcgroup: 1. Initialization</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">libcgroup
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">1. Initialization</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader">Initialization</h2></td></tr>
-<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp61bcd96a2c1f8026527cbf2019d6e9a4"></a>Application must initialize <code>libcgroup</code> using <a class="el" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init()</a> before any other <code>libcgroup</code> function can be called. <code>libcgroup</code> caches information about mounted hierarchies (just what's mounted where, not the control groups themselves) at this time. There is currently no way to refresh this cache, i.e. all subsequent mounts/remounts/unmounts are not reflected in this cache and <code>libcgroup</code> may produce unexpected results.</p>
-<p>In addition, there is no way how to clean the cache on application exit.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>this is very bad... There should be at least way how to refresh the cache and/or an option to refresh it automatically (does kernel provide any indication, when a filesystem is mounted/unmounted?). Dtto the cleanup on exit. </dd></dl>
-</td></tr>
-<tr class="memitem:ga37740e2f5f298edf13e18fcd7632b75a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init</a> (void)</td></tr>
-<tr class="separator:ga37740e2f5f298edf13e18fcd7632b75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4f061b353321b81869057970d96f09f7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga4f061b353321b81869057970d96f09f7">cgroup_get_subsys_mount_point</a> (const char *controller, char **mount_point)</td></tr>
-<tr class="separator:ga4f061b353321b81869057970d96f09f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga4f061b353321b81869057970d96f09f7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4f061b353321b81869057970d96f09f7">&#9670;&nbsp;</a></span>cgroup_get_subsys_mount_point()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int cgroup_get_subsys_mount_point </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>controller</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char **&#160;</td>
-          <td class="paramname"><em>mount_point</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns path where is mounted given controller. Applications should rely on <code>libcgroup</code> API and not call this function directly. Only the first mount point is returned, use <a class="el" href="group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8">cgroup_get_subsys_mount_point_begin()</a>, <a class="el" href="group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789">cgroup_get_subsys_mount_point_next()</a> and <a class="el" href="group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb">cgroup_get_subsys_mount_point_end()</a> to get all of them. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">controller</td><td>Name of the controller </td></tr>
-    <tr><td class="paramname">mount_point</td><td>The string where the mount point location is stored. Please note, the caller must free the mount_point. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga37740e2f5f298edf13e18fcd7632b75a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga37740e2f5f298edf13e18fcd7632b75a">&#9670;&nbsp;</a></span>cgroup_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int cgroup_init </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Initialize libcgroup. Information about mounted hierarchies are examined and cached internally (just what's mounted where, not the groups themselves).</p>
-<p>If the cgroup logging was not set using <a class="el" href="group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0">cgroup_set_logger()</a> or <a class="el" href="group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7">cgroup_set_default_logger()</a> before calling <a class="el" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init()</a>, the default logger is automatically set, logging CGROUP_LOG_ERROR messages.</p>
-<p><a class="el" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init()</a>, initializes the MOUNT_POINT.</p>
-<p>This code is theoretically thread safe now. Its not really tested so it can blow up. If does for you, please let us know with your test case and we can really make it thread safe. </p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
index 315af3ea91ccf8628ad3de03888320a9e2e4564d..893875303a1ce9b429e85e5c95169fc4fa14c2fa 100644 (file)
@@ -99,8 +99,8 @@ Data Structures</h2></td></tr>
 <tr class="separator:ga09a70990837a58e506a264f8c50d4cde"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga645ec7a6206dffb32667e7a0e148edc8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8">cgroup_walk_tree_set_flags</a> (void **handle, int flags)</td></tr>
 <tr class="separator:ga645ec7a6206dffb32667e7a0e148edc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga73edb115af6779644d3371b12cf09140"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__iterators.html#ga73edb115af6779644d3371b12cf09140">cgroup_read_value_begin</a> (const char *controller, const char *path, char *name, void **handle, char *buffer, int max)</td></tr>
-<tr class="separator:ga73edb115af6779644d3371b12cf09140"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9378ee0f1f6e65900df8e25b3d7ce236"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236">cgroup_read_value_begin</a> (const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max)</td></tr>
+<tr class="separator:ga9378ee0f1f6e65900df8e25b3d7ce236"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaced2fe331f19d599a3270db2440847cc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc">cgroup_read_value_next</a> (void **handle, char *buffer, int max)</td></tr>
 <tr class="separator:gaced2fe331f19d599a3270db2440847cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad348f041e283860cbf6bcea567e23a21"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21">cgroup_read_value_end</a> (void **handle)</td></tr>
@@ -178,7 +178,7 @@ Data Structures</h2></td></tr>
 <li><p class="startli"><code>void <em>iterator_name</em>_end(void **handle)</code></p><ul>
 <li>Free any data associated with the iterator. This function must be called even when <code><em>iterator_name</em>_begin()</code> fails.</li>
 </ul>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>not all iterators follow this pattern, e.g. <a class="el" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin()</a> can result both in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is not needed and will sigsegv and in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is needed to free allocated memory. Complete review is needed! </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>not all iterators follow this pattern, e.g. <a class="el" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin()</a> can result both in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is not needed and will sigsegv and in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is needed to free allocated memory. Complete review is needed! </dd></dl>
 <dl class="section user"><dt>Example of iterator usage:</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">void</span> *handle; <span class="comment">// our iterator handle</span></div>
 <div class="line">my_type item; <span class="comment">// the data returned by the iterator</span></div>
 <div class="line"><span class="keywordtype">int</span> ret;</div>
@@ -229,7 +229,7 @@ Data Structures</h2></td></tr>
 </td></tr>
 <tr><td class="fieldname"><a id="gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3"></a>CGROUP_FILE_TYPE_DIR&#160;</td><td class="fielddoc"><p>Directory. </p>
 </td></tr>
-<tr><td class="fieldname"><a id="gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b"></a>CGROUP_FILE_TYPE_OTHER&#160;</td><td class="fielddoc"><p>Directory. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000014">Todo:</a></b></dt><dd>really? </dd></dl>
+<tr><td class="fieldname"><a id="gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b"></a>CGROUP_FILE_TYPE_OTHER&#160;</td><td class="fielddoc"><p>Directory. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>really? </dd></dl>
 </td></tr>
 </table>
 
@@ -476,7 +476,7 @@ Data Structures</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<p>Read the first mount point of the hierarchy with given controller. The first is the same as the mount point returned by <a class="el" href="group__group__init.html#ga4f061b353321b81869057970d96f09f7">cgroup_get_subsys_mount_point()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
+<p>Read the first mount point of the hierarchy with given controller. The first is the same as the mount point returned by cgroup_get_subsys_mount_point(). </p><dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">handle</td><td>Handle to be used for iteration. </td></tr>
     <tr><td class="paramname">controller</td><td>Controller name. </td></tr>
@@ -751,8 +751,8 @@ Data Structures</h2></td></tr>
 
 </div>
 </div>
-<a id="ga73edb115af6779644d3371b12cf09140"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga73edb115af6779644d3371b12cf09140">&#9670;&nbsp;</a></span>cgroup_read_value_begin()</h2>
+<a id="ga9378ee0f1f6e65900df8e25b3d7ce236"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9378ee0f1f6e65900df8e25b3d7ce236">&#9670;&nbsp;</a></span>cgroup_read_value_begin()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -760,7 +760,7 @@ Data Structures</h2></td></tr>
         <tr>
           <td class="memname">int cgroup_read_value_begin </td>
           <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
+          <td class="paramtype">const char *const&#160;</td>
           <td class="paramname"><em>controller</em>, </td>
         </tr>
         <tr>
@@ -772,7 +772,7 @@ Data Structures</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
+          <td class="paramtype">const char *const&#160;</td>
           <td class="paramname"><em>name</em>, </td>
         </tr>
         <tr>
@@ -938,7 +938,7 @@ Data Structures</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>why base_level is not hidden in **handle? </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>why base_level is not hidden in **handle? </dd></dl>
 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436">ECGEOF</a> when there is no node. </dd></dl>
 
 </div>
index e1fb8cde5b790c1efbb99a2d93789c05e62e8639..964c77ab12c22dbb9feb369893567cda8dc85c64 100644 (file)
@@ -68,7 +68,7 @@ $(function() {
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader">Logging</h2></td></tr>
 <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp8db7df66ab1d7ab5f1dc947acdb5fae4"></a>Libcgroup allows applications to register a callback function which libcgroup will call when it wants to log something. Each log message has associated a log level. As described in previous chapter, most libcgroup functions return an error code, which described root cause of the failure and log messages might provide further details about these failures and other notable events.</p>
-<dl class="section user"><dt></dt><dd>The logging callback can be set at any time, but setting the callback before any other libcgroup function (including <a class="el" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init()</a>) is highly recommended. If no logger is set before <a class="el" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init()</a> is called, default logger is automatically set, logging CGROUP_LOG_ERROR messages to stdout.</dd></dl>
+<dl class="section user"><dt></dt><dd>The logging callback can be set at any time, but setting the callback before any other libcgroup function (including cgroup_init()) is highly recommended. If no logger is set before cgroup_init() is called, default logger is automatically set, logging CGROUP_LOG_ERROR messages to stdout.</dd></dl>
 <dl class="section user"><dt>Setting log level</dt><dd>Some of the functions below set the log level as integer. Application can set directly a value of enum <a class="el" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">cgroup_log_level</a> or use value <code>-1</code> to set the log level automatically. In this case, libcgroup inspects environment variable <code>CGROUP_LOGLEVEL</code> if it is set and contains any of these values: <code>ERROR</code>, <code>WARNING</code>, <code>INFO</code>, <code>DEBUG</code> or integer number representing value from enum <a class="el" href="group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a">cgroup_log_level</a>. If <code>CGROUP_LOGLEVEL</code> is not set or its value is not valid, <code>CGROUP_LOG_ERROR</code> is set as default log level.</dd></dl>
 <dl class="section user"><dt>Example:</dt><dd>Following short example shows custom libcgroup logger sending all log messages to <code>stderr</code>: <div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> my_logger(<span class="keywordtype">void</span> *userdata, <span class="keywordtype">int</span> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, va_list ap)</div>
 <div class="line">{</div>
@@ -80,12 +80,11 @@ $(function() {
 <div class="line"> <span class="keywordtype">int</span> ret;</div>
 <div class="line"> </div>
 <div class="line"> <a class="code" href="group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0">cgroup_set_logger</a>(my_logger, -1, NULL);</div>
-<div class="line"> ret = <a class="code" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init</a>();</div>
+<div class="line"> ret = cgroup_init();</div>
 <div class="line"> <span class="keywordflow">if</span> (ret) {</div>
 <div class="line">    ...</div>
 <div class="line"> }</div>
 <div class="line"> ...</div>
-<div class="ttc" id="agroup__group__init_html_ga37740e2f5f298edf13e18fcd7632b75a"><div class="ttname"><a href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init</a></div><div class="ttdeci">int cgroup_init(void)</div><div class="ttdef"><b>Definition:</b> api.c:1271</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:48</div></div>
 </div><!-- fragment --> </dd></dl>
 </td></tr>
index 837b581a4b196ba4d6cdbcdee88a79796e776a50..7a91ea694347f72bb38d86cfdaa454c4dffda031 100644 (file)
@@ -246,7 +246,7 @@ $(function() {
   </table>
   </dd>
 </dl>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000017">Todo:</a></b></dt><dd>Determine thread-safeness and fix of not safe. </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000016">Todo:</a></b></dt><dd>Determine thread-safeness and fix of not safe. </dd></dl>
 
 </div>
 </div>
@@ -290,7 +290,7 @@ $(function() {
   </table>
   </dd>
 </dl>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>should this function be really public? </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000014">Todo:</a></b></dt><dd>should this function be really public? </dd></dl>
 <p>Changes the cgroup of a program based on the path provided. In this case, the user must already know into which cgroup the task should be placed and no rules will be parsed.</p>
 <p>returns 0 on success. </p>
 
@@ -394,7 +394,7 @@ $(function() {
   </table>
   </dd>
 </dl>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000018">Todo:</a></b></dt><dd>Determine thread-safeness and fix if not safe. </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000017">Todo:</a></b></dt><dd>Determine thread-safeness and fix if not safe. </dd></dl>
 
 </div>
 </div>
@@ -456,7 +456,7 @@ $(function() {
         </tr>
       </table>
 </div><div class="memdoc">
-<p>Initializes the rules cache and load it from /etc/cgrules.conf. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000016">Todo:</a></b></dt><dd>add parameter with the filename? </dd></dl>
+<p>Initializes the rules cache and load it from /etc/cgrules.conf. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>add parameter with the filename? </dd></dl>
 <p>Initializes the rules cache. </p><dl class="section return"><dt>Returns</dt><dd>0 on success, &gt; 0 on error </dd></dl>
 
 </div>
index ad99c3224620b5b25642b91c1dc68e3e4365f955..77ad1947c809f8398a5973651758154f12dd4e37 100644 (file)
@@ -86,149 +86,177 @@ $(function() {
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">enum</span> cgroup_delete_flag {</div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    CGFLAG_DELETE_IGNORE_MIGRATION = 1,</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    CGFLAG_DELETE_RECURSIVE = 2,</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    CGFLAG_DELETE_EMPTY_ONLY    = 4,</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;};</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a>;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a>;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
-<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="group__group__groups.html#gad4ffad2eccf9fcbfa8a551e269e0ad58">  124</a></span>&#160;<span class="preprocessor">#define NO_PERMS (-1U)</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
-<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="group__group__groups.html#ga2a7954a987e3fbf8eabcc94cf381353e">  129</a></span>&#160;<span class="preprocessor">#define NO_UID_GID (-1U)</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">cgroup_new_cgroup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> *<a class="code" href="group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130">cgroup_add_controller</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_controllers</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> *<a class="code" href="group__group__groups.html#ga8335b0aec59c8f845639a7404affce05">cgroup_get_controller</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__group__groups.html#gab20fdb1ae479f8baac482336abf73900">cgroup_free</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> **<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">enum</span> cg_version_t {</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    CGROUP_UNK = 0,</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    CGROUP_V1,</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    CGROUP_V2,</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    CGROUP_DISK = 0xFF,</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;};</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">enum</span> cgroup_delete_flag {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    CGFLAG_DELETE_IGNORE_MIGRATION = 1,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    CGFLAG_DELETE_RECURSIVE = 2,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    CGFLAG_DELETE_EMPTY_ONLY    = 4,</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;};</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="group__group__groups.html#gad4ffad2eccf9fcbfa8a551e269e0ad58">  131</a></span>&#160;<span class="preprocessor">#define NO_PERMS (-1U)</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="group__group__groups.html#ga2a7954a987e3fbf8eabcc94cf381353e">  136</a></span>&#160;<span class="preprocessor">#define NO_UID_GID (-1U)</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">cgroup_new_cgroup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> *<a class="code" href="group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130">cgroup_add_controller</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9">cgroup_add_all_controllers</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> *<a class="code" href="group__group__groups.html#ga8335b0aec59c8f845639a7404affce05">cgroup_get_controller</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__group__groups.html#gab20fdb1ae479f8baac482336abf73900">cgroup_free</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> **<a class="code" href="structcgroup.html">cgroup</a>);</div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, <span class="keywordtype">int</span> ignore_ownership);</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keywordtype">int</span> ignore_ownership);</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160; </div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160; </div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, <span class="keywordtype">int</span> ignore_migration);</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160; </div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160; </div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *dst, <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *src);</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *cgroup_a, <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *cgroup_b);</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *cgca,</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *cgcb);</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160; </div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, uid_t tasks_uid, gid_t tasks_gid,</div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                    uid_t control_uid, gid_t control_gid);</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160; </div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, uid_t *tasks_uid,</div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid);</div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        mode_t control_dperm, mode_t control_fperm,</div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        mode_t task_fperm);</div>
-<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                <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 name="l00418"></a><span class="lineno">  418</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087">cgroup_add_value_int64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160; </div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526">cgroup_get_value_int64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t *value);</div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t *value);</div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> *value);</div>
-<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160; </div>
-<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;                    <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 name="l00511"></a><span class="lineno">  511</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
-<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
-<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7">cgroup_set_value_bool</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller);</div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160; </div>
-<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="keywordtype">char</span> *<a class="code" href="group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331">cgroup_get_value_name</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller, <span class="keywordtype">int</span> index);</div>
-<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160; </div>
-<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="keywordtype">int</span> <a class="code" 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 name="l00568"></a><span class="lineno">  568</span>&#160; </div>
-<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, mode_t dir_mode,</div>
-<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keywordtype">int</span> dirm_change, mode_t file_mode, <span class="keywordtype">int</span> filem_change);</div>
-<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160; </div>
-<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="keywordtype">char</span> *<a class="code" href="group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf">cgroup_get_cgroup_name</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
-<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160; </div>
-<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160; </div>
-<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<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:357</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:5502</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:436</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga16ca75fd16eda7cfc642421111e9a331"><div class="ttname"><a href="group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331">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:665</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:2908</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:656</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:2228</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:180</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:260</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:343</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:224</div></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, <span class="keywordtype">int</span> ignore_ownership);</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        <span class="keywordtype">int</span> ignore_ownership);</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071">cgroup_modify_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, <span class="keywordtype">int</span> ignore_migration);</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36">cgroup_delete_cgroup_ext</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160; </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; </div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a">cgroup_copy_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *dst, <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *src);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160; </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc">cgroup_compare_cgroup</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *cgroup_a, <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *cgroup_b);</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7">cgroup_compare_controllers</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *cgca,</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                    <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *cgcb);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43">cgroup_set_uid_gid</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, uid_t tasks_uid, gid_t tasks_gid,</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;                    uid_t control_uid, gid_t control_gid);</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160; </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86">cgroup_get_uid_gid</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, uid_t *tasks_uid,</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid);</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160; </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b">cgroup_set_permissions</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        mode_t control_dperm, mode_t control_fperm,</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        mode_t task_fperm);</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160; </div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029">cgroup_add_value_string</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                <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 name="l00425"></a><span class="lineno">  425</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087">cgroup_add_value_int64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb">cgroup_add_value_uint64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3">cgroup_add_value_bool</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> **value);</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526">cgroup_get_value_int64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t *value);</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga951861259c0373895bfb637fce337312">cgroup_get_value_uint64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t *value);</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gab95007148eac89b7e935d93a4524787b">cgroup_get_value_bool</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> *value);</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160; </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82">cgroup_set_value_string</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;                    <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 name="l00518"></a><span class="lineno">  518</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956">cgroup_set_value_int64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, int64_t value);</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5">cgroup_set_value_uint64</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name, u_int64_t value);</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7">cgroup_set_value_bool</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller,</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">bool</span> value);</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d">cgroup_get_value_name_count</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller);</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160; </div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="keywordtype">char</span> *<a class="code" href="group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331">cgroup_get_value_name</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller, <span class="keywordtype">int</span> index);</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160; </div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="keywordtype">int</span> <a class="code" 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 name="l00575"></a><span class="lineno">  575</span>&#160; </div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1">cg_chmod_recursive</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>, mode_t dir_mode,</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="keywordtype">int</span> dirm_change, mode_t file_mode, <span class="keywordtype">int</span> filem_change);</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160; </div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="keywordtype">char</span> *<a class="code" href="group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf">cgroup_get_cgroup_name</a>(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>);</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160; </div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="comment"> * Convert from one cgroup version to another version</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="comment"> * @param out_cgroup Destination cgroup</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="comment"> * @param out_version Destination cgroup version</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="comment"> * @param in_cgroup Source cgroup</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="comment"> * @param in_version Source cgroup version, only used if set to v1 or v2</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="comment"> * @return 0 on success</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="comment"> *         ECGFAIL conversion failed</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="comment"> *         ECGCONTROLLERNOTEQUAL incorrect controller version provided</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="keywordtype">int</span> cgroup_convert_cgroup(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> out_cgroup,</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;              <span class="keyword">enum</span> cg_version_t out_version,</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;              <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> in_cgroup,</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;              <span class="keyword">enum</span> cg_version_t in_version);</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160; </div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="keywordtype">int</span> <a class="code" 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 name="l00618"></a><span class="lineno">  618</span>&#160;        <span class="keyword">enum</span> cg_version_t * <span class="keyword">const</span> version);</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160; </div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160; </div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<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:5517</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:496</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga16ca75fd16eda7cfc642421111e9a331"><div class="ttname"><a href="group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331">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:725</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:2923</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:716</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:2234</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:5766</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:211</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:291</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_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:255</div></div>
 <div class="ttc" id="agroup__group__groups_html_ga6cd4733e5982ac2c92ee3cb3dbd10a31"><div class="ttname"><a href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">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:44</div></div>
-<div class="ttc" id="agroup__group__groups_html_ga8335b0aec59c8f845639a7404affce05"><div class="ttname"><a href="group__group__groups.html#ga8335b0aec59c8f845639a7404affce05">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:371</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:2914</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:308</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:2654</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:145</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:415</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:486</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:361</div></div>
+<div class="ttc" id="agroup__group__groups_html_ga8335b0aec59c8f845639a7404affce05"><div class="ttname"><a href="group__group__groups.html#ga8335b0aec59c8f845639a7404affce05">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_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:2929</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:368</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:2669</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:183</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:546</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:367</div></div>
 <div class="ttc" id="agroup__group__groups_html_gaa2f9c2ac75fd7e56e5ec6fb970304130"><div class="ttname"><a href="group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130">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:56</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:459</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:2331</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:281</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:165</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:535</div></div>
-<div class="ttc" id="agroup__group__groups_html_gac9b5ff481de08ba8fdfcbd42940d2cbf"><div class="ttname"><a href="group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf">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:677</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:3207</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:242</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:2414</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:508</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:95</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:333</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:390</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:563</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:99</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:106</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:519</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:2346</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:341</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:196</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:595</div></div>
+<div class="ttc" id="agroup__group__groups_html_gac9b5ff481de08ba8fdfcbd42940d2cbf"><div class="ttname"><a href="group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf">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:737</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:3222</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:273</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:2429</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:568</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:112</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:339</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:623</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:106</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:114</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 770177cb8249da123799179972698b0d9dd2d42e..b0793481ec5b60c94e56632fd7a92a34df44379b 100644 (file)
@@ -69,7 +69,7 @@ $(function() {
 Introduction</h1>
 <p><code>libcgroup</code> is a library that abstracts the control group file system in Linux. It comes with various command-line tools and configuration files, see their man pages for details.</p>
 <p>This documentation provides description of <code>libcgroup</code> API. Read following sections, preferably in this order:</p><ol type="1">
-<li><a class="el" href="group__group__init.html">Initialization</a></li>
+<li>Initialization</li>
 <li><a class="el" href="group__group__groups.html">Control Groups</a></li>
 <li><a class="el" href="group__group__iterators.html">Iterators</a></li>
 <li><a class="el" href="group__group__tasks.html">Manipulation with tasks</a></li>
diff --git a/init_8h_source.html b/init_8h_source.html
deleted file mode 100644 (file)
index 4ca959e..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>libcgroup: include/libcgroup/init.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">libcgroup
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_66a7763e2a9b96033a682558820d533e.html">libcgroup</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">init.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef _LIBCGROUP_INIT_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define _LIBCGROUP_INIT_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;features.h&gt;</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__init.html#ga4f061b353321b81869057970d96f09f7">cgroup_get_subsys_mount_point</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keywordtype">char</span> **mount_point);</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_INIT_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="agroup__group__init_html_ga37740e2f5f298edf13e18fcd7632b75a"><div class="ttname"><a href="group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a">cgroup_init</a></div><div class="ttdeci">int cgroup_init(void)</div><div class="ttdef"><b>Definition:</b> api.c:1271</div></div>
-<div class="ttc" id="agroup__group__init_html_ga4f061b353321b81869057970d96f09f7"><div class="ttname"><a href="group__group__init.html#ga4f061b353321b81869057970d96f09f7">cgroup_get_subsys_mount_point</a></div><div class="ttdeci">int cgroup_get_subsys_mount_point(const char *controller, char **mount_point)</div><div class="ttdef"><b>Definition:</b> api.c:5380</div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
index f6083ea8585fc38f42a9f99f961e1edd0377be15..dbaacd33bad58c90139fbc4732370f38cb81b5f5 100644 (file)
@@ -115,8 +115,8 @@ $(function() {
 <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keywordtype">int</span> <a class="code" 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 name="l00179"></a><span class="lineno">  179</span>&#160; </div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__group__iterators.html#ga73edb115af6779644d3371b12cf09140">cgroup_read_value_begin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controller, <span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordtype">char</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 name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keywordtype">int</span> <a class="code" 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 name="l00196"></a><span class="lineno">  196</span>&#160;    <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 name="l00197"></a><span class="lineno">  197</span>&#160; </div>
 <div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keywordtype">int</span> <a class="code" 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 name="l00212"></a><span class="lineno">  212</span>&#160; </div>
@@ -178,31 +178,31 @@ $(function() {
 <div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160; </div>
 <div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<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:4546</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:5413</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:4804</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:5693</div></div>
+<div class="ttc" id="agroup__group__iterators_html_ga09a70990837a58e506a264f8c50d4cde"><div class="ttname"><a href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end</a></div><div class="ttdeci">int cgroup_walk_tree_end(void **handle)</div><div class="ttdef"><b>Definition:</b> api.c:4561</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:5428</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:4819</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:5708</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:5724</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:5427</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:4519</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:5739</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:5442</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:4534</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:4953</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:4968</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:4632</div></div>
-<div class="ttc" id="agroup__group__iterators_html_ga73edb115af6779644d3371b12cf09140"><div class="ttname"><a href="group__group__iterators.html#ga73edb115af6779644d3371b12cf09140">cgroup_read_value_begin</a></div><div class="ttdeci">int cgroup_read_value_begin(const char *controller, const char *path, char *name, void **handle, char *buffer, int max)</div><div class="ttdef"><b>Definition:</b> api.c:4728</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:4567</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:4920</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:5746</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:4904</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:4766</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:4708</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:4692</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:5456</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:4871</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:4835</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:4849</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:4784</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:4647</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:4582</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:4935</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:4743</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:5761</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:4919</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:4781</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:4723</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:4707</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:5471</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:4886</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:4850</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:4864</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:4799</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>
@@ -218,7 +218,7 @@ $(function() {
 <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:106</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:114</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>
index 966e398fa3d20afb23036c3aa66ac4774f76c6d5..a23903d69463f6e656ae0a58d356da3ffe55f895 100644 (file)
@@ -164,232 +164,239 @@ $(function() {
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="comment">/* cgget uses this field for values that span multiple lines */</span></div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">char</span> *multiline_value;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordtype">bool</span> dirty;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;};</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structcgroup__controller.html">   99</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> {</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcontrol__value.html">control_value</a> *values[CG_NV_MAX];</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>;</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">int</span> index;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="comment">/*</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">     * The abstraction layer uses prev_name when there&#39;s an N-&gt;1 or</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">     * 1-&gt;N relationship between cgroup v1 and v2 settings.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">     */</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordtype">char</span> *prev_name;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">bool</span> dirty;</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;};</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structcgroup.html">  106</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a> {</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structcgroup__controller.html">  106</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> {</div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller[CG_CONTROLLER_MAX];</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">int</span> index;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    uid_t tasks_uid;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    gid_t tasks_gid;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    mode_t task_fperm;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    uid_t control_uid;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    gid_t control_gid;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    mode_t control_fperm;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    mode_t control_dperm;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;};</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structcg__mount__point.html">  119</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcg__mount__point.html">cg_mount_point</a> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcg__mount__point.html">cg_mount_point</a> *next;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;};</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">enum</span> cg_version_t {</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    CGROUP_UNK = 0,</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    CGROUP_V1,</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    CGROUP_V2,</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;};</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
-<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html">  130</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcg__mount__table__s.html">cg_mount_table_s</a> {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">  132</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>[FILENAME_MAX];</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcg__mount__point.html">cg_mount_point</a> <a class="code" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">mount</a>;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">int</span> index;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keyword">enum</span> cg_version_t version;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;};</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
-<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structcgroup__rules__data.html">  141</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__rules__data.html">cgroup_rules_data</a> {</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    pid_t   pid; <span class="comment">/* pid of the process which needs to change group */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="comment">/* Details of user under consideration for destination cgroup */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keyword">struct </span>passwd   *pw;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="comment">/* Gid of the process */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    gid_t   gid;</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;};</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">/* A rule that maps UID/GID to a cgroup */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structcgroup__rule.html">  151</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> {</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    uid_t uid;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    gid_t gid;</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordtype">bool</span> is_ignore;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordtype">char</span> *procname;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordtype">char</span> username[LOGIN_NAME_MAX];</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordtype">char</span> destination[FILENAME_MAX];</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordtype">char</span> *controllers[MAX_MNT_ELEMENTS];</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> *next;</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;};</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">/* Container for a list of rules */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structcgroup__rule__list.html">  163</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__rule__list.html">cgroup_rule_list</a> {</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> *head;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> *tail;</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;};</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment">/*The walk_tree handle */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structcgroup__tree__handle.html">  170</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__tree__handle.html">cgroup_tree_handle</a> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    FTS *fts;</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordtype">int</span> flags;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;};</div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
-<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__item.html">  182</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> {</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value;</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *next;</div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;};</div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">/* Flags for cgroup_dictionary_create */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#define CG_DICT_DONT_FREE_ITEMS     1</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
-<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="structcgroup__dictionary.html">  205</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *head;</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *tail;</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordtype">int</span> flags;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;};</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160; </div>
-<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__iterator.html">  212</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a> {</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *item;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;};</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> __thread <span class="keywordtype">int</span> last_errno;</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keyword">extern</span> jmp_buf parser_error_env;</div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160; </div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">/* Internal API */</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<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 name="l00228"></a><span class="lineno">  228</span>&#160;<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 name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keywordtype">int</span> cgroup_get_procname_from_procfs(pid_t pid, <span class="keywordtype">char</span> **procname);</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keywordtype">int</span> cg_mkdir_p(<span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">struct </span><a class="code" 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 name="l00232"></a><span class="lineno">  232</span>&#160;        <span class="keyword">struct</span> <a class="code" href="structcontrol__value.html">control_value</a> *name_value, <span class="keywordtype">int</span> nv_number);</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keywordtype">void</span> init_cgroup_table(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *cgroups, <span class="keywordtype">size_t</span> count);</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="comment"> * Main mounting structures</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structcg__mount__table__s.html">cg_mount_table_s</a> cg_mount_table[CG_CONTROLLER_MAX];</div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">extern</span> pthread_rwlock_t cg_mount_table_lock;</div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment"> * config related structures</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> __thread <span class="keywordtype">char</span> *cg_namespace_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcontrol__value.html">control_value</a> *values[CG_NV_MAX];</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">int</span> index;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keyword">enum</span> cg_version_t version;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;};</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structcgroup.html">  114</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup.html">cgroup</a> {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">char</span> name[FILENAME_MAX];</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__controller.html">cgroup_controller</a> *controller[CG_CONTROLLER_MAX];</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">int</span> index;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    uid_t tasks_uid;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    gid_t tasks_gid;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    mode_t task_fperm;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    uid_t control_uid;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    gid_t control_gid;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    mode_t control_fperm;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    mode_t control_dperm;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;};</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structcg__mount__point.html">  127</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcg__mount__point.html">cg_mount_point</a> {</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keywordtype">char</span> path[FILENAME_MAX];</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcg__mount__point.html">cg_mount_point</a> *next;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;};</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html">  132</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcg__mount__table__s.html">cg_mount_table_s</a> {</div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">  134</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>[FILENAME_MAX];</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcg__mount__point.html">cg_mount_point</a> <a class="code" href="structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef">mount</a>;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordtype">int</span> index;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keyword">enum</span> cg_version_t version;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;};</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structcgroup__rules__data.html">  143</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__rules__data.html">cgroup_rules_data</a> {</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    pid_t   pid; <span class="comment">/* pid of the process which needs to change group */</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="comment">/* Details of user under consideration for destination cgroup */</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keyword">struct </span>passwd   *pw;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="comment">/* Gid of the process */</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    gid_t   gid;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;};</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">/* A rule that maps UID/GID to a cgroup */</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structcgroup__rule.html">  153</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    uid_t uid;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    gid_t gid;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordtype">bool</span> is_ignore;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordtype">char</span> *procname;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordtype">char</span> username[LOGIN_NAME_MAX];</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordtype">char</span> destination[FILENAME_MAX];</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="keywordtype">char</span> *controllers[MAX_MNT_ELEMENTS];</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> *next;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;};</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment">/* Container for a list of rules */</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="structcgroup__rule__list.html">  165</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__rule__list.html">cgroup_rule_list</a> {</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> *head;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__rule.html">cgroup_rule</a> *tail;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordtype">int</span> len;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;};</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment">/*The walk_tree handle */</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structcgroup__tree__handle.html">  172</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__tree__handle.html">cgroup_tree_handle</a> {</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    FTS *fts;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordtype">int</span> flags;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;};</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__item.html">  184</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> {</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *value;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *next;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;};</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">/* Flags for cgroup_dictionary_create */</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#define CG_DICT_DONT_FREE_ITEMS     1</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="structcgroup__dictionary.html">  207</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> {</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *head;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *tail;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordtype">int</span> flags;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;};</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="structcgroup__dictionary__iterator.html">  214</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__iterator.html">cgroup_dictionary_iterator</a> {</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcgroup__dictionary__item.html">cgroup_dictionary_item</a> *item;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;};</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="keyword">extern</span> __thread <span class="keywordtype">int</span> last_errno;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">extern</span> jmp_buf parser_error_env;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment">/* Internal API */</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<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 name="l00230"></a><span class="lineno">  230</span>&#160;<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 name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keywordtype">int</span> cgroup_get_procname_from_procfs(pid_t pid, <span class="keywordtype">char</span> **procname);</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> cg_mkdir_p(<span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keyword">struct </span><a class="code" 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 name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="keyword">struct</span> <a class="code" href="structcontrol__value.html">control_value</a> *name_value, <span class="keywordtype">int</span> nv_number);</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keywordtype">void</span> init_cgroup_table(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *cgroups, <span class="keywordtype">size_t</span> count);</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment"> * Main mounting structures</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structcg__mount__table__s.html">cg_mount_table_s</a> cg_mount_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keyword">extern</span> pthread_rwlock_t cg_mount_table_lock;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160; </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment"> * config related structures</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="comment"> */</span></div>
 <div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160; </div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment"> * config related API</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keywordtype">int</span> cgroup_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordtype">int</span> cgroup_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordtype">int</span> template_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keywordtype">int</span> template_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<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 name="l00257"></a><span class="lineno">  257</span>&#160;<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 name="l00258"></a><span class="lineno">  258</span>&#160;<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 name="l00259"></a><span class="lineno">  259</span>&#160;<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 name="l00260"></a><span class="lineno">  260</span>&#160;<span class="keywordtype">int</span> cgroup_config_insert_into_mount_table(<span class="keywordtype">char</span> *<a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keywordtype">int</span> cgroup_config_insert_into_namespace_table(<span class="keywordtype">char</span> *<a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keywordtype">void</span> cgroup_config_cleanup_mount_table(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="keywordtype">void</span> cgroup_config_cleanup_namespace_table(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keywordtype">int</span> cgroup_config_define_default(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_create(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> **dict,</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordtype">int</span> flags);</div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_add(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" 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 name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_free(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict);</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; </div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_begin(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keywordtype">void</span> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" 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 name="l00291"></a><span class="lineno">  291</span>&#160;<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 name="l00292"></a><span class="lineno">  292</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" 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 name="l00296"></a><span class="lineno">  296</span>&#160;<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 name="l00297"></a><span class="lineno">  297</span>&#160; </div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<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 name="l00308"></a><span class="lineno">  308</span>&#160; </div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="keywordtype">int</span> cgroup_get_controller_version(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <span class="keyword">enum</span> cg_version_t * <span class="keyword">const</span> version);</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<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 name="l00329"></a><span class="lineno">  329</span>&#160;                  <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 name="l00330"></a><span class="lineno">  330</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<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 name="l00344"></a><span class="lineno">  344</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">char</span> *controller);</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160; </div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="keywordtype">int</span> cgroup_fill_cgc(<span class="keyword">struct</span> dirent *ctrl_dir, <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;            <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *cgc, <span class="keywordtype">int</span> cg_index);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">extern</span> __thread <span class="keywordtype">char</span> *cg_namespace_table[CG_CONTROLLER_MAX];</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment"> * config related API</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordtype">int</span> cgroup_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordtype">int</span> cgroup_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="keywordtype">int</span> template_config_insert_cgroup(<span class="keywordtype">char</span> *cg_name);</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> template_config_parse_controller_options(<span class="keywordtype">char</span> *controller,</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *values);</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<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 name="l00259"></a><span class="lineno">  259</span>&#160;<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 name="l00260"></a><span class="lineno">  260</span>&#160;<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 name="l00261"></a><span class="lineno">  261</span>&#160;<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 name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keywordtype">int</span> cgroup_config_insert_into_mount_table(<span class="keywordtype">char</span> *<a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="keywordtype">int</span> cgroup_config_insert_into_namespace_table(<span class="keywordtype">char</span> *<a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>, <span class="keywordtype">char</span> *mount_point);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keywordtype">void</span> cgroup_config_cleanup_mount_table(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordtype">void</span> cgroup_config_cleanup_namespace_table(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> cgroup_config_define_default(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_create(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> **dict,</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordtype">int</span> flags);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_add(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" 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 name="l00282"></a><span class="lineno">  282</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_free(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict);</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> cgroup_dictionary_iterator_begin(<span class="keyword">struct</span> <a class="code" href="structcgroup__dictionary.html">cgroup_dictionary</a> *dict,</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="keywordtype">void</span> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" 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 name="l00293"></a><span class="lineno">  293</span>&#160;<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 name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" 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 name="l00298"></a><span class="lineno">  298</span>&#160;<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 name="l00299"></a><span class="lineno">  299</span>&#160; </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<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 name="l00310"></a><span class="lineno">  310</span>&#160; </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<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 name="l00321"></a><span class="lineno">  321</span>&#160;                  <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 name="l00322"></a><span class="lineno">  322</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160; </div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<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 name="l00336"></a><span class="lineno">  336</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">char</span> *controller);</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keywordtype">int</span> cgroup_fill_cgc(<span class="keyword">struct</span> dirent *ctrl_dir, <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> *<a class="code" href="structcgroup.html">cgroup</a>,</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *cgc, <span class="keywordtype">int</span> cg_index);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<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 name="l00359"></a><span class="lineno">  359</span>&#160; </div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<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 name="l00367"></a><span class="lineno">  367</span>&#160; </div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">#define TEST_PROC_PID_CGROUP_FILE &quot;test-procpidcgroup&quot;</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="keywordtype">int</span> cgroup_parse_rules_options(<span class="keywordtype">char</span> *options,</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                   <span class="keyword">struct</span> <a class="code" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule);</div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160; </div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<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 name="l00381"></a><span class="lineno">  381</span>&#160;                     <span class="keywordtype">char</span> *controller_list[],</div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;                     <span class="keywordtype">int</span> list_len);</div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160; </div>
-<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="keywordtype">bool</span> cgroup_compare_ignore_rule(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule,</div>
-<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
-<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<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 name="l00388"></a><span class="lineno">  388</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
-<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<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 name="l00391"></a><span class="lineno">  391</span>&#160;              <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160; </div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<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 name="l00394"></a><span class="lineno">  394</span>&#160; </div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<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 name="l00396"></a><span class="lineno">  396</span>&#160;    <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keywordtype">bool</span> ignore_non_dirty_failures);</div>
-<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<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 name="l00400"></a><span class="lineno">  400</span>&#160;                 uid_t uid, gid_t gid, mode_t fperm);</div>
-<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<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 name="l00403"></a><span class="lineno">  403</span>&#160;                 <span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keywordtype">int</span> cgroup_copy_controller_values(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> dst,</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;                  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> src);</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160; </div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="keywordtype">int</span> cgroup_remove_value(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;            <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6">name</a>);</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="keywordtype">void</span> cgroup_free_controller(<span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> *ctrl);</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160; </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">#define TEST_PROC_PID_CGROUP_FILE &quot;test-procpidcgroup&quot;</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="keywordtype">int</span> cgroup_parse_rules_options(<span class="keywordtype">char</span> *options,</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;                   <span class="keyword">struct</span> <a class="code" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<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 name="l00402"></a><span class="lineno">  402</span>&#160;                     <span class="keywordtype">char</span> *controller_list[],</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;                     <span class="keywordtype">int</span> list_len);</div>
 <div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160; </div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<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 name="l00406"></a><span class="lineno">  406</span>&#160;                 <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                 <span class="keywordtype">bool</span> * <span class="keyword">const</span> enabled);</div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160; </div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<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 name="l00410"></a><span class="lineno">  410</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160; </div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="keywordtype">bool</span> cgroup_compare_ignore_rule(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup__rule.html">cgroup_rule</a> * <span class="keyword">const</span> rule,</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                pid_t pid, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160; </div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<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 name="l00409"></a><span class="lineno">  409</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> procname);</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160; </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<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 name="l00412"></a><span class="lineno">  412</span>&#160;              <span class="keywordtype">int</span> *mnt_tbl_idx);</div>
 <div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160; </div>
-<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160; </div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<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:119</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:130</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:136</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:132</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:99</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:182</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:212</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:205</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:163</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:151</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:141</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:170</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:106</div></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<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 name="l00415"></a><span class="lineno">  415</span>&#160; </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<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 name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup__controller.html">cgroup_controller</a> * <span class="keyword">const</span> controller,</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">bool</span> ignore_non_dirty_failures);</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160; </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<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 name="l00421"></a><span class="lineno">  421</span>&#160;                 uid_t uid, gid_t gid, mode_t fperm);</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160; </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<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 name="l00424"></a><span class="lineno">  424</span>&#160;                 <span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<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 name="l00427"></a><span class="lineno">  427</span>&#160;                 <span class="keyword">const</span> <span class="keywordtype">char</span> *ctrl_name,</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                 <span class="keywordtype">bool</span> * <span class="keyword">const</span> enabled);</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<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 name="l00431"></a><span class="lineno">  431</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ctrl_name);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* UNIT_TEST */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<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:127</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:132</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:138</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:134</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:106</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:184</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:214</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:207</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:165</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:153</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:143</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:172</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:114</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:90</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
index 2c3805f3c732c2699ab129cb8640f04ac79f0022..6992212521052b238cd767ca36604088776ca984 100644 (file)
@@ -96,10 +96,11 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;libcgroup/tasks.h&gt;</span></div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;libcgroup/config.h&gt;</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;libcgroup/log.h&gt;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#undef _LIBCGROUP_H_INSIDE</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _LIBCGROUP_H  */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;libcgroup/tools.h&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#undef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<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 f0c40ba9afc32cdccc11835906054515dfbfc8f9..225960bdcc11dd2f1ad80cb1e0f12edbae42b5c4 100644 (file)
@@ -70,10 +70,9 @@ $(function() {
 <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__config.html" target="_self">5. Configuration</a></td><td class="desc"></td></tr>
 <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__errors.html" target="_self">6. Error handling</a></td><td class="desc"></td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__groups.html" target="_self">2. Group manipulation API</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__init.html" target="_self">1. Initialization</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__iterators.html" target="_self">3. Iterators</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__log.html" target="_self">7. Logging</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__tasks.html" target="_self">4. Manipulation with tasks</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__iterators.html" target="_self">3. Iterators</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__log.html" target="_self">7. Logging</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__tasks.html" target="_self">4. Manipulation with tasks</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
index 89285fef833a6ac944971584c84ad8969fdefa5a..b98515364613fe9ce7dd3f400ae529cefe3f8d06 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['1_2e_20initialization_0',['1. Initialization',['../group__group__init.html',1,'']]]
+  ['2_2e_20group_20manipulation_20api_0',['2. Group manipulation API',['../group__group__groups.html',1,'']]]
 ];
index 4e22f30f421cd79e92f484e112b6f5b00f4d5152..e7145907f7d74191cff485471ce98cedfa8b3eb7 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['2_2e_20group_20manipulation_20api_1',['2. Group manipulation API',['../group__group__groups.html',1,'']]]
+  ['3_2e_20iterators_1',['3. Iterators',['../group__group__iterators.html',1,'']]]
 ];
index efb7dbcd8e80120f58a3da5bbaf43f73224608ea..7ba9e30f040516514b247b6639f803dfaac8ed9f 100644 (file)
@@ -1,7 +1,6 @@
 var searchData=
 [
-  ['name_144',['name',['../structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100',1,'cgroup_mount_point::name()'],['../structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18',1,'controller_data::name()'],['../structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6',1,'cg_mount_table_s::name()']]],
-  ['no_5fperms_145',['NO_PERMS',['../group__group__groups.html#gad4ffad2eccf9fcbfa8a551e269e0ad58',1,'groups.h']]],
-  ['no_5fuid_5fgid_146',['NO_UID_GID',['../group__group__groups.html#ga2a7954a987e3fbf8eabcc94cf381353e',1,'groups.h']]],
-  ['num_5fcgroups_147',['num_cgroups',['../structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb',1,'controller_data']]]
+  ['parent_148',['parent',['../structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059',1,'cgroup_file_info']]],
+  ['parent_5finfo_149',['parent_info',['../structparent__info.html',1,'']]],
+  ['path_150',['path',['../structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68',1,'cgroup_file_info::path()'],['../structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e',1,'cgroup_mount_point::path()']]]
 ];
index 7ba9e30f040516514b247b6639f803dfaac8ed9f..03bfe7ac729c3173644af79e01c819ff21e3f530 100644 (file)
@@ -1,6 +1,4 @@
 var searchData=
 [
-  ['parent_148',['parent',['../structcgroup__file__info.html#a739c7f87593e36d8589d3ffa80b57059',1,'cgroup_file_info']]],
-  ['parent_5finfo_149',['parent_info',['../structparent__info.html',1,'']]],
-  ['path_150',['path',['../structcgroup__file__info.html#a801424e68139c930e40ea24be4d96a68',1,'cgroup_file_info::path()'],['../structcgroup__mount__point.html#ad1e89dfc02cfd7341e2296086a4f251e',1,'cgroup_mount_point::path()']]]
+  ['readme_151',['README',['../md_README.html',1,'']]]
 ];
index 03bfe7ac729c3173644af79e01c819ff21e3f530..38d6c7a867d52b6101e064d0d0a48a5c37bb19a8 100644 (file)
@@ -1,4 +1,6 @@
 var searchData=
 [
-  ['readme_151',['README',['../md_README.html',1,'']]]
+  ['the_20libcgroup_20security_20vulnerability_20handling_20process_152',['The libcgroup Security Vulnerability Handling Process',['../md_SECURITY.html',1,'']]],
+  ['todo_20list_153',['Todo List',['../todo.html',1,'']]],
+  ['type_154',['type',['../structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55',1,'cgroup_file_info']]]
 ];
index 38d6c7a867d52b6101e064d0d0a48a5c37bb19a8..8d63bb8f25f12dfc1c9c5426ef7c001dee8991ba 100644 (file)
@@ -1,6 +1,4 @@
 var searchData=
 [
-  ['the_20libcgroup_20security_20vulnerability_20handling_20process_152',['The libcgroup Security Vulnerability Handling Process',['../md_SECURITY.html',1,'']]],
-  ['todo_20list_153',['Todo List',['../todo.html',1,'']]],
-  ['type_154',['type',['../structcgroup__file__info.html#a955506601f440d05cb11e4ee6b455c55',1,'cgroup_file_info']]]
+  ['unchanged_5fpid_155',['unchanged_pid',['../structunchanged__pid.html',1,'']]]
 ];
diff --git a/search/all_14.html b/search/all_14.html
deleted file mode 100644 (file)
index afecf56..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_14.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-createResults();
-/* @license-end */
-</script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
-window.addEventListener("message", function(event) {
-  if (event.data == "take_focus") {
-    var elem = searchResults.NavNext(0);
-    if (elem) elem.focus();
-  }
-});
-/* @license-end */
-</script>
-</div>
-</body>
-</html>
diff --git a/search/all_14.js b/search/all_14.js
deleted file mode 100644 (file)
index 8d63bb8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['unchanged_5fpid_155',['unchanged_pid',['../structunchanged__pid.html',1,'']]]
-];
index f1ff63ec22480da72f958d408ec8f293c81f8190..0be2fd88f1cd0a0c0b6442d148dd90c71a8f18a0 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['3_2e_20iterators_2',['3. Iterators',['../group__group__iterators.html',1,'']]]
+  ['4_2e_20manipulation_20with_20tasks_2',['4. Manipulation with tasks',['../group__group__tasks.html',1,'']]]
 ];
index 5023853e6f29a57a4ffa66c8c8d88649d646c091..a7a4245c23aa2385e46b5b6df9b44005749e5120 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['4_2e_20manipulation_20with_20tasks_3',['4. Manipulation with tasks',['../group__group__tasks.html',1,'']]]
+  ['5_2e_20configuration_3',['5. Configuration',['../group__group__config.html',1,'']]]
 ];
index 0c78faa3a9ea4d47b2c8535de50b7c1135bebca6..5da9bff0e120d605b19e191d28074270d38b563d 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['5_2e_20configuration_4',['5. Configuration',['../group__group__config.html',1,'']]]
+  ['6_2e_20error_20handling_4',['6. Error handling',['../group__group__errors.html',1,'']]]
 ];
index 785cf5698dd13f56736a3611dbfddc312382d600..23dc56987b091df526e442464d747f686f415c39 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['6_2e_20error_20handling_5',['6. Error handling',['../group__group__errors.html',1,'']]]
+  ['7_2e_20logging_5',['7. Logging',['../group__group__log.html',1,'']]]
 ];
index ef106f4f788aa9add8ed808fdf7399cb773fcd62..929bf94a2d243fa09e0fa31afcb679b1fc0c0f8d 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['7_2e_20logging_6',['7. Logging',['../group__group__log.html',1,'']]]
+  ['array_5fparent_5finfo_6',['array_parent_info',['../structarray__parent__info.html',1,'']]],
+  ['array_5funchanged_7',['array_unchanged',['../structarray__unchanged.html',1,'']]]
 ];
index 31d26616ac7ec0a4cde48f4d524d4e53de604708..b116df9be130bb4341412b35811dc7f345d51f35 100644 (file)
@@ -1,5 +1,4 @@
 var searchData=
 [
-  ['array_5fparent_5finfo_7',['array_parent_info',['../structarray__parent__info.html',1,'']]],
-  ['array_5funchanged_8',['array_unchanged',['../structarray__unchanged.html',1,'']]]
+  ['black_5flist_5ftype_8',['black_list_type',['../structblack__list__type.html',1,'']]]
 ];
index 7f9eb3c01afd75d94949e030c38d60984661f89a..2108bab5b641747e885dbc3471c35f41042cfdec 100644 (file)
@@ -1,4 +1,121 @@
 var searchData=
 [
-  ['black_5flist_5ftype_9',['black_list_type',['../structblack__list__type.html',1,'']]]
+  ['cg_5fchmod_5frecursive_9',['cg_chmod_recursive',['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c'],['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c']]],
+  ['cg_5fmount_5fpoint_10',['cg_mount_point',['../structcg__mount__point.html',1,'']]],
+  ['cg_5fmount_5ftable_5fs_11',['cg_mount_table_s',['../structcg__mount__table__s.html',1,'']]],
+  ['cg_5fvalue_5fmax_12',['CG_VALUE_MAX',['../group__group__iterators.html#ga55d2eac2af703794651d344c073566f5',1,'iterators.h']]],
+  ['cgroup_13',['cgroup',['../structcgroup.html',1,'']]],
+  ['cgroup_5fabstraction_5fmap_14',['cgroup_abstraction_map',['../structcgroup__abstraction__map.html',1,'']]],
+  ['cgroup_5fadd_5fall_5fcontrollers_15',['cgroup_add_all_controllers',['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fcontroller_16',['cgroup_add_controller',['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fbool_17',['cgroup_add_value_bool',['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c'],['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fint64_18',['cgroup_add_value_int64',['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c'],['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fstring_19',['cgroup_add_value_string',['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c'],['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fuint64_20',['cgroup_add_value_uint64',['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c']]],
+  ['cgroup_5fattach_5ftask_21',['cgroup_attach_task',['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c'],['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c']]],
+  ['cgroup_5fattach_5ftask_5fpid_22',['cgroup_attach_task_pid',['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c'],['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c']]],
+  ['cgroup_5fchange_5fall_5fcgroups_23',['cgroup_change_all_cgroups',['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c'],['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fflags_24',['cgroup_change_cgroup_flags',['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fpath_25',['cgroup_change_cgroup_path',['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[]):&#160;api.c'],['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *dest, pid_t pid, const char *const controllers[]):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_26',['cgroup_change_cgroup_uid_gid',['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c'],['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_5fflags_27',['cgroup_change_cgroup_uid_gid_flags',['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c']]],
+  ['cgroup_5fcompare_5fcgroup_28',['cgroup_compare_cgroup',['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c'],['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c']]],
+  ['cgroup_5fcompare_5fcontrollers_29',['cgroup_compare_controllers',['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c'],['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c']]],
+  ['cgroup_5fconfig_5fcreate_5ftemplate_5fgroup_30',['cgroup_config_create_template_group',['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c'],['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c']]],
+  ['cgroup_5fconfig_5fload_5fconfig_31',['cgroup_config_load_config',['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c'],['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c']]],
+  ['cgroup_5fconfig_5fset_5fdefault_32',['cgroup_config_set_default',['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c'],['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c']]],
+  ['cgroup_5fconfig_5funload_5fconfig_33',['cgroup_config_unload_config',['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c'],['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c']]],
+  ['cgroup_5fcontroller_34',['cgroup_controller',['../structcgroup__controller.html',1,'']]],
+  ['cgroup_5fcopy_5fcgroup_35',['cgroup_copy_cgroup',['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c'],['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c']]],
+  ['cgroup_5fcreate_5fcgroup_36',['cgroup_create_cgroup',['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
+  ['cgroup_5fcreate_5fcgroup_5ffrom_5fparent_37',['cgroup_create_cgroup_from_parent',['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
+  ['cgroup_5fdelete_5fcgroup_38',['cgroup_delete_cgroup',['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c'],['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c']]],
+  ['cgroup_5fdelete_5fcgroup_5fext_39',['cgroup_delete_cgroup_ext',['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c'],['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c']]],
+  ['cgroup_5fdictionary_40',['cgroup_dictionary',['../structcgroup__dictionary.html',1,'']]],
+  ['cgroup_5fdictionary_5fitem_41',['cgroup_dictionary_item',['../structcgroup__dictionary__item.html',1,'']]],
+  ['cgroup_5fdictionary_5fiterator_42',['cgroup_dictionary_iterator',['../structcgroup__dictionary__iterator.html',1,'']]],
+  ['cgroup_5ffile_5finfo_43',['cgroup_file_info',['../structcgroup__file__info.html',1,'']]],
+  ['cgroup_5ffile_5ftype_44',['cgroup_file_type',['../group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444',1,'iterators.h']]],
+  ['cgroup_5ffile_5ftype_5fdir_45',['CGROUP_FILE_TYPE_DIR',['../group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3',1,'iterators.h']]],
+  ['cgroup_5ffile_5ftype_5ffile_46',['CGROUP_FILE_TYPE_FILE',['../group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740',1,'iterators.h']]],
+  ['cgroup_5ffile_5ftype_5fother_47',['CGROUP_FILE_TYPE_OTHER',['../group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b',1,'iterators.h']]],
+  ['cgroup_5ffree_48',['cgroup_free',['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c'],['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c']]],
+  ['cgroup_5ffree_5fcontrollers_49',['cgroup_free_controllers',['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fall_5fcontroller_5fbegin_50',['cgroup_get_all_controller_begin',['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c']]],
+  ['cgroup_5fget_5fall_5fcontroller_5fend_51',['cgroup_get_all_controller_end',['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5fall_5fcontroller_5fnext_52',['cgroup_get_all_controller_next',['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c']]],
+  ['cgroup_5fget_5fcgroup_53',['cgroup_get_cgroup',['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c'],['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c']]],
+  ['cgroup_5fget_5fcgroup_5fname_54',['cgroup_get_cgroup_name',['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fcontroller_55',['cgroup_get_controller',['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fcontroller_5fbegin_56',['cgroup_get_controller_begin',['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
+  ['cgroup_5fget_5fcontroller_5fend_57',['cgroup_get_controller_end',['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5fcontroller_5fnext_58',['cgroup_get_controller_next',['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
+  ['cgroup_5fget_5fcontroller_5fversion_59',['cgroup_get_controller_version',['../group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f',1,'cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version):&#160;api.c'],['../group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f',1,'cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version):&#160;api.c']]],
+  ['cgroup_5fget_5fcurrent_5fcontroller_5fpath_60',['cgroup_get_current_controller_path',['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c'],['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c']]],
+  ['cgroup_5fget_5flast_5ferrno_61',['cgroup_get_last_errno',['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c'],['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c']]],
+  ['cgroup_5fget_5fprocs_62',['cgroup_get_procs',['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c'],['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c']]],
+  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fbegin_63',['cgroup_get_subsys_mount_point_begin',['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c']]],
+  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fend_64',['cgroup_get_subsys_mount_point_end',['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fnext_65',['cgroup_get_subsys_mount_point_next',['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c']]],
+  ['cgroup_5fget_5ftask_5fbegin_66',['cgroup_get_task_begin',['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c']]],
+  ['cgroup_5fget_5ftask_5fend_67',['cgroup_get_task_end',['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5ftask_5fnext_68',['cgroup_get_task_next',['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c']]],
+  ['cgroup_5fget_5fuid_5fgid_69',['cgroup_get_uid_gid',['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c'],['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fbool_70',['cgroup_get_value_bool',['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c'],['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fint64_71',['cgroup_get_value_int64',['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fname_72',['cgroup_get_value_name',['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c'],['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fname_5fcount_73',['cgroup_get_value_name_count',['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c'],['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fstring_74',['cgroup_get_value_string',['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c'],['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fuint64_75',['cgroup_get_value_uint64',['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c']]],
+  ['cgroup_5fgroup_5fspec_76',['cgroup_group_spec',['../structcgroup__group__spec.html',1,'']]],
+  ['cgroup_5finit_5frules_5fcache_77',['cgroup_init_rules_cache',['../group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d',1,'cgroup_init_rules_cache(void):&#160;api.c'],['../group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d',1,'cgroup_init_rules_cache(void):&#160;api.c']]],
+  ['cgroup_5finit_5ftemplates_5fcache_78',['cgroup_init_templates_cache',['../group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00',1,'cgroup_init_templates_cache(char *pathname):&#160;config.c'],['../group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00',1,'cgroup_init_templates_cache(char *pathname):&#160;config.c']]],
+  ['cgroup_5fload_5ftemplates_5fcache_5ffrom_5ffiles_79',['cgroup_load_templates_cache_from_files',['../group__group__config.html#ga924860998c37da53cababe24163fc89b',1,'cgroup_load_templates_cache_from_files(int *file_index):&#160;config.c'],['../group__group__config.html#ga924860998c37da53cababe24163fc89b',1,'cgroup_load_templates_cache_from_files(int *file_index):&#160;config.c']]],
+  ['cgroup_5flog_80',['cgroup_log',['../group__group__log.html#gab514ad5d83422ddfe479bdf651e80958',1,'cgroup_log(int loglevel, const char *fmt,...):&#160;log.c'],['../group__group__log.html#gab514ad5d83422ddfe479bdf651e80958',1,'cgroup_log(int level, const char *fmt,...):&#160;log.c']]],
+  ['cgroup_5flog_5fdebug_81',['CGROUP_LOG_DEBUG',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72',1,'log.h']]],
+  ['cgroup_5flog_5ferror_82',['CGROUP_LOG_ERROR',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2',1,'log.h']]],
+  ['cgroup_5flog_5finfo_83',['CGROUP_LOG_INFO',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2',1,'log.h']]],
+  ['cgroup_5flog_5flevel_84',['cgroup_log_level',['../group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a',1,'log.h']]],
+  ['cgroup_5flog_5fwarning_85',['CGROUP_LOG_WARNING',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057',1,'log.h']]],
+  ['cgroup_5fmodify_5fcgroup_86',['cgroup_modify_cgroup',['../group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071',1,'cgroup_modify_cgroup(struct cgroup *cgroup):&#160;api.c'],['../group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071',1,'cgroup_modify_cgroup(struct cgroup *cgroup):&#160;api.c']]],
+  ['cgroup_5fmount_5fpoint_87',['cgroup_mount_point',['../structcgroup__mount__point.html',1,'']]],
+  ['cgroup_5fnew_5fcgroup_88',['cgroup_new_cgroup',['../group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31',1,'cgroup_new_cgroup(const char *name):&#160;wrapper.c'],['../group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31',1,'cgroup_new_cgroup(const char *name):&#160;wrapper.c']]],
+  ['cgroup_5fparse_5flog_5flevel_5fstr_89',['cgroup_parse_log_level_str',['../group__group__log.html#gaa364a06aee0e99228a1e6a26b25a9794',1,'cgroup_parse_log_level_str(const char *levelstr):&#160;log.c'],['../group__group__log.html#gaa364a06aee0e99228a1e6a26b25a9794',1,'cgroup_parse_log_level_str(const char *levelstr):&#160;log.c']]],
+  ['cgroup_5fprint_5frules_5fconfig_90',['cgroup_print_rules_config',['../group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a',1,'cgroup_print_rules_config(FILE *fp):&#160;api.c'],['../group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a',1,'cgroup_print_rules_config(FILE *fp):&#160;api.c']]],
+  ['cgroup_5fread_5fstats_5fbegin_91',['cgroup_read_stats_begin',['../group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de',1,'cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat):&#160;api.c'],['../group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de',1,'cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *cgroup_stat):&#160;api.c']]],
+  ['cgroup_5fread_5fstats_5fend_92',['cgroup_read_stats_end',['../group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb',1,'cgroup_read_stats_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb',1,'cgroup_read_stats_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fread_5fstats_5fnext_93',['cgroup_read_stats_next',['../group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7',1,'cgroup_read_stats_next(void **handle, struct cgroup_stat *stat):&#160;api.c'],['../group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7',1,'cgroup_read_stats_next(void **handle, struct cgroup_stat *cgroup_stat):&#160;api.c']]],
+  ['cgroup_5fread_5fvalue_5fbegin_94',['cgroup_read_value_begin',['../group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236',1,'cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236',1,'cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max):&#160;api.c']]],
+  ['cgroup_5fread_5fvalue_5fend_95',['cgroup_read_value_end',['../group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21',1,'cgroup_read_value_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21',1,'cgroup_read_value_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fread_5fvalue_5fnext_96',['cgroup_read_value_next',['../group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc',1,'cgroup_read_value_next(void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc',1,'cgroup_read_value_next(void **handle, char *buffer, int max):&#160;api.c']]],
+  ['cgroup_5fregister_5funchanged_5fprocess_97',['cgroup_register_unchanged_process',['../group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c',1,'cgroup_register_unchanged_process(pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c',1,'cgroup_register_unchanged_process(pid_t pid, int flags):&#160;api.c']]],
+  ['cgroup_5freload_5fcached_5frules_98',['cgroup_reload_cached_rules',['../group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce',1,'cgroup_reload_cached_rules(void):&#160;api.c'],['../group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce',1,'cgroup_reload_cached_rules(void):&#160;api.c']]],
+  ['cgroup_5freload_5fcached_5ftemplates_99',['cgroup_reload_cached_templates',['../group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5',1,'cgroup_reload_cached_templates(char *pathname):&#160;config.c'],['../group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5',1,'cgroup_reload_cached_templates(char *pathname):&#160;config.c']]],
+  ['cgroup_5frule_100',['cgroup_rule',['../structcgroup__rule.html',1,'']]],
+  ['cgroup_5frule_5flist_101',['cgroup_rule_list',['../structcgroup__rule__list.html',1,'']]],
+  ['cgroup_5frules_5fdata_102',['cgroup_rules_data',['../structcgroup__rules__data.html',1,'']]],
+  ['cgroup_5fset_5fdefault_5flogger_103',['cgroup_set_default_logger',['../group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7',1,'cgroup_set_default_logger(int loglevel):&#160;log.c'],['../group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7',1,'cgroup_set_default_logger(int level):&#160;log.c']]],
+  ['cgroup_5fset_5flogger_104',['cgroup_set_logger',['../group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0',1,'cgroup_set_logger(cgroup_logger_callback logger, int loglevel, void *userdata):&#160;log.c'],['../group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0',1,'cgroup_set_logger(cgroup_logger_callback logger, int loglevel, void *userdata):&#160;log.c']]],
+  ['cgroup_5fset_5floglevel_105',['cgroup_set_loglevel',['../group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c',1,'cgroup_set_loglevel(int loglevel):&#160;log.c'],['../group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c',1,'cgroup_set_loglevel(int loglevel):&#160;log.c']]],
+  ['cgroup_5fset_5fpermissions_106',['cgroup_set_permissions',['../group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b',1,'cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm):&#160;api.c'],['../group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b',1,'cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm):&#160;api.c']]],
+  ['cgroup_5fset_5fuid_5fgid_107',['cgroup_set_uid_gid',['../group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43',1,'cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid):&#160;wrapper.c'],['../group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43',1,'cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid):&#160;wrapper.c']]],
+  ['cgroup_5fset_5fvalue_5fbool_108',['cgroup_set_value_bool',['../group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7',1,'cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c'],['../group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7',1,'cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c']]],
+  ['cgroup_5fset_5fvalue_5fint64_109',['cgroup_set_value_int64',['../group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956',1,'cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956',1,'cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c']]],
+  ['cgroup_5fset_5fvalue_5fstring_110',['cgroup_set_value_string',['../group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82',1,'cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c'],['../group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82',1,'cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c']]],
+  ['cgroup_5fset_5fvalue_5fuint64_111',['cgroup_set_value_uint64',['../group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5',1,'cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5',1,'cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c']]],
+  ['cgroup_5fstat_112',['cgroup_stat',['../structcgroup__stat.html',1,'']]],
+  ['cgroup_5fstrerror_113',['cgroup_strerror',['../group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b',1,'cgroup_strerror(int code):&#160;api.c'],['../group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b',1,'cgroup_strerror(int code):&#160;api.c']]],
+  ['cgroup_5fstring_5flist_114',['cgroup_string_list',['../structcgroup__string__list.html',1,'']]],
+  ['cgroup_5ftemplates_5fcache_5fset_5fsource_5ffiles_115',['cgroup_templates_cache_set_source_files',['../group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422',1,'cgroup_templates_cache_set_source_files(struct cgroup_string_list *tmpl_files):&#160;config.c'],['../group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422',1,'cgroup_templates_cache_set_source_files(struct cgroup_string_list *tmpl_files):&#160;config.c']]],
+  ['cgroup_5ftree_5fhandle_116',['cgroup_tree_handle',['../structcgroup__tree__handle.html',1,'']]],
+  ['cgroup_5funload_5fcgroups_117',['cgroup_unload_cgroups',['../group__group__config.html#ga85b285712354faca495193075035938d',1,'cgroup_unload_cgroups(void):&#160;config.c'],['../group__group__config.html#ga85b285712354faca495193075035938d',1,'cgroup_unload_cgroups(void):&#160;config.c']]],
+  ['cgroup_5fwalk_5ftree_5fbegin_118',['cgroup_walk_tree_begin',['../group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68',1,'cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level):&#160;api.c'],['../group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68',1,'cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level):&#160;api.c']]],
+  ['cgroup_5fwalk_5ftree_5fend_119',['cgroup_walk_tree_end',['../group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde',1,'cgroup_walk_tree_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde',1,'cgroup_walk_tree_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fwalk_5ftree_5fnext_120',['cgroup_walk_tree_next',['../group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1',1,'cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level):&#160;api.c'],['../group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1',1,'cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level):&#160;api.c']]],
+  ['cgroup_5fwalk_5ftree_5fset_5fflags_121',['cgroup_walk_tree_set_flags',['../group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8',1,'cgroup_walk_tree_set_flags(void **handle, int flags):&#160;api.c'],['../group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8',1,'cgroup_walk_tree_set_flags(void **handle, int flags):&#160;api.c']]],
+  ['cgroup_5fwalk_5ftype_122',['cgroup_walk_type',['../group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3',1,'iterators.h']]],
+  ['cgroup_5fwalk_5ftype_5fpost_5fdir_123',['CGROUP_WALK_TYPE_POST_DIR',['../group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1',1,'iterators.h']]],
+  ['cgroup_5fwalk_5ftype_5fpre_5fdir_124',['CGROUP_WALK_TYPE_PRE_DIR',['../group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913',1,'iterators.h']]],
+  ['control_5fvalue_125',['control_value',['../structcontrol__value.html',1,'']]],
+  ['controller_5fdata_126',['controller_data',['../structcontroller__data.html',1,'']]]
 ];
index 5e1c27dc556fa96fbdc053589e8ea846b160151c..be05116dc26d92ed80d6b40f0b951c302208e78c 100644 (file)
@@ -1,121 +1,4 @@
 var searchData=
 [
-  ['cg_5fchmod_5frecursive_10',['cg_chmod_recursive',['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c'],['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c']]],
-  ['cg_5fmount_5fpoint_11',['cg_mount_point',['../structcg__mount__point.html',1,'']]],
-  ['cg_5fmount_5ftable_5fs_12',['cg_mount_table_s',['../structcg__mount__table__s.html',1,'']]],
-  ['cg_5fvalue_5fmax_13',['CG_VALUE_MAX',['../group__group__iterators.html#ga55d2eac2af703794651d344c073566f5',1,'iterators.h']]],
-  ['cgroup_14',['cgroup',['../structcgroup.html',1,'']]],
-  ['cgroup_5fadd_5fall_5fcontrollers_15',['cgroup_add_all_controllers',['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fcontroller_16',['cgroup_add_controller',['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fbool_17',['cgroup_add_value_bool',['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c'],['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fint64_18',['cgroup_add_value_int64',['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c'],['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fstring_19',['cgroup_add_value_string',['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c'],['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fuint64_20',['cgroup_add_value_uint64',['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c']]],
-  ['cgroup_5fattach_5ftask_21',['cgroup_attach_task',['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c'],['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c']]],
-  ['cgroup_5fattach_5ftask_5fpid_22',['cgroup_attach_task_pid',['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c'],['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c']]],
-  ['cgroup_5fchange_5fall_5fcgroups_23',['cgroup_change_all_cgroups',['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c'],['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fflags_24',['cgroup_change_cgroup_flags',['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fpath_25',['cgroup_change_cgroup_path',['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[]):&#160;api.c'],['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *dest, pid_t pid, const char *const controllers[]):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_26',['cgroup_change_cgroup_uid_gid',['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c'],['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_5fflags_27',['cgroup_change_cgroup_uid_gid_flags',['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c']]],
-  ['cgroup_5fcompare_5fcgroup_28',['cgroup_compare_cgroup',['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c'],['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c']]],
-  ['cgroup_5fcompare_5fcontrollers_29',['cgroup_compare_controllers',['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c'],['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c']]],
-  ['cgroup_5fconfig_5fcreate_5ftemplate_5fgroup_30',['cgroup_config_create_template_group',['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c'],['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c']]],
-  ['cgroup_5fconfig_5fload_5fconfig_31',['cgroup_config_load_config',['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c'],['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c']]],
-  ['cgroup_5fconfig_5fset_5fdefault_32',['cgroup_config_set_default',['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c'],['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c']]],
-  ['cgroup_5fconfig_5funload_5fconfig_33',['cgroup_config_unload_config',['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c'],['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c']]],
-  ['cgroup_5fcontroller_34',['cgroup_controller',['../structcgroup__controller.html',1,'']]],
-  ['cgroup_5fcopy_5fcgroup_35',['cgroup_copy_cgroup',['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c'],['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c']]],
-  ['cgroup_5fcreate_5fcgroup_36',['cgroup_create_cgroup',['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
-  ['cgroup_5fcreate_5fcgroup_5ffrom_5fparent_37',['cgroup_create_cgroup_from_parent',['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
-  ['cgroup_5fdelete_5fcgroup_38',['cgroup_delete_cgroup',['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c'],['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c']]],
-  ['cgroup_5fdelete_5fcgroup_5fext_39',['cgroup_delete_cgroup_ext',['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c'],['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c']]],
-  ['cgroup_5fdictionary_40',['cgroup_dictionary',['../structcgroup__dictionary.html',1,'']]],
-  ['cgroup_5fdictionary_5fitem_41',['cgroup_dictionary_item',['../structcgroup__dictionary__item.html',1,'']]],
-  ['cgroup_5fdictionary_5fiterator_42',['cgroup_dictionary_iterator',['../structcgroup__dictionary__iterator.html',1,'']]],
-  ['cgroup_5ffile_5finfo_43',['cgroup_file_info',['../structcgroup__file__info.html',1,'']]],
-  ['cgroup_5ffile_5ftype_44',['cgroup_file_type',['../group__group__iterators.html#ga608b4aa32e2db58fed34771a6a272444',1,'iterators.h']]],
-  ['cgroup_5ffile_5ftype_5fdir_45',['CGROUP_FILE_TYPE_DIR',['../group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a5418798fc4bf9634429c6af167a0e7c3',1,'iterators.h']]],
-  ['cgroup_5ffile_5ftype_5ffile_46',['CGROUP_FILE_TYPE_FILE',['../group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444ad925cc45f1b34fe80e14fc6b05269740',1,'iterators.h']]],
-  ['cgroup_5ffile_5ftype_5fother_47',['CGROUP_FILE_TYPE_OTHER',['../group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b',1,'iterators.h']]],
-  ['cgroup_5ffree_48',['cgroup_free',['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c'],['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c']]],
-  ['cgroup_5ffree_5fcontrollers_49',['cgroup_free_controllers',['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fall_5fcontroller_5fbegin_50',['cgroup_get_all_controller_begin',['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c']]],
-  ['cgroup_5fget_5fall_5fcontroller_5fend_51',['cgroup_get_all_controller_end',['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5fall_5fcontroller_5fnext_52',['cgroup_get_all_controller_next',['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c']]],
-  ['cgroup_5fget_5fcgroup_53',['cgroup_get_cgroup',['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c'],['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c']]],
-  ['cgroup_5fget_5fcgroup_5fname_54',['cgroup_get_cgroup_name',['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fcontroller_55',['cgroup_get_controller',['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fcontroller_5fbegin_56',['cgroup_get_controller_begin',['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
-  ['cgroup_5fget_5fcontroller_5fend_57',['cgroup_get_controller_end',['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5fcontroller_5fnext_58',['cgroup_get_controller_next',['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
-  ['cgroup_5fget_5fcurrent_5fcontroller_5fpath_59',['cgroup_get_current_controller_path',['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c'],['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c']]],
-  ['cgroup_5fget_5flast_5ferrno_60',['cgroup_get_last_errno',['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c'],['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c']]],
-  ['cgroup_5fget_5fprocs_61',['cgroup_get_procs',['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c'],['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_62',['cgroup_get_subsys_mount_point',['../group__group__init.html#ga4f061b353321b81869057970d96f09f7',1,'cgroup_get_subsys_mount_point(const char *controller, char **mount_point):&#160;api.c'],['../group__group__init.html#ga4f061b353321b81869057970d96f09f7',1,'cgroup_get_subsys_mount_point(const char *controller, char **mount_point):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fbegin_63',['cgroup_get_subsys_mount_point_begin',['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fend_64',['cgroup_get_subsys_mount_point_end',['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fnext_65',['cgroup_get_subsys_mount_point_next',['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c']]],
-  ['cgroup_5fget_5ftask_5fbegin_66',['cgroup_get_task_begin',['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c']]],
-  ['cgroup_5fget_5ftask_5fend_67',['cgroup_get_task_end',['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5ftask_5fnext_68',['cgroup_get_task_next',['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c']]],
-  ['cgroup_5fget_5fuid_5fgid_69',['cgroup_get_uid_gid',['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c'],['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fbool_70',['cgroup_get_value_bool',['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c'],['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fint64_71',['cgroup_get_value_int64',['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fname_72',['cgroup_get_value_name',['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c'],['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fname_5fcount_73',['cgroup_get_value_name_count',['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c'],['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fstring_74',['cgroup_get_value_string',['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c'],['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fuint64_75',['cgroup_get_value_uint64',['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c']]],
-  ['cgroup_5fgroup_5fspec_76',['cgroup_group_spec',['../structcgroup__group__spec.html',1,'']]],
-  ['cgroup_5finit_77',['cgroup_init',['../group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a',1,'cgroup_init(void):&#160;api.c'],['../group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a',1,'cgroup_init(void):&#160;api.c']]],
-  ['cgroup_5finit_5frules_5fcache_78',['cgroup_init_rules_cache',['../group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d',1,'cgroup_init_rules_cache(void):&#160;api.c'],['../group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d',1,'cgroup_init_rules_cache(void):&#160;api.c']]],
-  ['cgroup_5finit_5ftemplates_5fcache_79',['cgroup_init_templates_cache',['../group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00',1,'cgroup_init_templates_cache(char *pathname):&#160;config.c'],['../group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00',1,'cgroup_init_templates_cache(char *pathname):&#160;config.c']]],
-  ['cgroup_5fload_5ftemplates_5fcache_5ffrom_5ffiles_80',['cgroup_load_templates_cache_from_files',['../group__group__config.html#ga924860998c37da53cababe24163fc89b',1,'cgroup_load_templates_cache_from_files(int *file_index):&#160;config.c'],['../group__group__config.html#ga924860998c37da53cababe24163fc89b',1,'cgroup_load_templates_cache_from_files(int *file_index):&#160;config.c']]],
-  ['cgroup_5flog_81',['cgroup_log',['../group__group__log.html#gab514ad5d83422ddfe479bdf651e80958',1,'cgroup_log(int loglevel, const char *fmt,...):&#160;log.c'],['../group__group__log.html#gab514ad5d83422ddfe479bdf651e80958',1,'cgroup_log(int level, const char *fmt,...):&#160;log.c']]],
-  ['cgroup_5flog_5fdebug_82',['CGROUP_LOG_DEBUG',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa86b4157fb38d9f8053c6b7429bd26c72',1,'log.h']]],
-  ['cgroup_5flog_5ferror_83',['CGROUP_LOG_ERROR',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aa4dd44215cd3553e79dbf91eb9ca418a2',1,'log.h']]],
-  ['cgroup_5flog_5finfo_84',['CGROUP_LOG_INFO',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aad66ab51dba078ffc3b1c6d397053f9e2',1,'log.h']]],
-  ['cgroup_5flog_5flevel_85',['cgroup_log_level',['../group__group__log.html#ga98b7aea5d23411e70c7e3da54d90233a',1,'log.h']]],
-  ['cgroup_5flog_5fwarning_86',['CGROUP_LOG_WARNING',['../group__group__log.html#gga98b7aea5d23411e70c7e3da54d90233aaa99ec9e854a543901bddf854d1960057',1,'log.h']]],
-  ['cgroup_5fmodify_5fcgroup_87',['cgroup_modify_cgroup',['../group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071',1,'cgroup_modify_cgroup(struct cgroup *cgroup):&#160;api.c'],['../group__group__groups.html#ga31ba5e865ae8d58b4453c0ef06d2c071',1,'cgroup_modify_cgroup(struct cgroup *cgroup):&#160;api.c']]],
-  ['cgroup_5fmount_5fpoint_88',['cgroup_mount_point',['../structcgroup__mount__point.html',1,'']]],
-  ['cgroup_5fnew_5fcgroup_89',['cgroup_new_cgroup',['../group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31',1,'cgroup_new_cgroup(const char *name):&#160;wrapper.c'],['../group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31',1,'cgroup_new_cgroup(const char *name):&#160;wrapper.c']]],
-  ['cgroup_5fparse_5flog_5flevel_5fstr_90',['cgroup_parse_log_level_str',['../group__group__log.html#gaa364a06aee0e99228a1e6a26b25a9794',1,'cgroup_parse_log_level_str(const char *levelstr):&#160;log.c'],['../group__group__log.html#gaa364a06aee0e99228a1e6a26b25a9794',1,'cgroup_parse_log_level_str(const char *levelstr):&#160;log.c']]],
-  ['cgroup_5fprint_5frules_5fconfig_91',['cgroup_print_rules_config',['../group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a',1,'cgroup_print_rules_config(FILE *fp):&#160;api.c'],['../group__group__tasks.html#gac4e3f29cfbdc3d77f08c9fe60857274a',1,'cgroup_print_rules_config(FILE *fp):&#160;api.c']]],
-  ['cgroup_5fread_5fstats_5fbegin_92',['cgroup_read_stats_begin',['../group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de',1,'cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat):&#160;api.c'],['../group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de',1,'cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *cgroup_stat):&#160;api.c']]],
-  ['cgroup_5fread_5fstats_5fend_93',['cgroup_read_stats_end',['../group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb',1,'cgroup_read_stats_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb',1,'cgroup_read_stats_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fread_5fstats_5fnext_94',['cgroup_read_stats_next',['../group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7',1,'cgroup_read_stats_next(void **handle, struct cgroup_stat *cgroup_stat):&#160;api.c'],['../group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7',1,'cgroup_read_stats_next(void **handle, struct cgroup_stat *stat):&#160;api.c']]],
-  ['cgroup_5fread_5fvalue_5fbegin_95',['cgroup_read_value_begin',['../group__group__iterators.html#ga73edb115af6779644d3371b12cf09140',1,'cgroup_read_value_begin(const char *controller, const char *path, char *name, void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#ga73edb115af6779644d3371b12cf09140',1,'cgroup_read_value_begin(const char *controller, const char *path, char *name, void **handle, char *buffer, int max):&#160;api.c']]],
-  ['cgroup_5fread_5fvalue_5fend_96',['cgroup_read_value_end',['../group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21',1,'cgroup_read_value_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21',1,'cgroup_read_value_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fread_5fvalue_5fnext_97',['cgroup_read_value_next',['../group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc',1,'cgroup_read_value_next(void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc',1,'cgroup_read_value_next(void **handle, char *buffer, int max):&#160;api.c']]],
-  ['cgroup_5fregister_5funchanged_5fprocess_98',['cgroup_register_unchanged_process',['../group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c',1,'cgroup_register_unchanged_process(pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c',1,'cgroup_register_unchanged_process(pid_t pid, int flags):&#160;api.c']]],
-  ['cgroup_5freload_5fcached_5frules_99',['cgroup_reload_cached_rules',['../group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce',1,'cgroup_reload_cached_rules(void):&#160;api.c'],['../group__group__tasks.html#gaf81ebd9cb5575c75b4c85f385ebda1ce',1,'cgroup_reload_cached_rules(void):&#160;api.c']]],
-  ['cgroup_5freload_5fcached_5ftemplates_100',['cgroup_reload_cached_templates',['../group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5',1,'cgroup_reload_cached_templates(char *pathname):&#160;config.c'],['../group__group__config.html#ga89fe0d7943b29cc10d57b07abcdfa7b5',1,'cgroup_reload_cached_templates(char *pathname):&#160;config.c']]],
-  ['cgroup_5frule_101',['cgroup_rule',['../structcgroup__rule.html',1,'']]],
-  ['cgroup_5frule_5flist_102',['cgroup_rule_list',['../structcgroup__rule__list.html',1,'']]],
-  ['cgroup_5frules_5fdata_103',['cgroup_rules_data',['../structcgroup__rules__data.html',1,'']]],
-  ['cgroup_5fset_5fdefault_5flogger_104',['cgroup_set_default_logger',['../group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7',1,'cgroup_set_default_logger(int loglevel):&#160;log.c'],['../group__group__log.html#gab1457ce518dcde0b9f3c14ec9efa2de7',1,'cgroup_set_default_logger(int level):&#160;log.c']]],
-  ['cgroup_5fset_5flogger_105',['cgroup_set_logger',['../group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0',1,'cgroup_set_logger(cgroup_logger_callback logger, int loglevel, void *userdata):&#160;log.c'],['../group__group__log.html#ga76d7032206f9b9d1c0be1a71a68c43d0',1,'cgroup_set_logger(cgroup_logger_callback logger, int loglevel, void *userdata):&#160;log.c']]],
-  ['cgroup_5fset_5floglevel_106',['cgroup_set_loglevel',['../group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c',1,'cgroup_set_loglevel(int loglevel):&#160;log.c'],['../group__group__log.html#gaac5fe2352800ff62465a5abe649d5b8c',1,'cgroup_set_loglevel(int loglevel):&#160;log.c']]],
-  ['cgroup_5fset_5fpermissions_107',['cgroup_set_permissions',['../group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b',1,'cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm):&#160;api.c'],['../group__group__groups.html#gaa0400f1ff2fba7fbb6db82d97039d92b',1,'cgroup_set_permissions(struct cgroup *cgroup, mode_t control_dperm, mode_t control_fperm, mode_t task_fperm):&#160;api.c']]],
-  ['cgroup_5fset_5fuid_5fgid_108',['cgroup_set_uid_gid',['../group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43',1,'cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid):&#160;wrapper.c'],['../group__group__groups.html#ga53b9e13e30660c805ab5773d69397a43',1,'cgroup_set_uid_gid(struct cgroup *cgroup, uid_t tasks_uid, gid_t tasks_gid, uid_t control_uid, gid_t control_gid):&#160;wrapper.c']]],
-  ['cgroup_5fset_5fvalue_5fbool_109',['cgroup_set_value_bool',['../group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7',1,'cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c'],['../group__group__groups.html#gafb24892bc221cffee0f5fe07f64d54d7',1,'cgroup_set_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c']]],
-  ['cgroup_5fset_5fvalue_5fint64_110',['cgroup_set_value_int64',['../group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956',1,'cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gaa5c39e51035cc43dd26a3c620441a956',1,'cgroup_set_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c']]],
-  ['cgroup_5fset_5fvalue_5fstring_111',['cgroup_set_value_string',['../group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82',1,'cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c'],['../group__group__groups.html#ga938febc02b59cbeb8e4ceb2dc7fdac82',1,'cgroup_set_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c']]],
-  ['cgroup_5fset_5fvalue_5fuint64_112',['cgroup_set_value_uint64',['../group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5',1,'cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gade01aa1fe30ccc968af9fe8a3bc821e5',1,'cgroup_set_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c']]],
-  ['cgroup_5fstat_113',['cgroup_stat',['../structcgroup__stat.html',1,'']]],
-  ['cgroup_5fstrerror_114',['cgroup_strerror',['../group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b',1,'cgroup_strerror(int code):&#160;api.c'],['../group__group__errors.html#gaeae1d51db8528c89d84501c745020e6b',1,'cgroup_strerror(int code):&#160;api.c']]],
-  ['cgroup_5fstring_5flist_115',['cgroup_string_list',['../structcgroup__string__list.html',1,'']]],
-  ['cgroup_5ftemplates_5fcache_5fset_5fsource_5ffiles_116',['cgroup_templates_cache_set_source_files',['../group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422',1,'cgroup_templates_cache_set_source_files(struct cgroup_string_list *tmpl_files):&#160;config.c'],['../group__group__config.html#gacb09024dc469a1a1ff8cdebd8d0ab422',1,'cgroup_templates_cache_set_source_files(struct cgroup_string_list *tmpl_files):&#160;config.c']]],
-  ['cgroup_5ftree_5fhandle_117',['cgroup_tree_handle',['../structcgroup__tree__handle.html',1,'']]],
-  ['cgroup_5funload_5fcgroups_118',['cgroup_unload_cgroups',['../group__group__config.html#ga85b285712354faca495193075035938d',1,'cgroup_unload_cgroups(void):&#160;config.c'],['../group__group__config.html#ga85b285712354faca495193075035938d',1,'cgroup_unload_cgroups(void):&#160;config.c']]],
-  ['cgroup_5fwalk_5ftree_5fbegin_119',['cgroup_walk_tree_begin',['../group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68',1,'cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level):&#160;api.c'],['../group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68',1,'cgroup_walk_tree_begin(const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level):&#160;api.c']]],
-  ['cgroup_5fwalk_5ftree_5fend_120',['cgroup_walk_tree_end',['../group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde',1,'cgroup_walk_tree_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde',1,'cgroup_walk_tree_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fwalk_5ftree_5fnext_121',['cgroup_walk_tree_next',['../group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1',1,'cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level):&#160;api.c'],['../group__group__iterators.html#ga527f5499b0aa04d325074435baebdff1',1,'cgroup_walk_tree_next(int depth, void **handle, struct cgroup_file_info *info, int base_level):&#160;api.c']]],
-  ['cgroup_5fwalk_5ftree_5fset_5fflags_122',['cgroup_walk_tree_set_flags',['../group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8',1,'cgroup_walk_tree_set_flags(void **handle, int flags):&#160;api.c'],['../group__group__iterators.html#ga645ec7a6206dffb32667e7a0e148edc8',1,'cgroup_walk_tree_set_flags(void **handle, int flags):&#160;api.c']]],
-  ['cgroup_5fwalk_5ftype_123',['cgroup_walk_type',['../group__group__iterators.html#ga29a572cbc0c07e2b02dfa0f1ac0067d3',1,'iterators.h']]],
-  ['cgroup_5fwalk_5ftype_5fpost_5fdir_124',['CGROUP_WALK_TYPE_POST_DIR',['../group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3abf3c31227768960bd6622d2562aae3e1',1,'iterators.h']]],
-  ['cgroup_5fwalk_5ftype_5fpre_5fdir_125',['CGROUP_WALK_TYPE_PRE_DIR',['../group__group__iterators.html#gga29a572cbc0c07e2b02dfa0f1ac0067d3af865296e6a0e55cff574fbb132b9f913',1,'iterators.h']]],
-  ['control_5fvalue_126',['control_value',['../structcontrol__value.html',1,'']]],
-  ['controller_5fdata_127',['controller_data',['../structcontroller__data.html',1,'']]]
+  ['depth_127',['depth',['../structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709',1,'cgroup_file_info']]]
 ];
index 3659b192c2ad5bfb57f0b51f7577f68d3add4fb4..83a3fc9e7e635c1f3bcbe1994e590e2ac50703a2 100644 (file)
@@ -1,4 +1,14 @@
 var searchData=
 [
-  ['depth_128',['depth',['../structcgroup__file__info.html#ad56dca35266f0f5f5c2666b946d72709',1,'cgroup_file_info']]]
+  ['ecgconfigparsefail_128',['ECGCONFIGPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0',1,'error.h']]],
+  ['ecgeof_129',['ECGEOF',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436',1,'error.h']]],
+  ['ecgnonempty_130',['ECGNONEMPTY',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11',1,'error.h']]],
+  ['ecgnoversionconvert_131',['ECGNOVERSIONCONVERT',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960',1,'error.h']]],
+  ['ecgother_132',['ECGOTHER',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193',1,'error.h']]],
+  ['ecgroupmultimounted_133',['ECGROUPMULTIMOUNTED',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def',1,'error.h']]],
+  ['ecgroupnorules_134',['ECGROUPNORULES',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21',1,'error.h']]],
+  ['ecgroupparsefail_135',['ECGROUPPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39',1,'error.h']]],
+  ['ecgrulesparsefail_136',['ECGRULESPARSEFAIL',['../group__group__errors.html#ga515eba7218b187ffe263b7d9ecb3ac1b',1,'error.h']]],
+  ['enabled_137',['enabled',['../structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e',1,'controller_data']]],
+  ['ext_5fcgroup_5frecord_138',['ext_cgroup_record',['../structext__cgroup__record.html',1,'']]]
 ];
index 22a3e5ef265775c570bedfd868a6171683041b39..a40885f492b5ee98ce6c3a310f582eb81675a9b3 100644 (file)
@@ -1,13 +1,4 @@
 var searchData=
 [
-  ['ecgconfigparsefail_129',['ECGCONFIGPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0',1,'error.h']]],
-  ['ecgeof_130',['ECGEOF',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436',1,'error.h']]],
-  ['ecgnonempty_131',['ECGNONEMPTY',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11',1,'error.h']]],
-  ['ecgother_132',['ECGOTHER',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193',1,'error.h']]],
-  ['ecgroupmultimounted_133',['ECGROUPMULTIMOUNTED',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def',1,'error.h']]],
-  ['ecgroupnorules_134',['ECGROUPNORULES',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21',1,'error.h']]],
-  ['ecgroupparsefail_135',['ECGROUPPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39',1,'error.h']]],
-  ['ecgrulesparsefail_136',['ECGRULESPARSEFAIL',['../group__group__errors.html#ga515eba7218b187ffe263b7d9ecb3ac1b',1,'error.h']]],
-  ['enabled_137',['enabled',['../structcontroller__data.html#a24be412cfb6c19f7a13a4bff9e55206e',1,'controller_data']]],
-  ['ext_5fcgroup_5frecord_138',['ext_cgroup_record',['../structext__cgroup__record.html',1,'']]]
+  ['full_5fpath_139',['full_path',['../structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6',1,'cgroup_file_info']]]
 ];
index a40885f492b5ee98ce6c3a310f582eb81675a9b3..a136367082c59a6e50d481e09369ca9c812e1ae1 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['full_5fpath_139',['full_path',['../structcgroup__file__info.html#a4c61dc7f726ba0784ff8c71473dbc6e6',1,'cgroup_file_info']]]
+  ['hierarchy_140',['hierarchy',['../structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4',1,'controller_data']]],
+  ['how_20to_20contribute_20to_20the_20libcgroup_20project_141',['How to Contribute to the libcgroup Project',['../md_CONTRIBUTING.html',1,'']]]
 ];
index a136367082c59a6e50d481e09369ca9c812e1ae1..4202531ac5746384c77aa5112352072264b61b08 100644 (file)
@@ -1,5 +1,4 @@
 var searchData=
 [
-  ['hierarchy_140',['hierarchy',['../structcontroller__data.html#a25e316f55473ca2b333b0d7e0ca644b4',1,'controller_data']]],
-  ['how_20to_20contribute_20to_20the_20libcgroup_20project_141',['How to Contribute to the libcgroup Project',['../md_CONTRIBUTING.html',1,'']]]
+  ['libcgroup_142',['libcgroup',['../index.html',1,'']]]
 ];
index 4202531ac5746384c77aa5112352072264b61b08..cfc39d8e028baf471ff0597e77f3dd75565cd552 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['libcgroup_142',['libcgroup',['../index.html',1,'']]]
+  ['mount_143',['mount',['../structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef',1,'cg_mount_table_s']]]
 ];
index cfc39d8e028baf471ff0597e77f3dd75565cd552..efb7dbcd8e80120f58a3da5bbaf43f73224608ea 100644 (file)
@@ -1,4 +1,7 @@
 var searchData=
 [
-  ['mount_143',['mount',['../structcg__mount__table__s.html#a9704fa3ec3674f6d433345ea52b6aeef',1,'cg_mount_table_s']]]
+  ['name_144',['name',['../structcgroup__mount__point.html#a849ccf1e77fffd5d45304c6adf0d2100',1,'cgroup_mount_point::name()'],['../structcontroller__data.html#a5474be4d8cc4553c94ca81c6a93f5a18',1,'controller_data::name()'],['../structcg__mount__table__s.html#aa9b2cc62fb6cb35334f3d85d660c9fa6',1,'cg_mount_table_s::name()']]],
+  ['no_5fperms_145',['NO_PERMS',['../group__group__groups.html#gad4ffad2eccf9fcbfa8a551e269e0ad58',1,'groups.h']]],
+  ['no_5fuid_5fgid_146',['NO_UID_GID',['../group__group__groups.html#ga2a7954a987e3fbf8eabcc94cf381353e',1,'groups.h']]],
+  ['num_5fcgroups_147',['num_cgroups',['../structcontroller__data.html#acd075c0bb48062bf720b68d0a30116eb',1,'controller_data']]]
 ];
index 3f7de4daf369b02e717b64341198e3587d8e53d4..87667754f6a5793754d58c5f58777e34b3e05f0a 100644 (file)
@@ -3,19 +3,20 @@ var searchData=
   ['cg_5fmount_5fpoint_159',['cg_mount_point',['../structcg__mount__point.html',1,'']]],
   ['cg_5fmount_5ftable_5fs_160',['cg_mount_table_s',['../structcg__mount__table__s.html',1,'']]],
   ['cgroup_161',['cgroup',['../structcgroup.html',1,'']]],
-  ['cgroup_5fcontroller_162',['cgroup_controller',['../structcgroup__controller.html',1,'']]],
-  ['cgroup_5fdictionary_163',['cgroup_dictionary',['../structcgroup__dictionary.html',1,'']]],
-  ['cgroup_5fdictionary_5fitem_164',['cgroup_dictionary_item',['../structcgroup__dictionary__item.html',1,'']]],
-  ['cgroup_5fdictionary_5fiterator_165',['cgroup_dictionary_iterator',['../structcgroup__dictionary__iterator.html',1,'']]],
-  ['cgroup_5ffile_5finfo_166',['cgroup_file_info',['../structcgroup__file__info.html',1,'']]],
-  ['cgroup_5fgroup_5fspec_167',['cgroup_group_spec',['../structcgroup__group__spec.html',1,'']]],
-  ['cgroup_5fmount_5fpoint_168',['cgroup_mount_point',['../structcgroup__mount__point.html',1,'']]],
-  ['cgroup_5frule_169',['cgroup_rule',['../structcgroup__rule.html',1,'']]],
-  ['cgroup_5frule_5flist_170',['cgroup_rule_list',['../structcgroup__rule__list.html',1,'']]],
-  ['cgroup_5frules_5fdata_171',['cgroup_rules_data',['../structcgroup__rules__data.html',1,'']]],
-  ['cgroup_5fstat_172',['cgroup_stat',['../structcgroup__stat.html',1,'']]],
-  ['cgroup_5fstring_5flist_173',['cgroup_string_list',['../structcgroup__string__list.html',1,'']]],
-  ['cgroup_5ftree_5fhandle_174',['cgroup_tree_handle',['../structcgroup__tree__handle.html',1,'']]],
-  ['control_5fvalue_175',['control_value',['../structcontrol__value.html',1,'']]],
-  ['controller_5fdata_176',['controller_data',['../structcontroller__data.html',1,'']]]
+  ['cgroup_5fabstraction_5fmap_162',['cgroup_abstraction_map',['../structcgroup__abstraction__map.html',1,'']]],
+  ['cgroup_5fcontroller_163',['cgroup_controller',['../structcgroup__controller.html',1,'']]],
+  ['cgroup_5fdictionary_164',['cgroup_dictionary',['../structcgroup__dictionary.html',1,'']]],
+  ['cgroup_5fdictionary_5fitem_165',['cgroup_dictionary_item',['../structcgroup__dictionary__item.html',1,'']]],
+  ['cgroup_5fdictionary_5fiterator_166',['cgroup_dictionary_iterator',['../structcgroup__dictionary__iterator.html',1,'']]],
+  ['cgroup_5ffile_5finfo_167',['cgroup_file_info',['../structcgroup__file__info.html',1,'']]],
+  ['cgroup_5fgroup_5fspec_168',['cgroup_group_spec',['../structcgroup__group__spec.html',1,'']]],
+  ['cgroup_5fmount_5fpoint_169',['cgroup_mount_point',['../structcgroup__mount__point.html',1,'']]],
+  ['cgroup_5frule_170',['cgroup_rule',['../structcgroup__rule.html',1,'']]],
+  ['cgroup_5frule_5flist_171',['cgroup_rule_list',['../structcgroup__rule__list.html',1,'']]],
+  ['cgroup_5frules_5fdata_172',['cgroup_rules_data',['../structcgroup__rules__data.html',1,'']]],
+  ['cgroup_5fstat_173',['cgroup_stat',['../structcgroup__stat.html',1,'']]],
+  ['cgroup_5fstring_5flist_174',['cgroup_string_list',['../structcgroup__string__list.html',1,'']]],
+  ['cgroup_5ftree_5fhandle_175',['cgroup_tree_handle',['../structcgroup__tree__handle.html',1,'']]],
+  ['control_5fvalue_176',['control_value',['../structcontrol__value.html',1,'']]],
+  ['controller_5fdata_177',['controller_data',['../structcontroller__data.html',1,'']]]
 ];
index 6b7dcebe925c479b7689daeefbd0cd5cbbfe0fc3..eb03a2127598f4583888b31544ace3faba02ded1 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ext_5fcgroup_5frecord_177',['ext_cgroup_record',['../structext__cgroup__record.html',1,'']]]
+  ['ext_5fcgroup_5frecord_178',['ext_cgroup_record',['../structext__cgroup__record.html',1,'']]]
 ];
index c6d7f26aaca83b1e0780393c3fab9ba53b2ca307..9b2ddff06282d3c1419ead77523ad8c220b9823c 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['parent_5finfo_178',['parent_info',['../structparent__info.html',1,'']]]
+  ['parent_5finfo_179',['parent_info',['../structparent__info.html',1,'']]]
 ];
index baf9f5879741011f9b1326d7c71d7271cd59a255..c45c1a48637dfbc25f27f83b2fdf3d37c0902a90 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['unchanged_5fpid_179',['unchanged_pid',['../structunchanged__pid.html',1,'']]]
+  ['unchanged_5fpid_180',['unchanged_pid',['../structunchanged__pid.html',1,'']]]
 ];
index 8194dfeed19b011bb4142f0c3350cdde26e5a032..94d0c8faa58ffb34990df471dbf50ddedaea8681 100644 (file)
@@ -3,8 +3,9 @@ var searchData=
   ['ecgconfigparsefail_289',['ECGCONFIGPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55baf808b0e31be4bfbe8a21f800f913f9c0',1,'error.h']]],
   ['ecgeof_290',['ECGEOF',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba2724c2f0af0d3e3cea66027f6bf2e436',1,'error.h']]],
   ['ecgnonempty_291',['ECGNONEMPTY',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba94dbe90328ef8a212633ec464b9b9b11',1,'error.h']]],
-  ['ecgother_292',['ECGOTHER',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193',1,'error.h']]],
-  ['ecgroupmultimounted_293',['ECGROUPMULTIMOUNTED',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def',1,'error.h']]],
-  ['ecgroupnorules_294',['ECGROUPNORULES',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21',1,'error.h']]],
-  ['ecgroupparsefail_295',['ECGROUPPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39',1,'error.h']]]
+  ['ecgnoversionconvert_292',['ECGNOVERSIONCONVERT',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba33cc635e4cc4055b2c487f027fbdd960',1,'error.h']]],
+  ['ecgother_293',['ECGOTHER',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba88111f9ca2e967cbf7565724444c0193',1,'error.h']]],
+  ['ecgroupmultimounted_294',['ECGROUPMULTIMOUNTED',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba24a6584dd4238475a4e247bdf6956def',1,'error.h']]],
+  ['ecgroupnorules_295',['ECGROUPNORULES',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55ba7c23c1a7cbfb7e8e9c66dd96b5c66d21',1,'error.h']]],
+  ['ecgroupparsefail_296',['ECGROUPPARSEFAIL',['../group__group__errors.html#gga06fc87d81c62e9abb8790b6e5713c55bac62bda67f3029c39ef456100008b1f39',1,'error.h']]]
 ];
index 2704033ee3c721013bc3e5f05e21da1381c0da56..18843c7d313101bfddce5e97452ea15e19b5f940 100644 (file)
@@ -1,59 +1,58 @@
 var searchData=
 [
-  ['cg_5fchmod_5frecursive_180',['cg_chmod_recursive',['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c'],['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c']]],
-  ['cgroup_5fadd_5fall_5fcontrollers_181',['cgroup_add_all_controllers',['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fcontroller_182',['cgroup_add_controller',['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fbool_183',['cgroup_add_value_bool',['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c'],['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fint64_184',['cgroup_add_value_int64',['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c'],['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fstring_185',['cgroup_add_value_string',['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c'],['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c']]],
-  ['cgroup_5fadd_5fvalue_5fuint64_186',['cgroup_add_value_uint64',['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c']]],
-  ['cgroup_5fattach_5ftask_187',['cgroup_attach_task',['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c'],['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c']]],
-  ['cgroup_5fattach_5ftask_5fpid_188',['cgroup_attach_task_pid',['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c'],['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c']]],
-  ['cgroup_5fchange_5fall_5fcgroups_189',['cgroup_change_all_cgroups',['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c'],['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fflags_190',['cgroup_change_cgroup_flags',['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fpath_191',['cgroup_change_cgroup_path',['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[]):&#160;api.c'],['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *dest, pid_t pid, const char *const controllers[]):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_192',['cgroup_change_cgroup_uid_gid',['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c'],['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c']]],
-  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_5fflags_193',['cgroup_change_cgroup_uid_gid_flags',['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c']]],
-  ['cgroup_5fcompare_5fcgroup_194',['cgroup_compare_cgroup',['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c'],['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c']]],
-  ['cgroup_5fcompare_5fcontrollers_195',['cgroup_compare_controllers',['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c'],['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c']]],
-  ['cgroup_5fconfig_5fcreate_5ftemplate_5fgroup_196',['cgroup_config_create_template_group',['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c'],['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c']]],
-  ['cgroup_5fconfig_5fload_5fconfig_197',['cgroup_config_load_config',['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c'],['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c']]],
-  ['cgroup_5fconfig_5fset_5fdefault_198',['cgroup_config_set_default',['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c'],['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c']]],
-  ['cgroup_5fconfig_5funload_5fconfig_199',['cgroup_config_unload_config',['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c'],['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c']]],
-  ['cgroup_5fcopy_5fcgroup_200',['cgroup_copy_cgroup',['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c'],['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c']]],
-  ['cgroup_5fcreate_5fcgroup_201',['cgroup_create_cgroup',['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
-  ['cgroup_5fcreate_5fcgroup_5ffrom_5fparent_202',['cgroup_create_cgroup_from_parent',['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
-  ['cgroup_5fdelete_5fcgroup_203',['cgroup_delete_cgroup',['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c'],['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c']]],
-  ['cgroup_5fdelete_5fcgroup_5fext_204',['cgroup_delete_cgroup_ext',['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c'],['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c']]],
-  ['cgroup_5ffree_205',['cgroup_free',['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c'],['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c']]],
-  ['cgroup_5ffree_5fcontrollers_206',['cgroup_free_controllers',['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fall_5fcontroller_5fbegin_207',['cgroup_get_all_controller_begin',['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c']]],
-  ['cgroup_5fget_5fall_5fcontroller_5fend_208',['cgroup_get_all_controller_end',['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5fall_5fcontroller_5fnext_209',['cgroup_get_all_controller_next',['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c']]],
-  ['cgroup_5fget_5fcgroup_210',['cgroup_get_cgroup',['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c'],['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c']]],
-  ['cgroup_5fget_5fcgroup_5fname_211',['cgroup_get_cgroup_name',['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fcontroller_212',['cgroup_get_controller',['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fcontroller_5fbegin_213',['cgroup_get_controller_begin',['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
-  ['cgroup_5fget_5fcontroller_5fend_214',['cgroup_get_controller_end',['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5fcontroller_5fnext_215',['cgroup_get_controller_next',['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
-  ['cgroup_5fget_5fcurrent_5fcontroller_5fpath_216',['cgroup_get_current_controller_path',['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c'],['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c']]],
-  ['cgroup_5fget_5flast_5ferrno_217',['cgroup_get_last_errno',['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c'],['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c']]],
-  ['cgroup_5fget_5fprocs_218',['cgroup_get_procs',['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c'],['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_219',['cgroup_get_subsys_mount_point',['../group__group__init.html#ga4f061b353321b81869057970d96f09f7',1,'cgroup_get_subsys_mount_point(const char *controller, char **mount_point):&#160;api.c'],['../group__group__init.html#ga4f061b353321b81869057970d96f09f7',1,'cgroup_get_subsys_mount_point(const char *controller, char **mount_point):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fbegin_220',['cgroup_get_subsys_mount_point_begin',['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fend_221',['cgroup_get_subsys_mount_point_end',['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fnext_222',['cgroup_get_subsys_mount_point_next',['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c']]],
-  ['cgroup_5fget_5ftask_5fbegin_223',['cgroup_get_task_begin',['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c']]],
-  ['cgroup_5fget_5ftask_5fend_224',['cgroup_get_task_end',['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c']]],
-  ['cgroup_5fget_5ftask_5fnext_225',['cgroup_get_task_next',['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c']]],
-  ['cgroup_5fget_5fuid_5fgid_226',['cgroup_get_uid_gid',['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c'],['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fbool_227',['cgroup_get_value_bool',['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c'],['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fint64_228',['cgroup_get_value_int64',['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fname_229',['cgroup_get_value_name',['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c'],['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fname_5fcount_230',['cgroup_get_value_name_count',['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c'],['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fstring_231',['cgroup_get_value_string',['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c'],['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c']]],
-  ['cgroup_5fget_5fvalue_5fuint64_232',['cgroup_get_value_uint64',['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c']]],
-  ['cgroup_5finit_233',['cgroup_init',['../group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a',1,'cgroup_init(void):&#160;api.c'],['../group__group__init.html#ga37740e2f5f298edf13e18fcd7632b75a',1,'cgroup_init(void):&#160;api.c']]],
+  ['cg_5fchmod_5frecursive_181',['cg_chmod_recursive',['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c'],['../group__group__groups.html#gaef0bf6cd480f2dcb5e964de151a27dd1',1,'cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode, int dirm_change, mode_t file_mode, int filem_change):&#160;api.c']]],
+  ['cgroup_5fadd_5fall_5fcontrollers_182',['cgroup_add_all_controllers',['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gae870d271b789b5c54c2e3d35de3cd6f9',1,'cgroup_add_all_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fcontroller_183',['cgroup_add_controller',['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#gaa2f9c2ac75fd7e56e5ec6fb970304130',1,'cgroup_add_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fbool_184',['cgroup_add_value_bool',['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c'],['../group__group__groups.html#ga4b191a600f84b00ea7afd12c01d918f3',1,'cgroup_add_value_bool(struct cgroup_controller *controller, const char *name, bool value):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fint64_185',['cgroup_add_value_int64',['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c'],['../group__group__groups.html#ga6c973bb5ce99e7a91def2032f23d7087',1,'cgroup_add_value_int64(struct cgroup_controller *controller, const char *name, int64_t value):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fstring_186',['cgroup_add_value_string',['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c'],['../group__group__groups.html#ga4817c68ab791c09c07b663c29b3fb029',1,'cgroup_add_value_string(struct cgroup_controller *controller, const char *name, const char *value):&#160;wrapper.c']]],
+  ['cgroup_5fadd_5fvalue_5fuint64_187',['cgroup_add_value_uint64',['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c'],['../group__group__groups.html#gad9d2216205b96278c626122f8d5e63bb',1,'cgroup_add_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t value):&#160;wrapper.c']]],
+  ['cgroup_5fattach_5ftask_188',['cgroup_attach_task',['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c'],['../group__group__tasks.html#ga43414ac2b1fc73bbb46b6278c7500188',1,'cgroup_attach_task(struct cgroup *cgroup):&#160;api.c']]],
+  ['cgroup_5fattach_5ftask_5fpid_189',['cgroup_attach_task_pid',['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c'],['../group__group__tasks.html#ga9c7532681986d156ac3f6bac1fcf6aab',1,'cgroup_attach_task_pid(struct cgroup *cgroup, pid_t tid):&#160;api.c']]],
+  ['cgroup_5fchange_5fall_5fcgroups_190',['cgroup_change_all_cgroups',['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c'],['../group__group__tasks.html#gafc69658b012b6f1c11ba078ffccd70a2',1,'cgroup_change_all_cgroups(void):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fflags_191',['cgroup_change_cgroup_flags',['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea',1,'cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fpath_192',['cgroup_change_cgroup_path',['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[]):&#160;api.c'],['../group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2',1,'cgroup_change_cgroup_path(const char *dest, pid_t pid, const char *const controllers[]):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_193',['cgroup_change_cgroup_uid_gid',['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c'],['../group__group__tasks.html#ga5eab78a922dbacd368360f03c70146be',1,'cgroup_change_cgroup_uid_gid(uid_t uid, gid_t gid, pid_t pid):&#160;api.c']]],
+  ['cgroup_5fchange_5fcgroup_5fuid_5fgid_5fflags_194',['cgroup_change_cgroup_uid_gid_flags',['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb',1,'cgroup_change_cgroup_uid_gid_flags(uid_t uid, gid_t gid, pid_t pid, int flags):&#160;api.c']]],
+  ['cgroup_5fcompare_5fcgroup_195',['cgroup_compare_cgroup',['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c'],['../group__group__groups.html#ga86898b59e50335f99fe84a11fa38d3fc',1,'cgroup_compare_cgroup(struct cgroup *cgroup_a, struct cgroup *cgroup_b):&#160;wrapper.c']]],
+  ['cgroup_5fcompare_5fcontrollers_196',['cgroup_compare_controllers',['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c'],['../group__group__groups.html#gab1725c50c49cec4b0bdad1f26b150ca7',1,'cgroup_compare_controllers(struct cgroup_controller *cgca, struct cgroup_controller *cgcb):&#160;wrapper.c']]],
+  ['cgroup_5fconfig_5fcreate_5ftemplate_5fgroup_197',['cgroup_config_create_template_group',['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c'],['../group__group__config.html#ga72066260cd31ceed7ecc1a648eba37f2',1,'cgroup_config_create_template_group(struct cgroup *cgroup, char *template_name, int flags):&#160;config.c']]],
+  ['cgroup_5fconfig_5fload_5fconfig_198',['cgroup_config_load_config',['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c'],['../group__group__config.html#ga8adfaca013333acf922a167f55b84140',1,'cgroup_config_load_config(const char *pathname):&#160;config.c']]],
+  ['cgroup_5fconfig_5fset_5fdefault_199',['cgroup_config_set_default',['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c'],['../group__group__config.html#ga2d3a252b2c0c61c8f64cb1fc41e370ea',1,'cgroup_config_set_default(struct cgroup *new_default):&#160;config.c']]],
+  ['cgroup_5fconfig_5funload_5fconfig_200',['cgroup_config_unload_config',['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c'],['../group__group__config.html#gaff77affa0b80ccf507b4b46cc0a8c085',1,'cgroup_config_unload_config(const char *pathname, int flags):&#160;config.c']]],
+  ['cgroup_5fcopy_5fcgroup_201',['cgroup_copy_cgroup',['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c'],['../group__group__groups.html#gaa981a95e0917d3167601a4c1b392336a',1,'cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src):&#160;api.c']]],
+  ['cgroup_5fcreate_5fcgroup_202',['cgroup_create_cgroup',['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7',1,'cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
+  ['cgroup_5fcreate_5fcgroup_5ffrom_5fparent_203',['cgroup_create_cgroup_from_parent',['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c'],['../group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62',1,'cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership):&#160;api.c']]],
+  ['cgroup_5fdelete_5fcgroup_204',['cgroup_delete_cgroup',['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c'],['../group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565',1,'cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration):&#160;api.c']]],
+  ['cgroup_5fdelete_5fcgroup_5fext_205',['cgroup_delete_cgroup_ext',['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c'],['../group__group__groups.html#ga860c1ec70189c969b2c8373fc1e96d36',1,'cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags):&#160;api.c']]],
+  ['cgroup_5ffree_206',['cgroup_free',['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c'],['../group__group__groups.html#gab20fdb1ae479f8baac482336abf73900',1,'cgroup_free(struct cgroup **cgroup):&#160;wrapper.c']]],
+  ['cgroup_5ffree_5fcontrollers_207',['cgroup_free_controllers',['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596',1,'cgroup_free_controllers(struct cgroup *cgroup):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fall_5fcontroller_5fbegin_208',['cgroup_get_all_controller_begin',['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#gad48ef653388ca6739a9b6bbb9d7da82e',1,'cgroup_get_all_controller_begin(void **handle, struct controller_data *info):&#160;api.c']]],
+  ['cgroup_5fget_5fall_5fcontroller_5fend_209',['cgroup_get_all_controller_end',['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga0c467d42a2c9a916a0edd339a6d7afc8',1,'cgroup_get_all_controller_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5fall_5fcontroller_5fnext_210',['cgroup_get_all_controller_next',['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c'],['../group__group__iterators.html#ga3d98a04b29b1fe409db1114b7aa76809',1,'cgroup_get_all_controller_next(void **handle, struct controller_data *info):&#160;api.c']]],
+  ['cgroup_5fget_5fcgroup_211',['cgroup_get_cgroup',['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c'],['../group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6',1,'cgroup_get_cgroup(struct cgroup *cgroup):&#160;api.c']]],
+  ['cgroup_5fget_5fcgroup_5fname_212',['cgroup_get_cgroup_name',['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c'],['../group__group__groups.html#gac9b5ff481de08ba8fdfcbd42940d2cbf',1,'cgroup_get_cgroup_name(struct cgroup *cgroup):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fcontroller_213',['cgroup_get_controller',['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c'],['../group__group__groups.html#ga8335b0aec59c8f845639a7404affce05',1,'cgroup_get_controller(struct cgroup *cgroup, const char *name):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fcontroller_5fbegin_214',['cgroup_get_controller_begin',['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga5f9f21138f9b18912a16b21a45b53c44',1,'cgroup_get_controller_begin(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
+  ['cgroup_5fget_5fcontroller_5fend_215',['cgroup_get_controller_end',['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gab485cda2bc9640bacbf61f1953ae750c',1,'cgroup_get_controller_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5fcontroller_5fnext_216',['cgroup_get_controller_next',['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c'],['../group__group__iterators.html#ga926b70423b6c087c21a14670cd23cd7d',1,'cgroup_get_controller_next(void **handle, struct cgroup_mount_point *info):&#160;api.c']]],
+  ['cgroup_5fget_5fcontroller_5fversion_217',['cgroup_get_controller_version',['../group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f',1,'cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version):&#160;api.c'],['../group__group__groups.html#ga452d8c5e95c8d694e26e7efda045360f',1,'cgroup_get_controller_version(const char *const controller, enum cg_version_t *const version):&#160;api.c']]],
+  ['cgroup_5fget_5fcurrent_5fcontroller_5fpath_218',['cgroup_get_current_controller_path',['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c'],['../group__group__tasks.html#ga6f2c17b99cf2526cb46df4769eb3f46e',1,'cgroup_get_current_controller_path(pid_t pid, const char *controller, char **current_path):&#160;api.c']]],
+  ['cgroup_5fget_5flast_5ferrno_219',['cgroup_get_last_errno',['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c'],['../group__group__errors.html#ga29057c4aec05bef2b6bf2855ae5d5d46',1,'cgroup_get_last_errno(void):&#160;api.c']]],
+  ['cgroup_5fget_5fprocs_220',['cgroup_get_procs',['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c'],['../group__group__groups.html#ga08a4fe913d59f61a39e61b8b02537dc2',1,'cgroup_get_procs(char *name, char *controller, pid_t **pids, int *size):&#160;api.c']]],
+  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fbegin_221',['cgroup_get_subsys_mount_point_begin',['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga18a3c6fe7da42b9da96ce34dce1e31b8',1,'cgroup_get_subsys_mount_point_begin(const char *controller, void **handle, char *path):&#160;api.c']]],
+  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fend_222',['cgroup_get_subsys_mount_point_end',['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c'],['../group__group__iterators.html#ga9c9b0f1921c205bd25bfc6c1d20486eb',1,'cgroup_get_subsys_mount_point_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5fsubsys_5fmount_5fpoint_5fnext_223',['cgroup_get_subsys_mount_point_next',['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c'],['../group__group__iterators.html#ga3d66997158cb8a334317923ad94cc789',1,'cgroup_get_subsys_mount_point_next(void **handle, char *path):&#160;api.c']]],
+  ['cgroup_5fget_5ftask_5fbegin_224',['cgroup_get_task_begin',['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gad7218154192f733120e1025cc19d0a36',1,'cgroup_get_task_begin(const char *cgroup, const char *controller, void **handle, pid_t *pid):&#160;api.c']]],
+  ['cgroup_5fget_5ftask_5fend_225',['cgroup_get_task_end',['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaeb955e5f4da551268380b1271d478816',1,'cgroup_get_task_end(void **handle):&#160;api.c']]],
+  ['cgroup_5fget_5ftask_5fnext_226',['cgroup_get_task_next',['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c'],['../group__group__iterators.html#gaf3a0364682b7449ddccfb0862bbb565e',1,'cgroup_get_task_next(void **handle, pid_t *pid):&#160;api.c']]],
+  ['cgroup_5fget_5fuid_5fgid_227',['cgroup_get_uid_gid',['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c'],['../group__group__groups.html#ga007d21c304d9cc6e948dc0ae51ecfa86',1,'cgroup_get_uid_gid(struct cgroup *cgroup, uid_t *tasks_uid, gid_t *tasks_gid, uid_t *control_uid, gid_t *control_gid):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fbool_228',['cgroup_get_value_bool',['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c'],['../group__group__groups.html#gab95007148eac89b7e935d93a4524787b',1,'cgroup_get_value_bool(struct cgroup_controller *controller, const char *name, bool *value):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fint64_229',['cgroup_get_value_int64',['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga0fe9b05f26b3cab21fc446c9a2700526',1,'cgroup_get_value_int64(struct cgroup_controller *controller, const char *name, int64_t *value):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fname_230',['cgroup_get_value_name',['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c'],['../group__group__groups.html#ga16ca75fd16eda7cfc642421111e9a331',1,'cgroup_get_value_name(struct cgroup_controller *controller, int index):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fname_5fcount_231',['cgroup_get_value_name_count',['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c'],['../group__group__groups.html#ga25115085978ce2a8d671e7876cc49c1d',1,'cgroup_get_value_name_count(struct cgroup_controller *controller):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fstring_232',['cgroup_get_value_string',['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c'],['../group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9',1,'cgroup_get_value_string(struct cgroup_controller *controller, const char *name, char **value):&#160;wrapper.c']]],
+  ['cgroup_5fget_5fvalue_5fuint64_233',['cgroup_get_value_uint64',['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c'],['../group__group__groups.html#ga951861259c0373895bfb637fce337312',1,'cgroup_get_value_uint64(struct cgroup_controller *controller, const char *name, u_int64_t *value):&#160;wrapper.c']]],
   ['cgroup_5finit_5frules_5fcache_234',['cgroup_init_rules_cache',['../group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d',1,'cgroup_init_rules_cache(void):&#160;api.c'],['../group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d',1,'cgroup_init_rules_cache(void):&#160;api.c']]],
   ['cgroup_5finit_5ftemplates_5fcache_235',['cgroup_init_templates_cache',['../group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00',1,'cgroup_init_templates_cache(char *pathname):&#160;config.c'],['../group__group__config.html#ga6f8c41bb920565e674787fe6dabaef00',1,'cgroup_init_templates_cache(char *pathname):&#160;config.c']]],
   ['cgroup_5fload_5ftemplates_5fcache_5ffrom_5ffiles_236',['cgroup_load_templates_cache_from_files',['../group__group__config.html#ga924860998c37da53cababe24163fc89b',1,'cgroup_load_templates_cache_from_files(int *file_index):&#160;config.c'],['../group__group__config.html#ga924860998c37da53cababe24163fc89b',1,'cgroup_load_templates_cache_from_files(int *file_index):&#160;config.c']]],
@@ -65,7 +64,7 @@ var searchData=
   ['cgroup_5fread_5fstats_5fbegin_242',['cgroup_read_stats_begin',['../group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de',1,'cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *stat):&#160;api.c'],['../group__group__iterators.html#ga1138e47f124f0f634586db5e0c4ae5de',1,'cgroup_read_stats_begin(const char *controller, const char *path, void **handle, struct cgroup_stat *cgroup_stat):&#160;api.c']]],
   ['cgroup_5fread_5fstats_5fend_243',['cgroup_read_stats_end',['../group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb',1,'cgroup_read_stats_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gaba386d9db6cadc6ad85c2552f63447bb',1,'cgroup_read_stats_end(void **handle):&#160;api.c']]],
   ['cgroup_5fread_5fstats_5fnext_244',['cgroup_read_stats_next',['../group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7',1,'cgroup_read_stats_next(void **handle, struct cgroup_stat *stat):&#160;api.c'],['../group__group__iterators.html#gaf95587508fc15d74fd5ed0df58024be7',1,'cgroup_read_stats_next(void **handle, struct cgroup_stat *cgroup_stat):&#160;api.c']]],
-  ['cgroup_5fread_5fvalue_5fbegin_245',['cgroup_read_value_begin',['../group__group__iterators.html#ga73edb115af6779644d3371b12cf09140',1,'cgroup_read_value_begin(const char *controller, const char *path, char *name, void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#ga73edb115af6779644d3371b12cf09140',1,'cgroup_read_value_begin(const char *controller, const char *path, char *name, void **handle, char *buffer, int max):&#160;api.c']]],
+  ['cgroup_5fread_5fvalue_5fbegin_245',['cgroup_read_value_begin',['../group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236',1,'cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#ga9378ee0f1f6e65900df8e25b3d7ce236',1,'cgroup_read_value_begin(const char *const controller, const char *path, const char *const name, void **handle, char *buffer, int max):&#160;api.c']]],
   ['cgroup_5fread_5fvalue_5fend_246',['cgroup_read_value_end',['../group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21',1,'cgroup_read_value_end(void **handle):&#160;api.c'],['../group__group__iterators.html#gad348f041e283860cbf6bcea567e23a21',1,'cgroup_read_value_end(void **handle):&#160;api.c']]],
   ['cgroup_5fread_5fvalue_5fnext_247',['cgroup_read_value_next',['../group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc',1,'cgroup_read_value_next(void **handle, char *buffer, int max):&#160;api.c'],['../group__group__iterators.html#gaced2fe331f19d599a3270db2440847cc',1,'cgroup_read_value_next(void **handle, char *buffer, int max):&#160;api.c']]],
   ['cgroup_5fregister_5funchanged_5fprocess_248',['cgroup_register_unchanged_process',['../group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c',1,'cgroup_register_unchanged_process(pid_t pid, int flags):&#160;api.c'],['../group__group__tasks.html#ga64f7967d6d5edfff9afddaa6a6974b1c',1,'cgroup_register_unchanged_process(pid_t pid, int flags):&#160;api.c']]],
index 10f51f8d0441a335f868400de31dbadb655f9903..f963c0f7438dbbf9e24af88eee7bdb397262f108 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['1_2e_20initialization_296',['1. Initialization',['../group__group__init.html',1,'']]]
+  ['2_2e_20group_20manipulation_20api_297',['2. Group manipulation API',['../group__group__groups.html',1,'']]]
 ];
index f963c0f7438dbbf9e24af88eee7bdb397262f108..22cf23a06235e605a95ff9c43b4d13d2b106b4e0 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['2_2e_20group_20manipulation_20api_297',['2. Group manipulation API',['../group__group__groups.html',1,'']]]
+  ['3_2e_20iterators_298',['3. Iterators',['../group__group__iterators.html',1,'']]]
 ];
index 22cf23a06235e605a95ff9c43b4d13d2b106b4e0..d15e4b915308b840a164a0171fafb9d3dc626473 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['3_2e_20iterators_298',['3. Iterators',['../group__group__iterators.html',1,'']]]
+  ['4_2e_20manipulation_20with_20tasks_299',['4. Manipulation with tasks',['../group__group__tasks.html',1,'']]]
 ];
index d15e4b915308b840a164a0171fafb9d3dc626473..8942666ad2e813da90d6f9c53e6f580814ba10ef 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['4_2e_20manipulation_20with_20tasks_299',['4. Manipulation with tasks',['../group__group__tasks.html',1,'']]]
+  ['5_2e_20configuration_300',['5. Configuration',['../group__group__config.html',1,'']]]
 ];
index 8942666ad2e813da90d6f9c53e6f580814ba10ef..08ca113fc53f805472be6c6080d8c4a9b85b174b 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['5_2e_20configuration_300',['5. Configuration',['../group__group__config.html',1,'']]]
+  ['6_2e_20error_20handling_301',['6. Error handling',['../group__group__errors.html',1,'']]]
 ];
index 08ca113fc53f805472be6c6080d8c4a9b85b174b..ebc6f62cca727f58d949cf7126e64044f17fe1c6 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['6_2e_20error_20handling_301',['6. Error handling',['../group__group__errors.html',1,'']]]
+  ['7_2e_20logging_302',['7. Logging',['../group__group__log.html',1,'']]]
 ];
diff --git a/search/groups_6.html b/search/groups_6.html
deleted file mode 100644 (file)
index df6a310..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="groups_6.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-createResults();
-/* @license-end */
-</script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
-window.addEventListener("message", function(event) {
-  if (event.data == "take_focus") {
-    var elem = searchResults.NavNext(0);
-    if (elem) elem.focus();
-  }
-});
-/* @license-end */
-</script>
-</div>
-</body>
-</html>
diff --git a/search/groups_6.js b/search/groups_6.js
deleted file mode 100644 (file)
index ebc6f62..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['7_2e_20logging_302',['7. Logging',['../group__group__log.html',1,'']]]
-];
index 789c86b64650d076f36e0dd854256c93c8916167..39021a47893c4d52f1d18a68f771ef21fdab3aa2 100644 (file)
@@ -1,12 +1,12 @@
 var indexSectionsWithContent =
 {
-  0: "1234567abcdefhlmnprtu",
+  0: "234567abcdefhlmnprtu",
   1: "abcepu",
   2: "c",
   3: "defhmnpt",
   4: "c",
   5: "ce",
-  6: "1234567",
+  6: "234567",
   7: "hlrt"
 };
 
diff --git a/structcgroup__abstraction__map.html b/structcgroup__abstraction__map.html
new file mode 100644 (file)
index 0000000..8acf2bd
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>libcgroup: cgroup_abstraction_map Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libcgroup
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<div class="title">cgroup_abstraction_map Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="abstraction-map_8h_source.html">abstraction-map.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:abf64a953a7757184b31b5a07721e17ce"><td class="memItemLeft" align="right" valign="top"><a id="abf64a953a7757184b31b5a07721e17ce"></a>
+int(*&#160;</td><td class="memItemRight" valign="bottom"><b>cgroup_convert</b> )(struct <a class="el" href="structcgroup__controller.html">cgroup_controller</a> *const dst_cgc, const char *const in_value, const char *const out_setting, void *in_dflt, void *out_dflt)</td></tr>
+<tr class="separator:abf64a953a7757184b31b5a07721e17ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa49f028e9d9e8a58ad9a93100673f4e7"><td class="memItemLeft" align="right" valign="top"><a id="aa49f028e9d9e8a58ad9a93100673f4e7"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>in_setting</b></td></tr>
+<tr class="separator:aa49f028e9d9e8a58ad9a93100673f4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c7b3743d1b62a29705e40e5578c68ee"><td class="memItemLeft" align="right" valign="top"><a id="a9c7b3743d1b62a29705e40e5578c68ee"></a>
+void *&#160;</td><td class="memItemRight" valign="bottom"><b>in_dflt</b></td></tr>
+<tr class="separator:a9c7b3743d1b62a29705e40e5578c68ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ce580f7efca804ce5a0fdae70fb2cf4"><td class="memItemLeft" align="right" valign="top"><a id="a5ce580f7efca804ce5a0fdae70fb2cf4"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>out_setting</b></td></tr>
+<tr class="separator:a5ce580f7efca804ce5a0fdae70fb2cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58e0e6db190e3cceed5ffc6e02a4cfdd"><td class="memItemLeft" align="right" valign="top"><a id="a58e0e6db190e3cceed5ffc6e02a4cfdd"></a>
+void *&#160;</td><td class="memItemRight" valign="bottom"><b>out_dflt</b></td></tr>
+<tr class="separator:a58e0e6db190e3cceed5ffc6e02a4cfdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Libcgroup abstraction layer mappings</p>
+<p>Copyright (c) 2021-2022 Oracle and/or its affiliates. Author: Tom Hromatka <a href="#" onclick="location.href='mai'+'lto:'+'tom'+'.h'+'rom'+'at'+'ka@'+'or'+'acl'+'e.'+'com'; return false;">tom.h<span style="display: none;">.nosp@m.</span>roma<span style="display: none;">.nosp@m.</span>tka@o<span style="display: none;">.nosp@m.</span>racl<span style="display: none;">.nosp@m.</span>e.com</a> </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>src/<a class="el" href="abstraction-map_8h_source.html">abstraction-map.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+</small></address>
+</body>
+</html>
index 577ef6e5722cb82ad8a32993386b50f8609d3f16..26fcdb06085dd04b2a2de757e42ed9c07903abbe 100644 (file)
@@ -84,6 +84,9 @@ struct <a class="el" href="structcgroup.html">cgroup</a> *&#160;</td><td class="
 <tr class="memitem:ae2b6bd9e6cd54849e0ca3a0625555c77"><td class="memItemLeft" align="right" valign="top"><a id="ae2b6bd9e6cd54849e0ca3a0625555c77"></a>
 int&#160;</td><td class="memItemRight" valign="bottom"><b>index</b></td></tr>
 <tr class="separator:ae2b6bd9e6cd54849e0ca3a0625555c77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9b3473e3b4ebd3ef661618ec46af5e5"><td class="memItemLeft" align="right" valign="top"><a id="ab9b3473e3b4ebd3ef661618ec46af5e5"></a>
+enum cg_version_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
+<tr class="separator:ab9b3473e3b4ebd3ef661618ec46af5e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Structure describing a controller attached to one struct <code>cgroup</code>, including parameters of the group and their values. The structure is opaque to applications. </p><dl class="section see"><dt>See also</dt><dd>groups </dd></dl>
index ef122e7eafe35d6a8b61b22540ef64c2bc8a7c7b..cf8c680f9dd894dd8c358cf3d03b797c935bd9ae 100644 (file)
@@ -79,6 +79,9 @@ char&#160;</td><td class="memItemRight" valign="bottom"><b>value</b> [CG_CONTROL
 <tr class="memitem:acf3b68d761df53681c1581573801bc1e"><td class="memItemLeft" align="right" valign="top"><a id="acf3b68d761df53681c1581573801bc1e"></a>
 char *&#160;</td><td class="memItemRight" valign="bottom"><b>multiline_value</b></td></tr>
 <tr class="separator:acf3b68d761df53681c1581573801bc1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acfb685aa3cb7d975807497f8a9e6b011"><td class="memItemLeft" align="right" valign="top"><a id="acfb685aa3cb7d975807497f8a9e6b011"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>prev_name</b></td></tr>
+<tr class="separator:acfb685aa3cb7d975807497f8a9e6b011"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:afeb6e8bc460a7077197fab8c2dd1e357"><td class="memItemLeft" align="right" valign="top"><a id="afeb6e8bc460a7077197fab8c2dd1e357"></a>
 bool&#160;</td><td class="memItemRight" valign="bottom"><b>dirty</b></td></tr>
 <tr class="separator:afeb6e8bc460a7077197fab8c2dd1e357"><td class="memSeparator" colspan="2">&#160;</td></tr>
index d7356e15ad24ced1f93a3e7dbb934e4b54bb52fc..c9140034fdf510b3b2511ca9e65cdfab9e55d3f3 100644 (file)
@@ -130,19 +130,19 @@ $(function() {
 <div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
 <div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<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:4151</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:3921</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:1799</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:4139</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:5340</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:4374</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:1734</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:4266</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:4352</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:4122</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:4326</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:4220</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:106</div></div>
+<div class="ttc" id="agroup__group__tasks_html_ga2d4677baef780c003fc6fba6b5dc78f2"><div class="ttname"><a href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a></div><div class="ttdeci">int cgroup_change_cgroup_path(const char *path, pid_t pid, const char *const controllers[])</div><div class="ttdef"><b>Definition:</b> api.c:4166</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:3936</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:1805</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:4154</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:5355</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:4389</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:1740</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:4281</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:4367</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:4137</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:4341</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:4235</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:114</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 0c64eb0236e7f1f37f7caf33e46d45165b3206bc..17812089dd616eb9c724755bdd3da664f997563e 100644 (file)
--- a/todo.html
+++ b/todo.html
@@ -69,11 +69,11 @@ $(function() {
 <dt>Module <a class="el" href="group__group__groups.html#amgrp8b151c1f58f3f15039d7fd770cc3dab8">Basic infrastructure</a>  </dt>
 <dd><a class="anchor" id="_todo000002"></a>add some propaganda what's so great on this approach... I personally think it is broken and confusing (see TODOs below). </dd>
 <dt>Global <a class="el" href="group__group__tasks.html#ga368e7b8e19b3943ab6fb50e76a09e6ea">cgroup_change_cgroup_flags</a>  (uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)</dt>
-<dd><a class="anchor" id="_todo000017"></a>Determine thread-safeness and fix of not safe.  </dd>
+<dd><a class="anchor" id="_todo000016"></a>Determine thread-safeness and fix of not safe.  </dd>
 <dt>Global <a class="el" href="group__group__tasks.html#ga2d4677baef780c003fc6fba6b5dc78f2">cgroup_change_cgroup_path</a>  (const char *path, pid_t pid, const char *const controllers[])</dt>
-<dd><a class="anchor" id="_todo000015"></a>should this function be really public?  </dd>
+<dd><a class="anchor" id="_todo000014"></a>should this function be really public?  </dd>
 <dt>Global <a class="el" href="group__group__tasks.html#gae472183a7c9a37826ef15c77014c47fb">cgroup_change_cgroup_uid_gid_flags</a>  (uid_t uid, gid_t gid, pid_t pid, int flags)</dt>
-<dd><a class="anchor" id="_todo000018"></a>Determine thread-safeness and fix if not safe.  </dd>
+<dd><a class="anchor" id="_todo000017"></a>Determine thread-safeness and fix if not safe.  </dd>
 <dt>Global <a class="el" href="group__group__groups.html#gadb8e13df6064841d3c9707960f782fa7">cgroup_create_cgroup</a>  (struct cgroup *cgroup, int ignore_ownership)</dt>
 <dd><a class="anchor" id="_todo000005"></a>what is ignore_ownership good for?  </dd>
 <dt>Global <a class="el" href="group__group__groups.html#ga90e1ce96f3cb540f7e82d076dd938f62">cgroup_create_cgroup_from_parent</a>  (struct cgroup *cgroup, int ignore_ownership)</dt>
@@ -83,7 +83,7 @@ $(function() {
 <dt>Global <a class="el" href="group__group__groups.html#ga1dca18434e5d6be30c28c556da94f565">cgroup_delete_cgroup</a>  (struct cgroup *cgroup, int ignore_migration)</dt>
 <dd><a class="anchor" id="_todo000008"></a>what is ignore_migration good for? rmdir() will fail if tasks were not moved.  </dd>
 <dt>Global <a class="el" href="group__group__iterators.html#gga608b4aa32e2db58fed34771a6a272444a24e202c59f318e63ad8cafcc1b4b102b">CGROUP_FILE_TYPE_OTHER</a>  </dt>
-<dd><a class="anchor" id="_todo000014"></a>really?  </dd>
+<dd><a class="anchor" id="_todo000013"></a>really?  </dd>
 <dt>Global <a class="el" href="group__group__groups.html#ga92d27c9ff0d655838642a7aa68497596">cgroup_free_controllers</a>  (struct cgroup *cgroup)</dt>
 <dd><a class="anchor" id="_todo000004"></a>should this function be public???  </dd>
 <dt>Global <a class="el" href="group__group__groups.html#gad4ba31fe5a8bba63b33b1ea339b849e6">cgroup_get_cgroup</a>  (struct cgroup *cgroup)</dt>
@@ -91,17 +91,15 @@ $(function() {
 <dt>Global <a class="el" href="group__group__groups.html#gafaa51e5ffe09f8ad05585a1d3b6f7fa9">cgroup_get_value_string</a>  (struct <a class="el" href="structcgroup__controller.html">cgroup_controller</a> *controller, const char *name, char **value)</dt>
 <dd><a class="anchor" id="_todo000010"></a>rephrase, it's too vague... How big is the buffer actually? </dd>
 <dt>Global <a class="el" href="group__group__tasks.html#gad7fa5a2c4db08d31da5bfbecaf482d3d">cgroup_init_rules_cache</a>  (void)</dt>
-<dd><a class="anchor" id="_todo000016"></a>add parameter with the filename?  </dd>
+<dd><a class="anchor" id="_todo000015"></a>add parameter with the filename?  </dd>
 <dt>Global <a class="el" href="group__group__groups.html#ga6cd4733e5982ac2c92ee3cb3dbd10a31">cgroup_new_cgroup</a>  (const char *name)</dt>
 <dd><a class="anchor" id="_todo000003"></a>suggest one preferred way, either "/foo" or "foo".  </dd>
 <dt>Global <a class="el" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin</a>  (const char *controller, const char *base_path, int depth, void **handle, struct <a class="el" href="structcgroup__file__info.html">cgroup_file_info</a> *info, int *base_level)</dt>
-<dd><a class="anchor" id="_todo000013"></a>why base_level is not hidden in **handle?  </dd>
+<dd><a class="anchor" id="_todo000012"></a>why base_level is not hidden in **handle?  </dd>
 <dt>Module <a class="el" href="group__group__config.html#amgrp0e02ce690a683c3ba45b7ef59ad72acd">Configuration file</a>  </dt>
 <dd><a class="anchor" id="_todo000001"></a>add this description?: These functions are mostly intended to be used by internal <code>libcgroup</code> tools, however they are fully supported and applications can benefit from them.  </dd>
 <dt>Module <a class="el" href="group__group__iterators.html">group_iterators</a>  </dt>
-<dd><a class="anchor" id="_todo000012"></a>not all iterators follow this pattern, e.g. <a class="el" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin()</a> can result both in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is not needed and will sigsegv and in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is needed to free allocated memory. Complete review is needed!  </dd>
-<dt>Module <a class="el" href="group__group__init.html#amgrp61bcd96a2c1f8026527cbf2019d6e9a4">Initialization</a>  </dt>
-<dd><a class="anchor" id="_todo000011"></a>this is very bad... There should be at least way how to refresh the cache and/or an option to refresh it automatically (does kernel provide any indication, when a filesystem is mounted/unmounted?). Dtto the cleanup on exit. </dd>
+<dd><a class="anchor" id="_todo000011"></a>not all iterators follow this pattern, e.g. <a class="el" href="group__group__iterators.html#ga7b19f10c06abb96d8c8ae88a04888a68">cgroup_walk_tree_begin()</a> can result both in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is not needed and will sigsegv and in a state that <a class="el" href="group__group__iterators.html#ga09a70990837a58e506a264f8c50d4cde">cgroup_walk_tree_end()</a> is needed to free allocated memory. Complete review is needed! </dd>
 </dl>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
diff --git a/tools_8h_source.html b/tools_8h_source.html
new file mode 100644 (file)
index 0000000..8d1638c
--- /dev/null
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>libcgroup: include/libcgroup/tools.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libcgroup
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_66a7763e2a9b96033a682558820d533e.html">libcgroup</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tools.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or modify it</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * under the terms of version 2.1 of the GNU Lesser General Public License as</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * published by the Free Software Foundation.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful, but WITHOUT</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * for more details.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * along with this library; if not, see &lt;http://www.gnu.org/licenses&gt;.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef _LIBCGROUP_TOOLS_H</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define _LIBCGROUP_TOOLS_H</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef _LIBCGROUP_H_INSIDE</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#error &quot;Only &lt;libcgroup.h&gt; should be included directly.&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;features.h&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">int</span> cgroup_cgxget(<span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> ** cg,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;          <span class="keyword">enum</span> cg_version_t version, <span class="keywordtype">bool</span> ignore_unmappable);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">int</span> cgroup_cgxset(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcgroup.html">cgroup</a> * <span class="keyword">const</span> cg,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;          <span class="keyword">enum</span> cg_version_t version, <span class="keywordtype">bool</span> ignore_unmappable);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;} <span class="comment">/* extern &quot;C&quot; */</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<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:114</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+</small></address>
+</body>
+</html>