<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<code>#include <<a class="el" href="srv_8h_source.html">3ds/srv.h</a>></code><br />
<code>#include <<a class="el" href="os_8h_source.html">3ds/os.h</a>></code><br />
<code>#include <<a class="el" href="synchronization_8h_source.html">3ds/synchronization.h</a>></code><br />
+<code>#include <<a class="el" href="thread_8h_source.html">3ds/thread.h</a>></code><br />
<code>#include <<a class="el" href="gfx_8h_source.html">3ds/gfx.h</a>></code><br />
<code>#include <<a class="el" href="console_8h_source.html">3ds/console.h</a>></code><br />
<code>#include <<a class="el" href="env_8h_source.html">3ds/env.h</a>></code><br />
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <<a class="code" href="srv_8h.html">3ds/srv.h</a>></span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include <<a class="code" href="os_8h.html">3ds/os.h</a>></span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <<a class="code" href="synchronization_8h.html">3ds/synchronization.h</a>></span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <<a class="code" href="gfx_8h.html">3ds/gfx.h</a>></span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <<a class="code" href="console_8h.html">3ds/console.h</a>></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <<a class="code" href="env_8h.html">3ds/env.h</a>></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <<a class="code" href="utf_8h.html">3ds/util/utf.h</a>></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <<a class="code" href="linear_8h.html">3ds/allocator/linear.h</a>></span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <<a class="code" href="mappable_8h.html">3ds/allocator/mappable.h</a>></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <<a class="code" href="vram_8h.html">3ds/allocator/vram.h</a>></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <<a class="code" href="ac_8h.html">3ds/services/ac.h</a>></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="am_8h.html">3ds/services/am.h</a>></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="code" href="apt_8h.html">3ds/services/apt.h</a>></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <<a class="code" href="cam_8h.html">3ds/services/cam.h</a>></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <<a class="code" href="cfgnor_8h.html">3ds/services/cfgnor.h</a>></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <<a class="code" href="cfgu_8h.html">3ds/services/cfgu.h</a>></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <<a class="code" href="csnd_8h.html">3ds/services/csnd.h</a>></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <<a class="code" href="dsp_8h.html">3ds/services/dsp.h</a>></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <<a class="code" href="fs_8h.html">3ds/services/fs.h</a>></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <<a class="code" href="gspgpu_8h.html">3ds/services/gspgpu.h</a>></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <<a class="code" href="gsplcd_8h.html">3ds/services/gsplcd.h</a>></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <<a class="code" href="hid_8h.html">3ds/services/hid.h</a>></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <<a class="code" href="irrst_8h.html">3ds/services/irrst.h</a>></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <<a class="code" href="httpc_8h.html">3ds/services/httpc.h</a>></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <<a class="code" href="ir_8h.html">3ds/services/ir.h</a>></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <<a class="code" href="ns_8h.html">3ds/services/ns.h</a>></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <<a class="code" href="pm_8h.html">3ds/services/pm.h</a>></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <<a class="code" href="ps_8h.html">3ds/services/ps.h</a>></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <<a class="code" href="ptmu_8h.html">3ds/services/ptmu.h</a>></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <<a class="code" href="ptmsysm_8h.html">3ds/services/ptmsysm.h</a>></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <<a class="code" href="soc_8h.html">3ds/services/soc.h</a>></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <<a class="code" href="mic_8h.html">3ds/services/mic.h</a>></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <<a class="code" href="mvd_8h.html">3ds/services/mvd.h</a>></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <<a class="code" href="news_8h.html">3ds/services/news.h</a>></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <<a class="code" href="qtm_8h.html">3ds/services/qtm.h</a>></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <<a class="code" href="srvpm_8h.html">3ds/services/srvpm.h</a>></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <<a class="code" href="y2r_8h.html">3ds/services/y2r.h</a>></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <<a class="code" href="hb_8h.html">3ds/services/hb.h</a>></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <<a class="code" href="gx_8h.html">3ds/gpu/gx.h</a>></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <<a class="code" href="gpu_8h.html">3ds/gpu/gpu.h</a>></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <<a class="code" href="gpu-old_8h.html">3ds/gpu/gpu-old.h</a>></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <<a class="code" href="shbin_8h.html">3ds/gpu/shbin.h</a>></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <<a class="code" href="shaderProgram_8h.html">3ds/gpu/shaderProgram.h</a>></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <<a class="code" href="ndsp_8h.html">3ds/ndsp/ndsp.h</a>></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <<a class="code" href="channel_8h.html">3ds/ndsp/channel.h</a>></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <<a class="code" href="sdmc_8h.html">3ds/sdmc.h</a>></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <<a class="code" href="romfs_8h.html">3ds/romfs.h</a>></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * @example app_launch/source/main.c</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> * @example audio/mic/source/main.c</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> * @example get_system_language/source/main.c</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * @example graphics/bitmap/24bit-color/source/main.c</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * @example graphics/printing/hello-world/source/main.c</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * @example graphics/printing/both-screen-text/source/main.c</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> * @example graphics/printing/colored-text/source/main.c</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> * @example graphics/printing/multiple-windows-text/source/main.c</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * @example graphics/gpu/geoshader/source/main.c</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> graphics/gpu/geoshader/source/gpu.h</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> @include graphics/gpu/geoshader/source/gpu.h</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> graphics/gpu/geoshader/source/gpu.c</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> @include graphics/gpu/geoshader/source/gpu.c</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> graphics/gpu/geoshader/source/3dmath.h</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> @include graphics/gpu/geoshader/source/3dmath.h</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> graphics/gpu/geoshader/source/3dmath.c</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> @include graphics/gpu/geoshader/source/3dmath.c</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> graphics/gpu/geoshader/source/vshader.pica</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> @include graphics/gpu/geoshader/source/vshader.pica</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> graphics/gpu/geoshader/source/gshader.pica</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> @include graphics/gpu/geoshader/source/gshader.pica</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> * @example graphics/gpu/simple_tri/source/main.c</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> graphics/gpu/simple_tri/source/gpu.h</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> @include graphics/gpu/simple_tri/source/gpu.h</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> graphics/gpu/simple_tri/source/gpu.c</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> @include graphics/gpu/simple_tri/source/gpu.c</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> graphics/gpu/simple_tri/source/3dmath.h</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> @include graphics/gpu/simple_tri/source/3dmath.h</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> graphics/gpu/simple_tri/source/3dmath.c</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> @include graphics/gpu/simple_tri/source/3dmath.c</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> graphics/gpu/simple_tri/source/vshader.pica</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> @include graphics/gpu/simple_tri/source/vshader.pica</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"></span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> * @example graphics/gpu/textured_cube/source/main.c</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> graphics/gpu/textured_cube/source/gpu.h</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> @include graphics/gpu/textured_cube/source/gpu.h</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> graphics/gpu/textured_cube/source/gpu.c</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> @include graphics/gpu/textured_cube/source/gpu.c</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> graphics/gpu/textured_cube/source/3dmath.h</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> @include graphics/gpu/textured_cube/source/3dmath.h</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> graphics/gpu/textured_cube/source/3dmath.c</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> @include graphics/gpu/textured_cube/source/3dmath.c</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> graphics/gpu/textured_cube/source/vshader.pica</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> @include graphics/gpu/textured_cube/source/vshader.pica</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> * @example http/source/main.c</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> * @example input/read-controls/source/main.c</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> * @example input/touch-screen/source/main.c</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> * @example libapplet_launch/source/main.c</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> * @example mvd/source/main.c</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * @example qtm/source/main.c</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * @example sdmc/source/main.c</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * @example threads/event/source/main.c</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> * @example time/rtc/source/main.c</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <<a class="code" href="thread_8h.html">3ds/thread.h</a>></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <<a class="code" href="gfx_8h.html">3ds/gfx.h</a>></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <<a class="code" href="console_8h.html">3ds/console.h</a>></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <<a class="code" href="env_8h.html">3ds/env.h</a>></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <<a class="code" href="utf_8h.html">3ds/util/utf.h</a>></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <<a class="code" href="linear_8h.html">3ds/allocator/linear.h</a>></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <<a class="code" href="mappable_8h.html">3ds/allocator/mappable.h</a>></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="vram_8h.html">3ds/allocator/vram.h</a>></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="ac_8h.html">3ds/services/ac.h</a>></span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="code" href="am_8h.html">3ds/services/am.h</a>></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <<a class="code" href="apt_8h.html">3ds/services/apt.h</a>></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <<a class="code" href="cam_8h.html">3ds/services/cam.h</a>></span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <<a class="code" href="cfgnor_8h.html">3ds/services/cfgnor.h</a>></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <<a class="code" href="cfgu_8h.html">3ds/services/cfgu.h</a>></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <<a class="code" href="csnd_8h.html">3ds/services/csnd.h</a>></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <<a class="code" href="dsp_8h.html">3ds/services/dsp.h</a>></span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <<a class="code" href="fs_8h.html">3ds/services/fs.h</a>></span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <<a class="code" href="gspgpu_8h.html">3ds/services/gspgpu.h</a>></span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <<a class="code" href="gsplcd_8h.html">3ds/services/gsplcd.h</a>></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <<a class="code" href="hid_8h.html">3ds/services/hid.h</a>></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <<a class="code" href="irrst_8h.html">3ds/services/irrst.h</a>></span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <<a class="code" href="httpc_8h.html">3ds/services/httpc.h</a>></span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <<a class="code" href="ir_8h.html">3ds/services/ir.h</a>></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <<a class="code" href="ns_8h.html">3ds/services/ns.h</a>></span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <<a class="code" href="pm_8h.html">3ds/services/pm.h</a>></span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <<a class="code" href="ps_8h.html">3ds/services/ps.h</a>></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <<a class="code" href="ptmu_8h.html">3ds/services/ptmu.h</a>></span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <<a class="code" href="ptmsysm_8h.html">3ds/services/ptmsysm.h</a>></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <<a class="code" href="soc_8h.html">3ds/services/soc.h</a>></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <<a class="code" href="mic_8h.html">3ds/services/mic.h</a>></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <<a class="code" href="mvd_8h.html">3ds/services/mvd.h</a>></span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <<a class="code" href="news_8h.html">3ds/services/news.h</a>></span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <<a class="code" href="qtm_8h.html">3ds/services/qtm.h</a>></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <<a class="code" href="srvpm_8h.html">3ds/services/srvpm.h</a>></span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <<a class="code" href="y2r_8h.html">3ds/services/y2r.h</a>></span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <<a class="code" href="hb_8h.html">3ds/services/hb.h</a>></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <<a class="code" href="gx_8h.html">3ds/gpu/gx.h</a>></span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <<a class="code" href="gpu_8h.html">3ds/gpu/gpu.h</a>></span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <<a class="code" href="gpu-old_8h.html">3ds/gpu/gpu-old.h</a>></span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <<a class="code" href="shbin_8h.html">3ds/gpu/shbin.h</a>></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <<a class="code" href="shaderProgram_8h.html">3ds/gpu/shaderProgram.h</a>></span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <<a class="code" href="ndsp_8h.html">3ds/ndsp/ndsp.h</a>></span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <<a class="code" href="channel_8h.html">3ds/ndsp/channel.h</a>></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <<a class="code" href="sdmc_8h.html">3ds/sdmc.h</a>></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <<a class="code" href="romfs_8h.html">3ds/romfs.h</a>></span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> * @example app_launch/source/main.c</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> * @example audio/mic/source/main.c</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * @example get_system_language/source/main.c</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * @example graphics/bitmap/24bit-color/source/main.c</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * @example graphics/printing/hello-world/source/main.c</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> * @example graphics/printing/both-screen-text/source/main.c</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> * @example graphics/printing/colored-text/source/main.c</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> * @example graphics/printing/multiple-windows-text/source/main.c</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * @example graphics/gpu/geoshader/source/main.c</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> graphics/gpu/geoshader/source/gpu.h</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> @include graphics/gpu/geoshader/source/gpu.h</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> graphics/gpu/geoshader/source/gpu.c</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> @include graphics/gpu/geoshader/source/gpu.c</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> graphics/gpu/geoshader/source/3dmath.h</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> @include graphics/gpu/geoshader/source/3dmath.h</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> graphics/gpu/geoshader/source/3dmath.c</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> @include graphics/gpu/geoshader/source/3dmath.c</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> graphics/gpu/geoshader/source/vshader.pica</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> @include graphics/gpu/geoshader/source/vshader.pica</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> graphics/gpu/geoshader/source/gshader.pica</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> @include graphics/gpu/geoshader/source/gshader.pica</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> </span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> * @example graphics/gpu/simple_tri/source/main.c</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> graphics/gpu/simple_tri/source/gpu.h</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> @include graphics/gpu/simple_tri/source/gpu.h</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> graphics/gpu/simple_tri/source/gpu.c</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> @include graphics/gpu/simple_tri/source/gpu.c</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> graphics/gpu/simple_tri/source/3dmath.h</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> @include graphics/gpu/simple_tri/source/3dmath.h</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> graphics/gpu/simple_tri/source/3dmath.c</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> @include graphics/gpu/simple_tri/source/3dmath.c</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> graphics/gpu/simple_tri/source/vshader.pica</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> @include graphics/gpu/simple_tri/source/vshader.pica</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> </span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> * @example graphics/gpu/textured_cube/source/main.c</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> graphics/gpu/textured_cube/source/gpu.h</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> @include graphics/gpu/textured_cube/source/gpu.h</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> graphics/gpu/textured_cube/source/gpu.c</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> @include graphics/gpu/textured_cube/source/gpu.c</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> graphics/gpu/textured_cube/source/3dmath.h</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> @include graphics/gpu/textured_cube/source/3dmath.h</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> graphics/gpu/textured_cube/source/3dmath.c</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> @include graphics/gpu/textured_cube/source/3dmath.c</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> graphics/gpu/textured_cube/source/vshader.pica</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> @include graphics/gpu/textured_cube/source/vshader.pica</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> * @example http/source/main.c</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> * @example input/read-controls/source/main.c</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> * @example input/touch-screen/source/main.c</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> * @example libapplet_launch/source/main.c</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * @example mvd/source/main.c</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * @example qtm/source/main.c</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * @example sdmc/source/main.c</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> * @example threads/thread-basic/source/main.c</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> * @example threads/event/source/main.c</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> * @example time/rtc/source/main.c</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div>
<div class="ttc" id="gsplcd_8h_html"><div class="ttname"><a href="gsplcd_8h.html">gsplcd.h</a></div><div class="ttdoc">GSPLCD service. </div></div>
<div class="ttc" id="srvpm_8h_html"><div class="ttname"><a href="srvpm_8h.html">srvpm.h</a></div><div class="ttdoc">srv:pm service. </div></div>
<div class="ttc" id="shaderProgram_8h_html"><div class="ttname"><a href="shaderProgram_8h.html">shaderProgram.h</a></div><div class="ttdoc">Functions for working with shaders. </div></div>
<div class="ttc" id="qtm_8h_html"><div class="ttname"><a href="qtm_8h.html">qtm.h</a></div><div class="ttdoc">QTM service. </div></div>
<div class="ttc" id="gpu-old_8h_html"><div class="ttname"><a href="gpu-old_8h.html">gpu-old.h</a></div><div class="ttdoc">Deprecated GPU functions which should not be used in new code. </div></div>
<div class="ttc" id="linear_8h_html"><div class="ttname"><a href="linear_8h.html">linear.h</a></div><div class="ttdoc">Linear memory allocator. </div></div>
+<div class="ttc" id="thread_8h_html"><div class="ttname"><a href="thread_8h.html">thread.h</a></div><div class="ttdoc">Provides functions to use threads. </div></div>
<div class="ttc" id="result_8h_html"><div class="ttname"><a href="result_8h.html">result.h</a></div><div class="ttdoc">3DS result code tools </div></div>
<div class="ttc" id="am_8h_html"><div class="ttname"><a href="am_8h.html">am.h</a></div><div class="ttdoc">AM (Application Manager) service. </div></div>
<div class="ttc" id="csnd_8h_html"><div class="ttname"><a href="csnd_8h.html">csnd.h</a></div><div class="ttdoc">CSND service. </div></div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structQTM__HeadTrackingInfoCoord.html" target="_self">QTM_HeadTrackingInfoCoord</a></td><td class="desc">Head tracking coordinate pair </td></tr>
<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrbtree__node.html" target="_self">rbtree_node_t</a></td><td class="desc">An rbtree node </td></tr>
<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrbtree.html" target="_self">rbtree_t</a></td><td class="desc">An rbtree </td></tr>
-<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structRecursiveLock.html" target="_self">RecursiveLock</a></td><td class="desc">A recursive lock </td></tr>
-<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structromfs__dir.html" target="_self">romfs_dir</a></td><td class="desc">RomFS directory </td></tr>
-<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structromfs__file.html" target="_self">romfs_file</a></td><td class="desc">RomFS file </td></tr>
-<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structromfs__header.html" target="_self">romfs_header</a></td><td class="desc">RomFS header </td></tr>
-<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSchedulerInOutEvent.html" target="_self">SchedulerInOutEvent</a></td><td class="desc">Event relating to the scheduler </td></tr>
-<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structshaderInstance__s.html" target="_self">shaderInstance_s</a></td><td class="desc">Describes an instance of either a vertex or geometry shader </td></tr>
-<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structshaderProgram__s.html" target="_self">shaderProgram_s</a></td><td class="desc">Describes an instance of a full shader program </td></tr>
-<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsockaddr.html" target="_self">sockaddr</a></td><td class="desc"></td></tr>
-<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsockaddr__in.html" target="_self">sockaddr_in</a></td><td class="desc"></td></tr>
-<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsockaddr__storage.html" target="_self">sockaddr_storage</a></td><td class="desc"></td></tr>
-<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSyscallInOutEvent.html" target="_self">SyscallInOutEvent</a></td><td class="desc">Event relating to syscalls </td></tr>
-<tr id="row_69_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtouchPosition.html" target="_self">touchPosition</a></td><td class="desc">Touch position </td></tr>
-<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structY2RU__ColorCoefficients.html" target="_self">Y2RU_ColorCoefficients</a></td><td class="desc">Coefficients of the YUV->RGB conversion formula </td></tr>
-<tr id="row_71_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structY2RU__ConversionParams.html" target="_self">Y2RU_ConversionParams</a></td><td class="desc">Structure used to configure all parameters at once </td></tr>
-<tr id="row_72_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structY2RU__DitheringWeightParams.html" target="_self">Y2RU_DitheringWeightParams</a></td><td class="desc">Dithering weights </td></tr>
+<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structromfs__dir.html" target="_self">romfs_dir</a></td><td class="desc">RomFS directory </td></tr>
+<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structromfs__file.html" target="_self">romfs_file</a></td><td class="desc">RomFS file </td></tr>
+<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structromfs__header.html" target="_self">romfs_header</a></td><td class="desc">RomFS header </td></tr>
+<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSchedulerInOutEvent.html" target="_self">SchedulerInOutEvent</a></td><td class="desc">Event relating to the scheduler </td></tr>
+<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structshaderInstance__s.html" target="_self">shaderInstance_s</a></td><td class="desc">Describes an instance of either a vertex or geometry shader </td></tr>
+<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structshaderProgram__s.html" target="_self">shaderProgram_s</a></td><td class="desc">Describes an instance of a full shader program </td></tr>
+<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsockaddr.html" target="_self">sockaddr</a></td><td class="desc"></td></tr>
+<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsockaddr__in.html" target="_self">sockaddr_in</a></td><td class="desc"></td></tr>
+<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsockaddr__storage.html" target="_self">sockaddr_storage</a></td><td class="desc"></td></tr>
+<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSyscallInOutEvent.html" target="_self">SyscallInOutEvent</a></td><td class="desc">Event relating to syscalls </td></tr>
+<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtouchPosition.html" target="_self">touchPosition</a></td><td class="desc">Touch position </td></tr>
+<tr id="row_69_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structY2RU__ColorCoefficients.html" target="_self">Y2RU_ColorCoefficients</a></td><td class="desc">Coefficients of the YUV->RGB conversion formula </td></tr>
+<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structY2RU__ConversionParams.html" target="_self">Y2RU_ConversionParams</a></td><td class="desc">Structure used to configure all parameters at once </td></tr>
+<tr id="row_71_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structY2RU__DitheringWeightParams.html" target="_self">Y2RU_DitheringWeightParams</a></td><td class="desc">Dithering weights </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<p>Processes the current APT status. </p>
<p>Generally used within a main loop. </p><dl class="section return"><dt>Returns</dt><dd>Whether the application is closing. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a1">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a8">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a5">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a7">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a67">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a66">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a77">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a6">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a3">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a3">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a6">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a17">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a3">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a3">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a3">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a20">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a6">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a4">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a9">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a3">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a1">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a8">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a5">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a7">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a67">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a66">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a77">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a6">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a3">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a3">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a6">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a17">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a3">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a3">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a3">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a20">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a6">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a4">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a8">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a8">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a3">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_Q">Q</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_Y">Y</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  A  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structDVLP__s.html">DVLP_s</a>   </td><td valign="top"><a class="el" href="structGSPGPU__FramebufferInfo.html">GSPGPU_FramebufferInfo</a>   </td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  S  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structhttpcContext.html">httpcContext</a>   </td></tr>
+</td><td valign="top"><a class="el" href="structDVLP__s.html">DVLP_s</a>   </td><td valign="top"><a class="el" href="structGSPGPU__FramebufferInfo.html">GSPGPU_FramebufferInfo</a>   </td><td valign="top"><a class="el" href="structSyscallInOutEvent.html">SyscallInOutEvent</a>   </td><td valign="top"><a class="el" href="structip__mreq.html">ip_mreq</a>   </td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  E  </div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  M  </div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  i  </div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_Y"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Y  </div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  l  </div></td></tr></table>
</td></tr>
-<tr><td valign="top"><a class="el" href="structAM__TitleEntry.html">AM_TitleEntry</a>   </td><td valign="top"><a class="el" href="structSchedulerInOutEvent.html">SchedulerInOutEvent</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structAM__TitleEntry.html">AM_TitleEntry</a>   </td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  C  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structExceptionEvent.html">ExceptionEvent</a>   </td><td valign="top"><a class="el" href="structMapEvent.html">MapEvent</a>   </td><td valign="top"><a class="el" href="structSyscallInOutEvent.html">SyscallInOutEvent</a>   </td><td valign="top"><a class="el" href="structin__addr.html">in_addr</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structExitProcessEvent.html">ExitProcessEvent</a>   </td><td valign="top"><a class="el" href="structMemInfo.html">MemInfo</a>   </td><td rowspan="2" valign="bottom"><a name="letter_Y"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Y  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structip__mreq.html">ip_mreq</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structCAMU__ImageQualityCalibrationData.html">CAMU_ImageQualityCalibrationData</a>   </td><td valign="top"><a class="el" href="structExitThreadEvent.html">ExitThreadEvent</a>   </td><td valign="top"><a class="el" href="structMVDSTD__Config.html">MVDSTD_Config</a>   </td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  l  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structExceptionEvent.html">ExceptionEvent</a>   </td><td valign="top"><a class="el" href="structMapEvent.html">MapEvent</a>   </td><td valign="top"><a class="el" href="structY2RU__ColorCoefficients.html">Y2RU_ColorCoefficients</a>   </td><td valign="top"><a class="el" href="structlinger.html">linger</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structExitProcessEvent.html">ExitProcessEvent</a>   </td><td valign="top"><a class="el" href="structMemInfo.html">MemInfo</a>   </td><td valign="top"><a class="el" href="structY2RU__ConversionParams.html">Y2RU_ConversionParams</a>   </td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  n  </div></td></tr></table>
</td></tr>
+<tr><td valign="top"><a class="el" href="structCAMU__ImageQualityCalibrationData.html">CAMU_ImageQualityCalibrationData</a>   </td><td valign="top"><a class="el" href="structExitThreadEvent.html">ExitThreadEvent</a>   </td><td valign="top"><a class="el" href="structMVDSTD__Config.html">MVDSTD_Config</a>   </td><td valign="top"><a class="el" href="structY2RU__DitheringWeightParams.html">Y2RU_DitheringWeightParams</a>   </td></tr>
<tr><td valign="top"><a class="el" href="structCAMU__PackageParameterCameraSelect.html">CAMU_PackageParameterCameraSelect</a>   </td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  F  </div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  O  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structY2RU__ColorCoefficients.html">Y2RU_ColorCoefficients</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structCAMU__PackageParameterContext.html">CAMU_PackageParameterContext</a>   </td><td valign="top"><a class="el" href="structY2RU__ConversionParams.html">Y2RU_ConversionParams</a>   </td><td valign="top"><a class="el" href="structlinger.html">linger</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structCAMU__PackageParameterContextDetail.html">CAMU_PackageParameterContextDetail</a>   </td><td valign="top"><a class="el" href="structFS__Archive.html">FS_Archive</a>   </td><td valign="top"><a class="el" href="structOS__VersionBin.html">OS_VersionBin</a>   </td><td valign="top"><a class="el" href="structY2RU__DitheringWeightParams.html">Y2RU_DitheringWeightParams</a>   </td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  n  </div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="structCAMU__StereoCameraCalibrationData.html">CAMU_StereoCameraCalibrationData</a>   </td><td valign="top"><a class="el" href="structFS__ArchiveResource.html">FS_ArchiveResource</a>   </td><td valign="top"><a class="el" href="structOutputStringEvent.html">OutputStringEvent</a>   </td><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structndspAdpcmData.html">ndspAdpcmData</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structCAMU__PackageParameterContext.html">CAMU_PackageParameterContext</a>   </td><td valign="top"><a class="el" href="structtag__ndspWaveBuf.html">tag_ndspWaveBuf</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structCAMU__PackageParameterContextDetail.html">CAMU_PackageParameterContextDetail</a>   </td><td valign="top"><a class="el" href="structFS__Archive.html">FS_Archive</a>   </td><td valign="top"><a class="el" href="structOS__VersionBin.html">OS_VersionBin</a>   </td><td valign="top"><a class="el" href="structaccelVector.html">accelVector</a>   </td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  p  </div></td></tr></table>
</td></tr>
+<tr><td valign="top"><a class="el" href="structCAMU__StereoCameraCalibrationData.html">CAMU_StereoCameraCalibrationData</a>   </td><td valign="top"><a class="el" href="structFS__ArchiveResource.html">FS_ArchiveResource</a>   </td><td valign="top"><a class="el" href="structOutputStringEvent.html">OutputStringEvent</a>   </td><td valign="top"><a class="el" href="structangularRate.html">angularRate</a>   </td></tr>
<tr><td valign="top"><a class="el" href="structConsoleFont.html">ConsoleFont</a>   </td><td valign="top"><a class="el" href="structFS__DeviceMoveContext.html">FS_DeviceMoveContext</a>   </td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  P  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structndspAdpcmData.html">ndspAdpcmData</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structCreateThreadEvent.html">CreateThreadEvent</a>   </td><td valign="top"><a class="el" href="structFS__DirectoryEntry.html">FS_DirectoryEntry</a>   </td><td valign="top"><a class="el" href="structaccelVector.html">accelVector</a>   </td><td valign="top"><a class="el" href="structtag__ndspWaveBuf.html">tag_ndspWaveBuf</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="unionCSND__CapInfo.html">CSND_CapInfo</a>   </td><td valign="top"><a class="el" href="structFS__ExtSaveDataInfo.html">FS_ExtSaveDataInfo</a>   </td><td valign="top"><a class="el" href="structPageInfo.html">PageInfo</a>   </td><td valign="top"><a class="el" href="structangularRate.html">angularRate</a>   </td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  p  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structaptHookCookie.html">aptHookCookie</a>   </td><td valign="top"><a class="el" href="structpollfd.html">pollfd</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structCreateThreadEvent.html">CreateThreadEvent</a>   </td><td valign="top"><a class="el" href="structFS__DirectoryEntry.html">FS_DirectoryEntry</a>   </td><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  c  </div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  r  </div></td></tr></table>
</td></tr>
-<tr><td valign="top"><a class="el" href="unionCSND__ChnInfo.html">CSND_ChnInfo</a>   </td><td valign="top"><a class="el" href="structFS__IntegrityVerificationSeed.html">FS_IntegrityVerificationSeed</a>   </td><td valign="top"><a class="el" href="structPrintConsole.html">PrintConsole</a>   </td><td valign="top"><a class="el" href="structaptHookCookie.html">aptHookCookie</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="unionCSND__CapInfo.html">CSND_CapInfo</a>   </td><td valign="top"><a class="el" href="structFS__ExtSaveDataInfo.html">FS_ExtSaveDataInfo</a>   </td><td valign="top"><a class="el" href="structPageInfo.html">PageInfo</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="unionCSND__ChnInfo.html">CSND_ChnInfo</a>   </td><td valign="top"><a class="el" href="structFS__IntegrityVerificationSeed.html">FS_IntegrityVerificationSeed</a>   </td><td valign="top"><a class="el" href="structPrintConsole.html">PrintConsole</a>   </td><td valign="top"><a class="el" href="structcirclePosition.html">circlePosition</a>   </td><td valign="top"><a class="el" href="structrbtree__node.html">rbtree_node</a>   </td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  D  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structFS__Path.html">FS_Path</a>   </td><td valign="top"><a class="el" href="structProcessEvent.html">ProcessEvent</a>   </td><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  c  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structpollfd.html">pollfd</a>   </td></tr>
+</td><td valign="top"><a class="el" href="structFS__Path.html">FS_Path</a>   </td><td valign="top"><a class="el" href="structProcessEvent.html">ProcessEvent</a>   </td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  f  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structrbtree.html">rbtree</a>   </td></tr>
<tr><td valign="top"><a class="el" href="structFS__ProductInfo.html">FS_ProductInfo</a>   </td><td rowspan="2" valign="bottom"><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Q  </div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  r  </div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="structDebugEventInfo.html">DebugEventInfo</a>   </td><td valign="top"><a class="el" href="structFS__ProgramInfo.html">FS_ProgramInfo</a>   </td><td valign="top"><a class="el" href="structcirclePosition.html">circlePosition</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structDVLB__s.html">DVLB_s</a>   </td><td valign="top"><a class="el" href="structFS__SystemSaveDataInfo.html">FS_SystemSaveDataInfo</a>   </td><td valign="top"><a class="el" href="structQTM__HeadTrackingInfo.html">QTM_HeadTrackingInfo</a>   </td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  f  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structrbtree__node.html">rbtree_node</a>   </td></tr>
+</td><td valign="top"><a class="el" href="structromfs__dir.html">romfs_dir</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structDebugEventInfo.html">DebugEventInfo</a>   </td><td valign="top"><a class="el" href="structFS__ProgramInfo.html">FS_ProgramInfo</a>   </td><td valign="top"><a class="el" href="structfloat24Uniform__s.html">float24Uniform_s</a>   </td><td valign="top"><a class="el" href="structromfs__file.html">romfs_file</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structDVLB__s.html">DVLB_s</a>   </td><td valign="top"><a class="el" href="structFS__SystemSaveDataInfo.html">FS_SystemSaveDataInfo</a>   </td><td valign="top"><a class="el" href="structQTM__HeadTrackingInfo.html">QTM_HeadTrackingInfo</a>   </td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  h  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structromfs__header.html">romfs_header</a>   </td></tr>
<tr><td valign="top"><a class="el" href="structDVLE__constEntry__s.html">DVLE_constEntry_s</a>   </td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  G  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structQTM__HeadTrackingInfoCoord.html">QTM_HeadTrackingInfoCoord</a>   </td><td valign="top"><a class="el" href="structrbtree.html">rbtree</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structDVLE__outEntry__s.html">DVLE_outEntry_s</a>   </td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  R  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structfloat24Uniform__s.html">float24Uniform_s</a>   </td><td valign="top"><a class="el" href="structromfs__dir.html">romfs_dir</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structDVLE__s.html">DVLE_s</a>   </td><td valign="top"><a class="el" href="structGSPGPU__CaptureInfo.html">GSPGPU_CaptureInfo</a>   </td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  h  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structromfs__file.html">romfs_file</a>   </td></tr>
-<tr><td valign="top"><a class="el" href="structDVLE__uniformEntry__s.html">DVLE_uniformEntry_s</a>   </td><td valign="top"><a class="el" href="structGSPGPU__CaptureInfoEntry.html">GSPGPU_CaptureInfoEntry</a>   </td><td valign="top"><a class="el" href="structRecursiveLock.html">RecursiveLock</a>   </td><td valign="top"><a class="el" href="structromfs__header.html">romfs_header</a>   </td></tr>
-<tr><td></td><td></td><td></td><td valign="top"><a class="el" href="structhostent.html">hostent</a>   </td><td></td></tr>
+</td><td valign="top"><a class="el" href="structQTM__HeadTrackingInfoCoord.html">QTM_HeadTrackingInfoCoord</a>   </td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  s  </div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structDVLE__outEntry__s.html">DVLE_outEntry_s</a>   </td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  S  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structhostent.html">hostent</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structDVLE__s.html">DVLE_s</a>   </td><td valign="top"><a class="el" href="structGSPGPU__CaptureInfo.html">GSPGPU_CaptureInfo</a>   </td><td valign="top"><a class="el" href="structhttpcContext.html">httpcContext</a>   </td><td valign="top"><a class="el" href="structshaderInstance__s.html">shaderInstance_s</a>   </td></tr>
+<tr><td valign="top"><a class="el" href="structDVLE__uniformEntry__s.html">DVLE_uniformEntry_s</a>   </td><td valign="top"><a class="el" href="structGSPGPU__CaptureInfoEntry.html">GSPGPU_CaptureInfoEntry</a>   </td><td valign="top"><a class="el" href="structSchedulerInOutEvent.html">SchedulerInOutEvent</a>   </td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  i  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="structshaderProgram__s.html">shaderProgram_s</a>   </td></tr>
+<tr><td></td><td></td><td></td><td></td></tr>
+<tr><td></td><td></td><td></td><td valign="top"><a class="el" href="structin__addr.html">in_addr</a>   </td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_Q">Q</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_Y">Y</a></div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the current console. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a1">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a2">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a1">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a2">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a1">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a1">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a2">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a13">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a1">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a1">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a1">libapplet_launch/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a3">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a5">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a1">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a1">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a2">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a1">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a2">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a1">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a1">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a2">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a13">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a1">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a1">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a1">libapplet_launch/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a3">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a4">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a3">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a1">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr class="memitem:synchronization_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html">synchronization.h</a> <a href="synchronization_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:synchronization_8h"><td class="mdescLeft"> </td><td class="mdescRight">Provides synchronization locks. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:thread_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html">thread.h</a> <a href="thread_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:thread_8h"><td class="mdescLeft"> </td><td class="mdescRight">Provides functions to use threads. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:types_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="types_8h.html">types.h</a> <a href="types_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:types_8h"><td class="mdescLeft"> </td><td class="mdescRight">Various system types. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a class="el" href="threads_2event_2source_2main_8c-example.html">threads/event/source/main.c</a></li>
+<li><a class="el" href="threads_2thread-basic_2source_2main_8c-example.html">threads/thread-basic/source/main.c</a></li>
+
<li><a class="el" href="time_2rtc_2source_2main_8c-example.html">time/rtc/source/main.c</a></li>
</ul>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr id="row_0_0_13_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="srv_8h_source.html"><span class="icondoc"></span></a><a class="el" href="srv_8h.html" target="_self">srv.h</a></td><td class="desc">Service API </td></tr>
<tr id="row_0_0_14_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="svc_8h_source.html"><span class="icondoc"></span></a><a class="el" href="svc_8h.html" target="_self">svc.h</a></td><td class="desc">Syscall wrappers </td></tr>
<tr id="row_0_0_15_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="synchronization_8h_source.html"><span class="icondoc"></span></a><a class="el" href="synchronization_8h.html" target="_self">synchronization.h</a></td><td class="desc">Provides synchronization locks </td></tr>
-<tr id="row_0_0_16_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="types_8h_source.html"><span class="icondoc"></span></a><a class="el" href="types_8h.html" target="_self">types.h</a></td><td class="desc">Various system types </td></tr>
-<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">▼</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')"> </span><a class="el" href="dir_a31f4157c8426a01402443a71f1cf774.html" target="_self">arpa</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="inet_8h_source.html"><span class="icondoc"></span></a><b>inet.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">▼</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')"> </span><a class="el" href="dir_d0a04a149c821e4e65be9315f86ccf56.html" target="_self">netinet</a></td><td class="desc"></td></tr>
-<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="in_8h_source.html"><span class="icondoc"></span></a><b>in.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_2_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="tcp_8h_source.html"><span class="icondoc"></span></a><b>tcp.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">▼</span><span id="img_0_3_" class="iconfopen" onclick="toggleFolder('0_3_')"> </span><a class="el" href="dir_317ea3797c15f4a1d9c156bc812661ca.html" target="_self">sys</a></td><td class="desc"></td></tr>
-<tr id="row_0_3_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="ioctl_8h_source.html"><span class="icondoc"></span></a><b>ioctl.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_3_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="select_8h_source.html"><span class="icondoc"></span></a><b>select.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_3_2_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="socket_8h_source.html"><span class="icondoc"></span></a><b>socket.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="3ds_8h_source.html"><span class="icondoc"></span></a><a class="el" href="3ds_8h.html" target="_self">3ds.h</a></td><td class="desc">Central 3DS header </td></tr>
-<tr id="row_0_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="netdb_8h_source.html"><span class="icondoc"></span></a><b>netdb.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="poll_8h_source.html"><span class="icondoc"></span></a><b>poll.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_16_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="thread_8h_source.html"><span class="icondoc"></span></a><a class="el" href="thread_8h.html" target="_self">thread.h</a></td><td class="desc">Provides functions to use threads </td></tr>
+<tr id="row_0_0_17_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="types_8h_source.html"><span class="icondoc"></span></a><a class="el" href="types_8h.html" target="_self">types.h</a></td><td class="desc">Various system types </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">▼</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')"> </span><a class="el" href="dir_a31f4157c8426a01402443a71f1cf774.html" target="_self">arpa</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="inet_8h_source.html"><span class="icondoc"></span></a><b>inet.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">▼</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')"> </span><a class="el" href="dir_d0a04a149c821e4e65be9315f86ccf56.html" target="_self">netinet</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="in_8h_source.html"><span class="icondoc"></span></a><b>in.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_2_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="tcp_8h_source.html"><span class="icondoc"></span></a><b>tcp.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">▼</span><span id="img_0_3_" class="iconfopen" onclick="toggleFolder('0_3_')"> </span><a class="el" href="dir_317ea3797c15f4a1d9c156bc812661ca.html" target="_self">sys</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="ioctl_8h_source.html"><span class="icondoc"></span></a><b>ioctl.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_3_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="select_8h_source.html"><span class="icondoc"></span></a><b>select.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_3_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="socket_8h_source.html"><span class="icondoc"></span></a><b>socket.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="3ds_8h_source.html"><span class="icondoc"></span></a><a class="el" href="3ds_8h.html" target="_self">3ds.h</a></td><td class="desc">Central 3DS header </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="netdb_8h_source.html"><span class="icondoc"></span></a><b>netdb.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="poll_8h_source.html"><span class="icondoc"></span></a><b>poll.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>coords0
: <a class="el" href="structQTM__HeadTrackingInfo.html#aa7fada3c82012ac9af32afbd9a974cae">QTM_HeadTrackingInfo</a>
</li>
-<li>counter
-: <a class="el" href="structRecursiveLock.html#a220a9a3d2e6e3dc187d789417c68872f">RecursiveLock</a>
-</li>
<li>create_thread
: <a class="el" href="structDebugEventInfo.html#a786e49715f76852ff511a079664c8a3f">DebugEventInfo</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>lensCorrection
: <a class="el" href="structCAMU__PackageParameterCameraSelect.html#af3de38877056496facb20c3eaf5eaadd">CAMU_PackageParameterCameraSelect</a>
</li>
-<li>lock
-: <a class="el" href="structRecursiveLock.html#acef08397fb7e9e9c5f4648245f9d17b1">RecursiveLock</a>
-</li>
<li>looping
: <a class="el" href="structtag__ndspWaveBuf.html#a3c7ea7f11f9e714c385befa490f5079b">ndspWaveBuf</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>thread_id
: <a class="el" href="structDebugEventInfo.html#a2af232f5d56183f1af895962bdd2fe18">DebugEventInfo</a>
</li>
-<li>thread_tag
-: <a class="el" href="structRecursiveLock.html#a0ba18c8f557e21aa1888404ea86c8f4b">RecursiveLock</a>
-</li>
<li>titleID
: <a class="el" href="structAM__TitleEntry.html#a16b1b61ff2f678ae870e934574bed9c6">AM_TitleEntry</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>coords0
: <a class="el" href="structQTM__HeadTrackingInfo.html#aa7fada3c82012ac9af32afbd9a974cae">QTM_HeadTrackingInfo</a>
</li>
-<li>counter
-: <a class="el" href="structRecursiveLock.html#a220a9a3d2e6e3dc187d789417c68872f">RecursiveLock</a>
-</li>
<li>create_thread
: <a class="el" href="structDebugEventInfo.html#a786e49715f76852ff511a079664c8a3f">DebugEventInfo</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>lensCorrection
: <a class="el" href="structCAMU__PackageParameterCameraSelect.html#af3de38877056496facb20c3eaf5eaadd">CAMU_PackageParameterCameraSelect</a>
</li>
-<li>lock
-: <a class="el" href="structRecursiveLock.html#acef08397fb7e9e9c5f4648245f9d17b1">RecursiveLock</a>
-</li>
<li>looping
: <a class="el" href="structtag__ndspWaveBuf.html#a3c7ea7f11f9e714c385befa490f5079b">ndspWaveBuf</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>thread_id
: <a class="el" href="structDebugEventInfo.html#a2af232f5d56183f1af895962bdd2fe18">DebugEventInfo</a>
</li>
-<li>thread_tag
-: <a class="el" href="structRecursiveLock.html#a0ba18c8f557e21aa1888404ea86c8f4b">RecursiveLock</a>
-</li>
<li>titleID
: <a class="el" href="structAM__TitleEntry.html#a16b1b61ff2f678ae870e934574bed9c6">AM_TitleEntry</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<p>Closes the gsp service and frees the framebuffers. </p>
<p>Just call it when you're done. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a12">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a33">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a13">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a14">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a73">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a72">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a83">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a13">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a10">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a10">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a13">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a22">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a18">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a14">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a13">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a25">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a26">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a12">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a20">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a10">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a12">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a33">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a13">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a14">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a73">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a72">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a83">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a13">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a10">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a10">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a13">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a22">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a18">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a14">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a13">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a25">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a26">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a12">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a19">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a18">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a10">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Flushes the current framebuffers. </p>
<p>Use this if the data within your framebuffers changes a lot and that you want to make sure everything was updated correctly. This shouldn't be needed and has a significant overhead. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a9">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a28">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a9">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a11">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a10">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a7">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a7">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a10">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a4">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a15">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a11">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a9">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a15">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a23">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a16">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a7">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a9">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a28">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a9">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a11">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a10">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a7">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a7">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a10">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a4">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a15">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a11">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a9">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a15">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a23">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a15">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a13">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a7">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Initializes the LCD framebuffers with default parameters. </p>
<p>By default ctrulib will configure the LCD framebuffers with the <a class="el" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708a7e2e54f5d000504cd971d23bf2d2b58f">GSP_BGR8_OES</a> format in linear memory. This is the same as calling :</p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> gfxInit(GSP_BGR8_OES,GSP_BGR8_OES,false); </div>
</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>You should always call <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a> once done to free the memory and services </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a0">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a0">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a0">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a0">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a66">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a65">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a76">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a0">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a0">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a0">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a0">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a11">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a0">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a0">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a0">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a18">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a1">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a3">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a4">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a0">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a0">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a0">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a0">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a0">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a66">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a65">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a76">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a0">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a0">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a0">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a0">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a11">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a0">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a0">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a0">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a18">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a1">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a3">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a3">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a2">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a0">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Swaps the buffers and sets the gsp state. </p>
<p>This is to be called to update the gsp state and swap the framebuffers. LCD rendering should start as soon as the gsp state is set. When using the GPU, call <a class="el" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a> instead. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a10">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a29">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a10">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a12">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a11">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a8">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a8">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a11">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a9">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a16">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a12">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a5">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a16">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a24">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a17">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a8">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a10">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a29">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a10">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a12">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a11">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a8">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a8">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a11">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a9">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a16">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a12">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a5">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a16">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a24">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a16">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a14">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a8">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li class="current"><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li class="current"><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li class="current"><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
: <a class="el" href="svc_8h.html#a4895a8c4e616aecd47eb260e262b0d3c">svc.h</a>
</li>
<li>svcGetProcessorID()
-: <a class="el" href="svc_8h.html#a4438ae340b77706f52753dcfe9f7bfbf">svc.h</a>
+: <a class="el" href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">svc.h</a>
</li>
<li>svcGetSystemInfo()
: <a class="el" href="svc_8h.html#a581cf88669bf459816e5ce5899f1e378">svc.h</a>
</li>
<li>svcGetSystemTick()
-: <a class="el" href="svc_8h.html#a381106c88c29aca24faa07c9b7cbb97d">svc.h</a>
+: <a class="el" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svc.h</a>
</li>
<li>svcGetThreadAffinityMask()
: <a class="el" href="svc_8h.html#a4d259199317256bae13fe0600e52a7d3">svc.h</a>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.10"/>
+<title>libctru: Globals</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>
+<script type="text/javascript">
+ $(document).ready(function() { init_search(); });
+</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">libctru
+  <span id="projectnumber">v1.0.0</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Macros</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_g.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_o.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="globals_func_t.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
+ </ul>
+ </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="contents">
+ 
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>threadCreate()
+: <a class="el" href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">thread.h</a>
+</li>
+<li>threadExit()
+: <a class="el" href="thread_8h.html#aa018f7fca858955b66821d6faa4e9b47">thread.h</a>
+</li>
+<li>threadFree()
+: <a class="el" href="thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27">thread.h</a>
+</li>
+<li>threadGetCurrent()
+: <a class="el" href="thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118">thread.h</a>
+</li>
+<li>threadGetExitCode()
+: <a class="el" href="thread_8h.html#aece3cff1637deec4b6497bb438dba2e8">thread.h</a>
+</li>
+<li>threadGetHandle()
+: <a class="el" href="thread_8h.html#a6f95b5664998852d05adfe79d2490988">thread.h</a>
+</li>
+<li>threadJoin()
+: <a class="el" href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">thread.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li class="current"><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li class="current"><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li><a href="globals_func_q.html#index_q"><span>q</span></a></li>
<li><a href="globals_func_r.html#index_r"><span>r</span></a></li>
<li><a href="globals_func_s.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_t.html#index_t"><span>t</span></a></li>
<li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
<li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
<li class="current"><a href="globals_func_y.html#index_y"><span>y</span></a></li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
: <a class="el" href="cam_8h.html#a495e5c707772c7bfb891444bc4970a49a34e657cc94977e4fe52536d391869f36">cam.h</a>
</li>
<li>LightLock
-: <a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">synchronization.h</a>
+: <a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">synchronization.h</a>
</li>
<li>LightLock_Init()
: <a class="el" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">synchronization.h</a>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<li>REASON_CREATE
: <a class="el" href="svc_8h.html#a15668f707ae2a742896d12b225397079a8956580d5d401467493079e8f8b42785">svc.h</a>
</li>
+<li>RecursiveLock
+: <a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">synchronization.h</a>
+</li>
<li>RecursiveLock_Init()
: <a class="el" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">synchronization.h</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
: <a class="el" href="svc_8h.html#a4895a8c4e616aecd47eb260e262b0d3c">svc.h</a>
</li>
<li>svcGetProcessorID()
-: <a class="el" href="svc_8h.html#a4438ae340b77706f52753dcfe9f7bfbf">svc.h</a>
+: <a class="el" href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">svc.h</a>
</li>
<li>svcGetSystemInfo()
: <a class="el" href="svc_8h.html#a581cf88669bf459816e5ce5899f1e378">svc.h</a>
</li>
<li>svcGetSystemTick()
-: <a class="el" href="svc_8h.html#a381106c88c29aca24faa07c9b7cbb97d">svc.h</a>
+: <a class="el" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svc.h</a>
</li>
<li>svcGetThreadAffinityMask()
: <a class="el" href="svc_8h.html#a4d259199317256bae13fe0600e52a7d3">svc.h</a>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>Thread
+: <a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">thread.h</a>
+</li>
+<li>threadCreate()
+: <a class="el" href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">thread.h</a>
+</li>
+<li>threadExit()
+: <a class="el" href="thread_8h.html#aa018f7fca858955b66821d6faa4e9b47">thread.h</a>
+</li>
+<li>threadFree()
+: <a class="el" href="thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27">thread.h</a>
+</li>
<li>ThreadFunc
: <a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">types.h</a>
</li>
+<li>threadGetCurrent()
+: <a class="el" href="thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118">thread.h</a>
+</li>
+<li>threadGetExitCode()
+: <a class="el" href="thread_8h.html#aece3cff1637deec4b6497bb438dba2e8">thread.h</a>
+</li>
+<li>threadGetHandle()
+: <a class="el" href="thread_8h.html#a6f95b5664998852d05adfe79d2490988">thread.h</a>
+</li>
<li>THREADINFO_TYPE_UNKNOWN
: <a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807a5e0a7120c0d6495acc852bc43a3ea851">svc.h</a>
</li>
<li>ThreadInfoType
: <a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807">svc.h</a>
</li>
+<li>threadJoin()
+: <a class="el" href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">thread.h</a>
+</li>
<li>touchRead
: <a class="el" href="hid_8h.html#a3a4e42150dee0df99111c8c08de1a2c7">hid.h</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
: <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">types.h</a>
</li>
<li>LightLock
-: <a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">synchronization.h</a>
+: <a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">synchronization.h</a>
</li>
<li>ndspAuxCallback
: <a class="el" href="ndsp_8h.html#ac7a08ac8efd0376efd6a6e1b1a064ca8">ndsp.h</a>
<li>rbtree_node_destructor_t
: <a class="el" href="rbtree_8h.html#a32532a9ceeff76fef73c59c66c666189">rbtree.h</a>
</li>
+<li>RecursiveLock
+: <a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">synchronization.h</a>
+</li>
<li>Result
: <a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">types.h</a>
</li>
<li>s8
: <a class="el" href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">types.h</a>
</li>
+<li>Thread
+: <a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">thread.h</a>
+</li>
<li>ThreadFunc
: <a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">types.h</a>
</li>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<p>Gets keys that were just pressed. </p>
<p>Individual keys can be checked by ORing them with this value. </p><dl class="section return"><dt>Returns</dt><dd>Keys down. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a3">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a11">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a7">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a9">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a71">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a70">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a81">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a8">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a5">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a5">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a8">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a19">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a5">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a5">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a7">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a22">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a9">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a12">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a5">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a3">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a11">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a7">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a9">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a71">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a70">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a81">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a8">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a5">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a5">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a8">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a19">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a5">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a5">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a7">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a22">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a9">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a11">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a11">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a5">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="title">libctru Documentation</div> </div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><p>CTR User Library</p>
-<p>Library for writing user mode arm11 code for the 3DS (CTR)</p>
-<p>The goal with this is to create a very straightforward interface with the 3DS's OS. It is not meant to provide higher level functions; to put things in perspective, the purpose of ctrulib would be to sit between the OS and a possible port of SDL rather than replace it.</p>
+<div class="textblock"><p>Library for writing user mode ARM11 code for the 3DS (CTR)</p>
+<p>This library aims to provide the foundations necessary to write 3DS Homebrew, and straightforwardly access the different functionalities provided by the 3DS operating system. It is not meant to provide higher level functions; to put things in perspective, the purpose of libctru would be to sit between the OS and a possible port of SDL rather than replace it.</p>
<h1>Setup</h1>
-<p>ctrulib is just a library and needs a toolchain to function. We built ctrulib to be used in conjunction with devkitARM. You may find instructions on how to install devkitARM on <a href="http://devkitpro.org/wiki/Getting_Started">the devkitPro Wiki</a>.</p>
-<p>The most recent devkitARM (r44) includes 3DS support and a prebuilt libctru.</p>
-<p>To keep up to date with the most recent changes you'll want to checkout ctrulib, build it and install it.</p>
+<p>libctru is just a library and needs a toolchain to function. devkitARM (created by <a href="http://devkitpro.org">devkitPro</a>) is the officially supported ARM cross compiling toolchain, which provides the framework necessary to supply a usable POSIX-like environment, with working C and C++ standard libraries; as well as the tools required to compile homebrew in the 3DSX format, and assemble GPU shaders. The use of other ARM toolchains is severely discouraged.</p>
+<p>The most recent version of devkitARM (r45 at the time of writing) is always recommended. The installers/setup scripts supplied by devkitPro install a prebuilt copy of the latest stable version of libctru, which is recommended for general use. Please note that devkitPro has a policy of keeping legacy code to a minimum, so a library upgrade may result in older code failing to compile or behave properly. Developers are encouraged to keep their code working with the latest versions of the tools and libraries.</p>
+<p>You may find instructions on how to install devkitARM on <a href="http://devkitpro.org/wiki/Getting_Started">the devkitPro Wiki</a>.</p>
<h1>License</h1>
<p>This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.</p>
<p>Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:</p>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.10"/>
+<title>libctru: Changelog</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>
+<script type="text/javascript">
+ $(document).ready(function() { init_search(); });
+</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">libctru
+  <span id="projectnumber">v1.0.0</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </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="headertitle">
+<div class="title">Changelog </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Version 1.0.0</h2>
+<ul>
+<li>New features:<ul>
+<li>libctru documentation is now available at <a href="http://smealum.github.io/ctrulib/">http://smealum.github.io/ctrulib/</a></li>
+<li>Added the NDSP API, which allows the use of the DSP (audio).</li>
+<li>Added Inter Process Communication helpers.</li>
+<li>Added Result code helpers.</li>
+<li>Added support for lightweight synchronization primitives.</li>
+<li>Added support for making the C/C++ standard libraries thread safe.</li>
+<li>Added support for thread-local objects, with the use of standard C and C++ constructs (or GCC extensions).</li>
+<li>Added a new threading API that properly manages internal state. Direct usage of svcCreateThread is deprecated.</li>
+<li>Added a mappable address space allocator. Services which need to map shared memory blocks now use this allocator.</li>
+<li>Added support for embedded RomFS, embedded SMDH and GPU shader building in the template Makefiles.</li>
+</ul>
+</li>
+<li>Changes and additions to the GPU code:<ul>
+<li>Stateless wrapper functions (GPU_*) that merely masked GPU register usage were deprecated, in favour of external GPU wrapper libraries such as citro3d. A future release of libctru may remove them.</li>
+<li>The API set has therefore been simplified down to command list management.</li>
+<li>Synchronized register names with the 3dbrew Wiki.</li>
+<li>Added fragment lighting registers and enums.</li>
+<li>Added procedural texture registers and enums.</li>
+<li>Added shaderProgramSetGshInputPermutation, for configuring the wiring between the vertex shader and the geometry shader.</li>
+<li>Added shaderProgramSetGshMode, for configuring the geometry shader operation mode.</li>
+<li>Added shaderProgramConfigure, intended to be used by GPU wrapper libraries.</li>
+<li>SHBIN/shaderProgram code now correctly computes and sets the values of the GPUREG_SH_OUTATTR_MODE/CLOCK registers.</li>
+<li>GX function naming has been improved, and the initial GX command buffer parameter has been removed.</li>
+</ul>
+</li>
+<li>Major changes and miscellaneous additions:<ul>
+<li>Sweeping changes to make function/structure/enum naming more consistent across the whole library. This affects a lot of code.</li>
+<li>Compiler/linker flags have been tweaked to increase performance and reduce code size, through the garbage collection of unused functions.</li>
+<li>Service initialization is now reference counted in order to properly manage dependencies.</li>
+<li>Initial service handle parameters have been removed, since they were nearly always set to NULL.</li>
+<li>Completed coverage of srv and FSUSER service calls.</li>
+<li>Added fsUseSession and fsEndUseSession for overriding the FSUSER session used in commands in the current thread.</li>
+<li>Added osGet3DSliderState, osSetSpeedupEnable, osGetSystemVersionData and osGetSystemVersionDataString.</li>
+<li>Refactored the MICU service.</li>
+<li>NCCH versions of applications now detect the maximum amount of available memory on startup.</li>
+</ul>
+</li>
+<li>Miscellaneous changes and bug fixes:<ul>
+<li>Commits and pull requests are now built on travis to check that the library compiles, and to generate the documentation.</li>
+<li>General changes and improvements to overall code quality.</li>
+<li>Added the missing struct and functions for Y2R.</li>
+<li>Added srvGetServiceHandleDirect for bypassing the handle override mechanism.</li>
+<li>Usage of the CSND service in new applications is not recommended, however it is not deprecated. The usage of NDSP instead is advised.</li>
+<li>Usage of the HB service in new applications is not recommended due to its necessary removal in hax 2.x, however it is not deprecated.</li>
+<li>Several bugs affecting APT were fixed.</li>
+<li>Several bugs affecting C++ were fixed.</li>
+</ul>
+</li>
+</ul>
+<h2>Version 0 through 0.6.0</h2>
+<p>No changelog available. </p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="contents">
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="md__home_travis_build_smealum_ctrulib_Changelog.html" target="_self">Changelog</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr class="memitem:a3642f5b3403a0e731358301d622a9a1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3642f5b3403a0e731358301d622a9a1e">svcClearTimer</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> timer)</td></tr>
<tr class="memdesc:a3642f5b3403a0e731358301d622a9a1e"><td class="mdescLeft"> </td><td class="mdescRight">Clears a timer. <a href="#a3642f5b3403a0e731358301d622a9a1e">More...</a><br /></td></tr>
<tr class="separator:a3642f5b3403a0e731358301d622a9a1e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a381106c88c29aca24faa07c9b7cbb97d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a381106c88c29aca24faa07c9b7cbb97d">svcGetSystemTick</a> ()</td></tr>
-<tr class="memdesc:a381106c88c29aca24faa07c9b7cbb97d"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current system tick. <a href="#a381106c88c29aca24faa07c9b7cbb97d">More...</a><br /></td></tr>
-<tr class="separator:a381106c88c29aca24faa07c9b7cbb97d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3a31bff3a0f1d8ff768911e38f70c5d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svcGetSystemTick</a> (void)</td></tr>
+<tr class="memdesc:a3a31bff3a0f1d8ff768911e38f70c5d7"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current system tick. <a href="#a3a31bff3a0f1d8ff768911e38f70c5d7">More...</a><br /></td></tr>
+<tr class="separator:a3a31bff3a0f1d8ff768911e38f70c5d7"><td class="memSeparator" colspan="2"> </td></tr>
<tr><td colspan="2"><div class="groupHeader">System</div></td></tr>
<tr class="memitem:a09f47e8301d61442fc76727da0b0554c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:a09f47e8301d61442fc76727da0b0554c"><td class="mdescLeft"> </td><td class="mdescRight">Closes a handle. <a href="#a09f47e8301d61442fc76727da0b0554c">More...</a><br /></td></tr>
<tr class="memitem:ae4f42994fe420745b8d079d791441d42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ae4f42994fe420745b8d079d791441d42">svcSetThreadIdealProcessor</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorid)</td></tr>
<tr class="memdesc:ae4f42994fe420745b8d079d791441d42"><td class="mdescLeft"> </td><td class="mdescRight">Sets a thread's ideal processor. <a href="#ae4f42994fe420745b8d079d791441d42">More...</a><br /></td></tr>
<tr class="separator:ae4f42994fe420745b8d079d791441d42"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4438ae340b77706f52753dcfe9f7bfbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a4438ae340b77706f52753dcfe9f7bfbf">svcGetProcessorID</a> ()</td></tr>
-<tr class="memdesc:a4438ae340b77706f52753dcfe9f7bfbf"><td class="mdescLeft"> </td><td class="mdescRight">Returns the ID of the processor the current thread is running on. <a href="#a4438ae340b77706f52753dcfe9f7bfbf">More...</a><br /></td></tr>
-<tr class="separator:a4438ae340b77706f52753dcfe9f7bfbf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a336600ef3fd751a23440c8f3bd331904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">svcGetProcessorID</a> (void)</td></tr>
+<tr class="memdesc:a336600ef3fd751a23440c8f3bd331904"><td class="mdescLeft"> </td><td class="mdescRight">Returns the ID of the processor the current thread is running on. <a href="#a336600ef3fd751a23440c8f3bd331904">More...</a><br /></td></tr>
+<tr class="separator:a336600ef3fd751a23440c8f3bd331904"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa528da59a295ad8a09f951e1b52c658e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aa528da59a295ad8a09f951e1b52c658e">svcGetThreadId</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:aa528da59a295ad8a09f951e1b52c658e"><td class="mdescLeft"> </td><td class="mdescRight">Gets the ID of a thread. <a href="#aa528da59a295ad8a09f951e1b52c658e">More...</a><br /></td></tr>
<tr class="separator:aa528da59a295ad8a09f951e1b52c658e"><td class="memSeparator" colspan="2"> </td></tr>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a19">threads/event/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a18">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a7">threads/event/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a6">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>The processor with ID 1 is the system processor. To enable multi-threading on this core you need to call APT_SetAppCpuTimeLimit at least once with a non-zero value.</p>
<p>Since a thread is considered as a waitable object, you can use <a class="el" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a> and <a class="el" href="svc_8h.html#a87c9546ac5dcdd3002241cbecdbb7fbf">svcWaitSynchronizationN</a> to join with it.</p>
<dl class="section note"><dt>Note</dt><dd>The kernel will clear the <code>stack_top's</code> address low 3 bits to make sure it is 0x8-bytes aligned. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a8">threads/event/source/main.c</a>.</dd>
-</dl>
+
</div>
</div>
<a class="anchor" id="ab8e4ebb5ae2ee5b3d802e25d9f5622d7"></a>
<p>Exits the current thread. </p>
<p>This will trigger a state change and hence release all <a class="el" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a> operations. It means that you can join a thread by calling</p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> svcWaitSynchronization(threadHandle,yourtimeout); </div>
-</div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a3">threads/event/source/main.c</a>.</dd>
-</dl>
+</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a0cfa6639abe895a1a2e6eb1984bc5c46"></a>
</div>
</div>
-<a class="anchor" id="a4438ae340b77706f52753dcfe9f7bfbf"></a>
+<a class="anchor" id="a336600ef3fd751a23440c8f3bd331904"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> svcGetProcessorID </td>
<td>(</td>
+ <td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</div>
</div>
-<a class="anchor" id="a381106c88c29aca24faa07c9b7cbb97d"></a>
+<a class="anchor" id="a3a31bff3a0f1d8ff768911e38f70c5d7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> svcGetSystemTick </td>
<td>(</td>
+ <td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a15">threads/event/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a14">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="mvd_2source_2main_8c-example.html#a12">mvd/source/main.c</a>, and <a class="el" href="threads_2event_2source_2main_8c-example.html#a18">threads/event/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="mvd_2source_2main_8c-example.html#a12">mvd/source/main.c</a>, and <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a1">threads/thread-basic/source/main.c</a>.</dd>
</dl>
</div>
</div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment"> * @brief Returns the ID of the processor the current thread is running on.</span></div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment"> * @sa svcCreateThread</span></div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> <a class="code" href="svc_8h.html#a4438ae340b77706f52753dcfe9f7bfbf">svcGetProcessorID</a>();</div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> <a class="code" href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">svcGetProcessorID</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment"></span></div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="comment"> * @brief Gets the ID of a thread.</span></div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment"> * @brief Gets the current system tick.</span></div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment"> * @return The current system tick.</span></div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code" href="svc_8h.html#a381106c88c29aca24faa07c9b7cbb97d">svcGetSystemTick</a>();<span class="comment"></span></div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svcGetSystemTick</a>(<span class="keywordtype">void</span>);<span class="comment"></span></div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">///@}</span></div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment"></span><span class="comment"></span></div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="comment">///@name System</span></div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div>
<div class="ttc" id="svc_8h_html_a0348d3f35f25e455d7497687224b49a5"><div class="ttname"><a href="svc_8h.html#a0348d3f35f25e455d7497687224b49a5">svcOpenProcess</a></div><div class="ttdeci">Result svcOpenProcess(Handle *process, u32 processId)</div><div class="ttdoc">Gets the handle of a process. </div></div>
+<div class="ttc" id="svc_8h_html_a3a31bff3a0f1d8ff768911e38f70c5d7"><div class="ttname"><a href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svcGetSystemTick</a></div><div class="ttdeci">u64 svcGetSystemTick(void)</div><div class="ttdoc">Gets the current system tick. </div></div>
<div class="ttc" id="svc_8h_html_a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed"><div class="ttname"><a href="svc_8h.html#a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed">MEMOP_ALLOC</a></div><div class="ttdoc">Memory mapping. </div><div class="ttdef"><b>Definition:</b> svc.h:23</div></div>
<div class="ttc" id="svc_8h_html_a9ab9649e4a4445bcf8cba73119895ab9ad91d858c68b3f94b62fe4d275f9e9bf5"><div class="ttname"><a href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ad91d858c68b3f94b62fe4d275f9e9bf5">EXITTHREAD_EVENT_TERMINATE</a></div><div class="ttdoc">Thread terminated. </div><div class="ttdef"><b>Definition:</b> svc.h:143</div></div>
<div class="ttc" id="structSchedulerInOutEvent_html_af1d8e57ef6aad4fdd9121f9d75e254c8"><div class="ttname"><a href="structSchedulerInOutEvent.html#af1d8e57ef6aad4fdd9121f9d75e254c8">SchedulerInOutEvent::clock_tick</a></div><div class="ttdeci">u64 clock_tick</div><div class="ttdoc">Clock tick that the event occurred. </div><div class="ttdef"><b>Definition:</b> svc.h:182</div></div>
<div class="ttc" id="svc_8h_html_acd17333e3949eaef28ccda04dc7db0f7"><div class="ttname"><a href="svc_8h.html#acd17333e3949eaef28ccda04dc7db0f7">svcGetProcessIdOfThread</a></div><div class="ttdeci">Result svcGetProcessIdOfThread(u32 *out, Handle handle)</div><div class="ttdoc">Gets the process ID of a thread. </div></div>
<div class="ttc" id="svc_8h_html_aa0911b65d402c9400ec8203acf467b4c"><div class="ttname"><a href="svc_8h.html#aa0911b65d402c9400ec8203acf467b4c">svcOutputDebugString</a></div><div class="ttdeci">Result svcOutputDebugString(const char *str, int length)</div><div class="ttdoc">Outputs a debug string. </div></div>
<div class="ttc" id="svc_8h_html_aa528da59a295ad8a09f951e1b52c658e"><div class="ttname"><a href="svc_8h.html#aa528da59a295ad8a09f951e1b52c658e">svcGetThreadId</a></div><div class="ttdeci">Result svcGetThreadId(u32 *out, Handle handle)</div><div class="ttdoc">Gets the ID of a thread. </div></div>
-<div class="ttc" id="svc_8h_html_a381106c88c29aca24faa07c9b7cbb97d"><div class="ttname"><a href="svc_8h.html#a381106c88c29aca24faa07c9b7cbb97d">svcGetSystemTick</a></div><div class="ttdeci">u64 svcGetSystemTick()</div><div class="ttdoc">Gets the current system tick. </div></div>
<div class="ttc" id="structMemInfo_html_a605f0850163837f0aef887a7413c7e0b"><div class="ttname"><a href="structMemInfo.html#a605f0850163837f0aef887a7413c7e0b">MemInfo::perm</a></div><div class="ttdeci">u32 perm</div><div class="ttdoc">Memory permissions. See MemPerm. </div><div class="ttdef"><b>Definition:</b> svc.h:67</div></div>
<div class="ttc" id="svc_8h_html_a9809212def892f6baf31c7cd6754ed02"><div class="ttname"><a href="svc_8h.html#a9809212def892f6baf31c7cd6754ed02">svcQueryMemory</a></div><div class="ttdeci">Result svcQueryMemory(MemInfo *info, PageInfo *out, u32 addr)</div><div class="ttdoc">Queries memory information. </div></div>
<div class="ttc" id="svc_8h_html_a9ab9649e4a4445bcf8cba73119895ab9aec654c11c6d603bf65490332fce383a2"><div class="ttname"><a href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9aec654c11c6d603bf65490332fce383a2">EXITTHREAD_EVENT_UNHANDLED_EXC</a></div><div class="ttdoc">Unhandled exception occurred. </div><div class="ttdef"><b>Definition:</b> svc.h:144</div></div>
<div class="ttc" id="svc_8h_html_a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1"><div class="ttname"><a href="svc_8h.html#a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1">MEMOP_PROT</a></div><div class="ttdoc">Change protection. </div><div class="ttdef"><b>Definition:</b> svc.h:26</div></div>
<div class="ttc" id="svc_8h_html_a9475ce2cc58483c4a96c970bc6d87cf7ac0adf485622be6e0fbbdc7cbb8c47117"><div class="ttname"><a href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ac0adf485622be6e0fbbdc7cbb8c47117">MEMSTATE_RESERVED</a></div><div class="ttdoc">Reserved memory. </div><div class="ttdef"><b>Definition:</b> svc.h:42</div></div>
<div class="ttc" id="svc_8h_html_ac62690a14d27773ca936c1b53549f59d"><div class="ttname"><a href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">svcClearEvent</a></div><div class="ttdeci">Result svcClearEvent(Handle handle)</div><div class="ttdoc">Clears an event. </div></div>
+<div class="ttc" id="svc_8h_html_a336600ef3fd751a23440c8f3bd331904"><div class="ttname"><a href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">svcGetProcessorID</a></div><div class="ttdeci">s32 svcGetProcessorID(void)</div><div class="ttdoc">Returns the ID of the processor the current thread is running on. </div></div>
<div class="ttc" id="svc_8h_html_ab1fabb8a9dfe0eca4fdd8502dbfa0754a17ad4b82962304127bc4607131773a86"><div class="ttname"><a href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a17ad4b82962304127bc4607131773a86">DBG_EVENT_EXIT_THREAD</a></div><div class="ttdoc">Thread exit event. </div><div class="ttdef"><b>Definition:</b> svc.h:209</div></div>
<div class="ttc" id="svc_8h_html_a2ddb0d1da1ee4e65a5d2408da6239921"><div class="ttname"><a href="svc_8h.html#a2ddb0d1da1ee4e65a5d2408da6239921">svcExitThread</a></div><div class="ttdeci">void svcExitThread(void) __attribute__((noreturn))</div><div class="ttdoc">Exits the current thread. </div></div>
<div class="ttc" id="svc_8h_html_ad31e210a0f421d1ca7f5c55c7110f961af474b28fbc82cf2b0c14ccdc1aeed6ec"><div class="ttname"><a href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961af474b28fbc82cf2b0c14ccdc1aeed6ec">EXC_EVENT_UNKNOWN3</a></div><div class="ttdoc">Unknown. arg: address. </div><div class="ttdef"><b>Definition:</b> svc.h:165</div></div>
<div class="ttc" id="structSyscallInOutEvent_html"><div class="ttname"><a href="structSyscallInOutEvent.html">SyscallInOutEvent</a></div><div class="ttdoc">Event relating to syscalls. </div><div class="ttdef"><b>Definition:</b> svc.h:186</div></div>
<div class="ttc" id="svc_8h_html_a9475ce2cc58483c4a96c970bc6d87cf7a46982bcef4b1151bc212a8ae7b9605eb"><div class="ttname"><a href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a46982bcef4b1151bc212a8ae7b9605eb">MEMSTATE_SHARED</a></div><div class="ttdoc">Shared memory. </div><div class="ttdef"><b>Definition:</b> svc.h:47</div></div>
<div class="ttc" id="svc_8h_html_a09f47e8301d61442fc76727da0b0554c"><div class="ttname"><a href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a></div><div class="ttdeci">Result svcCloseHandle(Handle handle)</div><div class="ttdoc">Closes a handle. </div></div>
-<div class="ttc" id="svc_8h_html_a4438ae340b77706f52753dcfe9f7bfbf"><div class="ttname"><a href="svc_8h.html#a4438ae340b77706f52753dcfe9f7bfbf">svcGetProcessorID</a></div><div class="ttdeci">s32 svcGetProcessorID()</div><div class="ttdoc">Returns the ID of the processor the current thread is running on. </div></div>
<div class="ttc" id="rbtree_8h_html_a797a3e1c8507a7c7b4e051d3f1349154"><div class="ttname"><a href="rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154">__attribute__</a></div><div class="ttdeci">__attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree</div><div class="ttdoc">Inserts a node into an rbtree. </div></div>
<div class="ttc" id="svc_8h_html_a00f5b708129ef172b59197a775b533ecab503e618303a55b029bda8eef14776e9"><div class="ttname"><a href="svc_8h.html#a00f5b708129ef172b59197a775b533ecab503e618303a55b029bda8eef14776e9">ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT</a></div><div class="ttdoc">If the memory at the address is strictly lower than #value, then decrement it and wait for signal or ...</div><div class="ttdef"><b>Definition:</b> svc.h:82</div></div>
<div class="ttc" id="svc_8h_html_ab1fabb8a9dfe0eca4fdd8502dbfa0754a6f23bf867f42901fda0d755c14589f01"><div class="ttname"><a href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a6f23bf867f42901fda0d755c14589f01">DBG_EVENT_SYSCALL_IN</a></div><div class="ttdoc">Syscall in event. </div><div class="ttdef"><b>Definition:</b> svc.h:216</div></div>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
</div><!-- top -->
<div class="header">
<div class="summary">
-<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Macros</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<p>Provides synchronization locks.
<a href="#details">More...</a></p>
-
+<div class="textblock"><code>#include <sys/lock.h></code><br />
+</div>
<p><a href="synchronization_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structRecursiveLock.html">RecursiveLock</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A recursive lock. <a href="structRecursiveLock.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a77f9a3fcb480540a1cfc0891f00963ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77f9a3fcb480540a1cfc0891f00963ed"></a>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
-<tr class="memitem:a940e6c13ff4d7870c4b3825a3fb131c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a940e6c13ff4d7870c4b3825a3fb131c9"></a>
-typedef <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a></td></tr>
-<tr class="memdesc:a940e6c13ff4d7870c4b3825a3fb131c9"><td class="mdescLeft"> </td><td class="mdescRight">A light lock. <br /></td></tr>
-<tr class="separator:a940e6c13ff4d7870c4b3825a3fb131c9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0d966c33d353bedf60c66a1a75e68c5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d966c33d353bedf60c66a1a75e68c5e"></a>
+typedef _LOCK_T </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a></td></tr>
+<tr class="memdesc:a0d966c33d353bedf60c66a1a75e68c5e"><td class="mdescLeft"> </td><td class="mdescRight">A light lock. <br /></td></tr>
+<tr class="separator:a0d966c33d353bedf60c66a1a75e68c5e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae161b0db2ef331125217c64729e18179"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae161b0db2ef331125217c64729e18179"></a>
+typedef _LOCK_RECURSIVE_T </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a></td></tr>
+<tr class="memdesc:ae161b0db2ef331125217c64729e18179"><td class="mdescLeft"> </td><td class="mdescRight">A recursive lock. <br /></td></tr>
+<tr class="separator:ae161b0db2ef331125217c64729e18179"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae5b6bc8b7ae74b57efbb0707c1d6cea9"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">__strex</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *addr, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> val)</td></tr>
<tr class="memdesc:ae5b6bc8b7ae74b57efbb0707c1d6cea9"><td class="mdescLeft"> </td><td class="mdescRight">Performs a strex operation. <a href="#ae5b6bc8b7ae74b57efbb0707c1d6cea9">More...</a><br /></td></tr>
<tr class="separator:ae5b6bc8b7ae74b57efbb0707c1d6cea9"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a81f625fde46405c1d539b1581d54fb05"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a> (<a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> *lock)</td></tr>
+<tr class="memitem:a81f625fde46405c1d539b1581d54fb05"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a> (<a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> *lock)</td></tr>
<tr class="memdesc:a81f625fde46405c1d539b1581d54fb05"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a light lock. <a href="#a81f625fde46405c1d539b1581d54fb05">More...</a><br /></td></tr>
<tr class="separator:a81f625fde46405c1d539b1581d54fb05"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ae75aac6e4bfe30037c8a9de916a6ddb8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a> (<a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> *lock)</td></tr>
+<tr class="memitem:ae75aac6e4bfe30037c8a9de916a6ddb8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a> (<a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> *lock)</td></tr>
<tr class="memdesc:ae75aac6e4bfe30037c8a9de916a6ddb8"><td class="mdescLeft"> </td><td class="mdescRight">Locks a light lock. <a href="#ae75aac6e4bfe30037c8a9de916a6ddb8">More...</a><br /></td></tr>
<tr class="separator:ae75aac6e4bfe30037c8a9de916a6ddb8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1a1d677c021a8487d567f832dea9d9db"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a> (<a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> *lock)</td></tr>
+<tr class="memitem:a1a1d677c021a8487d567f832dea9d9db"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a> (<a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> *lock)</td></tr>
<tr class="memdesc:a1a1d677c021a8487d567f832dea9d9db"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to lock a light lock. <a href="#a1a1d677c021a8487d567f832dea9d9db">More...</a><br /></td></tr>
<tr class="separator:a1a1d677c021a8487d567f832dea9d9db"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a82283ae772ec2eac3a193b1431a681af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a> (<a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> *lock)</td></tr>
+<tr class="memitem:a82283ae772ec2eac3a193b1431a681af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a> (<a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> *lock)</td></tr>
<tr class="memdesc:a82283ae772ec2eac3a193b1431a681af"><td class="mdescLeft"> </td><td class="mdescRight">Unlocks a light lock. <a href="#a82283ae772ec2eac3a193b1431a681af">More...</a><br /></td></tr>
<tr class="separator:a82283ae772ec2eac3a193b1431a681af"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1bbbe87bf212a32850ac9f0b6aa73408"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a> (<a class="el" href="structRecursiveLock.html">RecursiveLock</a> *lock)</td></tr>
+<tr class="memitem:a1bbbe87bf212a32850ac9f0b6aa73408"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a> (<a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> *lock)</td></tr>
<tr class="memdesc:a1bbbe87bf212a32850ac9f0b6aa73408"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a recursive lock. <a href="#a1bbbe87bf212a32850ac9f0b6aa73408">More...</a><br /></td></tr>
<tr class="separator:a1bbbe87bf212a32850ac9f0b6aa73408"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afea61e6ff137d96934bb145d44095ccb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a> (<a class="el" href="structRecursiveLock.html">RecursiveLock</a> *lock)</td></tr>
+<tr class="memitem:afea61e6ff137d96934bb145d44095ccb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a> (<a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> *lock)</td></tr>
<tr class="memdesc:afea61e6ff137d96934bb145d44095ccb"><td class="mdescLeft"> </td><td class="mdescRight">Locks a recursive lock. <a href="#afea61e6ff137d96934bb145d44095ccb">More...</a><br /></td></tr>
<tr class="separator:afea61e6ff137d96934bb145d44095ccb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8808924fdee80220f83b6992bc5e104d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a> (<a class="el" href="structRecursiveLock.html">RecursiveLock</a> *lock)</td></tr>
+<tr class="memitem:a8808924fdee80220f83b6992bc5e104d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a> (<a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> *lock)</td></tr>
<tr class="memdesc:a8808924fdee80220f83b6992bc5e104d"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to lock a recursive lock. <a href="#a8808924fdee80220f83b6992bc5e104d">More...</a><br /></td></tr>
<tr class="separator:a8808924fdee80220f83b6992bc5e104d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a529b21c4a974abeea24b1dcceb75cf62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a> (<a class="el" href="structRecursiveLock.html">RecursiveLock</a> *lock)</td></tr>
+<tr class="memitem:a529b21c4a974abeea24b1dcceb75cf62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a> (<a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> *lock)</td></tr>
<tr class="memdesc:a529b21c4a974abeea24b1dcceb75cf62"><td class="mdescLeft"> </td><td class="mdescRight">Unlocks a recursive lock. <a href="#a529b21c4a974abeea24b1dcceb75cf62">More...</a><br /></td></tr>
<tr class="separator:a529b21c4a974abeea24b1dcceb75cf62"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<tr>
<td class="memname">void LightLock_Init </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">void LightLock_Lock </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">int LightLock_TryLock </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">void LightLock_Unlock </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">void RecursiveLock_Init </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structRecursiveLock.html">RecursiveLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">void RecursiveLock_Lock </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structRecursiveLock.html">RecursiveLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">int RecursiveLock_TryLock </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structRecursiveLock.html">RecursiveLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr>
<td class="memname">void RecursiveLock_Unlock </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structRecursiveLock.html">RecursiveLock</a> * </td>
+ <td class="paramtype"><a class="el" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a> * </td>
<td class="paramname"><em>lock</em></td><td>)</td>
<td></td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * @brief Provides synchronization locks.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#pragma once</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"></span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">/// A light lock.</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9"> 8</a></span> <span class="comment"></span><span class="keyword">typedef</span> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> <a class="code" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a>;</div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">/// A recursive lock.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="structRecursiveLock.html"> 11</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> {</div>
-<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="structRecursiveLock.html#acef08397fb7e9e9c5f4648245f9d17b1"> 13</a></span>  <a class="code" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a> <a class="code" href="structRecursiveLock.html#acef08397fb7e9e9c5f4648245f9d17b1">lock</a>; <span class="comment">///< Inner light lock.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="structRecursiveLock.html#a0ba18c8f557e21aa1888404ea86c8f4b"> 14</a></span> <span class="comment"></span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structRecursiveLock.html#a0ba18c8f557e21aa1888404ea86c8f4b">thread_tag</a>; <span class="comment">///< Tag of the thread that currently has the lock.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="structRecursiveLock.html#a220a9a3d2e6e3dc187d789417c68872f"> 15</a></span> <span class="comment"></span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structRecursiveLock.html#a220a9a3d2e6e3dc187d789417c68872f">counter</a>; <span class="comment">///< Lock count.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"></span>} <a class="code" href="structRecursiveLock.html">RecursiveLock</a>;</div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"></span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">/// Performs a Data Synchronization Barrier operation.</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d"> 19</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d">__dsb</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> {</div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  __asm__ __volatile__(<span class="stringliteral">"mcr p15, 0, %[val], c7, c10, 4"</span> :: [val] <span class="stringliteral">"r"</span> (0) : <span class="stringliteral">"memory"</span>);</div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> }</div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/// Performs a clrex operation.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90"> 25</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90">__clrex</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> {</div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  __asm__ __volatile__(<span class="stringliteral">"clrex"</span> ::: <span class="stringliteral">"memory"</span>);</div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> }</div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * @brief Performs a ldrex operation.</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * @param addr Address to perform the operation on.</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * @return The resulting value.</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9"> 35</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> <a class="code" href="synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9">__ldrex</a>(<a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* addr)</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> val;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  __asm__ __volatile__(<span class="stringliteral">"ldrex %[val], %[addr]"</span> : [val] <span class="stringliteral">"=r"</span> (val) : [addr] <span class="stringliteral">"Q"</span> (*addr));</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">return</span> val;</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * @brief Performs a strex operation.</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * @param addr Address to perform the operation on.</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * @param val Value to store.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * @return Whether the operation was successful.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9"> 48</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">__strex</a>(<a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* addr, <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> val)</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">bool</span> res;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  __asm__ __volatile__(<span class="stringliteral">"strex %[res], %[val], %[addr]"</span> : [res] <span class="stringliteral">"=&r"</span> (res) : [val] <span class="stringliteral">"r"</span> (val), [addr] <span class="stringliteral">"Q"</span> (*addr));</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/// Performs an atomic pre-increment operation.</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a77f9a3fcb480540a1cfc0891f00963ed"> 56</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicIncrement(ptr) __atomic_add_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/// Performs an atomic pre-decrement operation.</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a609965cc7d1f801675ef5901dbe07a15"> 58</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicDecrement(ptr) __atomic_sub_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/// Performs an atomic post-increment operation.</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a191063fc32cdc8187a24b44cb48ff324"> 60</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicPostIncrement(ptr) __atomic_fetch_add((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/// Performs an atomic post-decrement operation.</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a76bf51e5d535d5bd3d2f34eee9ca4956"> 62</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicPostDecrement(ptr) __atomic_fetch_sub((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/// Performs an atomic swap operation.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a5bc74ad985f95799e927cc50a4ebd9c3"> 64</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicSwap(ptr, value) __atomic_exchange_n((u32*)(ptr), (value), __ATOMIC_SEQ_CST)</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> * @brief Initializes a light lock.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a>(<a class="code" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a>* lock);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * @brief Locks a light lock.</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a>(<a class="code" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a>* lock);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> * @brief Attempts to lock a light lock.</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a>(<a class="code" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a>* lock);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> * @brief Unlocks a light lock.</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a>(<a class="code" href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a>* lock);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> * @brief Initializes a recursive lock.</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a>(<a class="code" href="structRecursiveLock.html">RecursiveLock</a>* lock);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> * @brief Locks a recursive lock.</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a>(<a class="code" href="structRecursiveLock.html">RecursiveLock</a>* lock);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"></span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> * @brief Attempts to lock a recursive lock.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a>(<a class="code" href="structRecursiveLock.html">RecursiveLock</a>* lock);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> * @brief Unlocks a recursive lock.</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a>(<a class="code" href="structRecursiveLock.html">RecursiveLock</a>* lock);</div>
-<div class="ttc" id="synchronization_8h_html_a940e6c13ff4d7870c4b3825a3fb131c9"><div class="ttname"><a href="synchronization_8h.html#a940e6c13ff4d7870c4b3825a3fb131c9">LightLock</a></div><div class="ttdeci">s32 LightLock</div><div class="ttdoc">A light lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:8</div></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include <sys/lock.h></span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"></span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">/// A light lock.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e"> 9</a></span> <span class="comment"></span><span class="keyword">typedef</span> _LOCK_T <a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>;</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"></span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">/// A recursive lock.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179"> 12</a></span> <span class="comment"></span><span class="keyword">typedef</span> _LOCK_RECURSIVE_T <a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>;</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"></span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">/// Performs a Data Synchronization Barrier operation.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d"> 15</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d">__dsb</a>(<span class="keywordtype">void</span>)</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> {</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  __asm__ __volatile__(<span class="stringliteral">"mcr p15, 0, %[val], c7, c10, 4"</span> :: [val] <span class="stringliteral">"r"</span> (0) : <span class="stringliteral">"memory"</span>);</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> }</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/// Performs a clrex operation.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90"> 21</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90">__clrex</a>(<span class="keywordtype">void</span>)</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> {</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  __asm__ __volatile__(<span class="stringliteral">"clrex"</span> ::: <span class="stringliteral">"memory"</span>);</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> }</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * @brief Performs a ldrex operation.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * @param addr Address to perform the operation on.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * @return The resulting value.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9"> 31</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> <a class="code" href="synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9">__ldrex</a>(<a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* addr)</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> val;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  __asm__ __volatile__(<span class="stringliteral">"ldrex %[val], %[addr]"</span> : [val] <span class="stringliteral">"=r"</span> (val) : [addr] <span class="stringliteral">"Q"</span> (*addr));</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">return</span> val;</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> }</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"></span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * @brief Performs a strex operation.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * @param addr Address to perform the operation on.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * @param val Value to store.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * @return Whether the operation was successful.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9"> 44</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">__strex</a>(<a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* addr, <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> val)</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordtype">bool</span> res;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  __asm__ __volatile__(<span class="stringliteral">"strex %[res], %[val], %[addr]"</span> : [res] <span class="stringliteral">"=&r"</span> (res) : [val] <span class="stringliteral">"r"</span> (val), [addr] <span class="stringliteral">"Q"</span> (*addr));</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> res;</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/// Performs an atomic pre-increment operation.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a77f9a3fcb480540a1cfc0891f00963ed"> 52</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicIncrement(ptr) __atomic_add_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/// Performs an atomic pre-decrement operation.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a609965cc7d1f801675ef5901dbe07a15"> 54</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicDecrement(ptr) __atomic_sub_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/// Performs an atomic post-increment operation.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a191063fc32cdc8187a24b44cb48ff324"> 56</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicPostIncrement(ptr) __atomic_fetch_add((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/// Performs an atomic post-decrement operation.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a76bf51e5d535d5bd3d2f34eee9ca4956"> 58</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicPostDecrement(ptr) __atomic_fetch_sub((u32*)(ptr), 1, __ATOMIC_SEQ_CST)</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/// Performs an atomic swap operation.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a5bc74ad985f95799e927cc50a4ebd9c3"> 60</a></span> <span class="comment"></span><span class="preprocessor">#define AtomicSwap(ptr, value) __atomic_exchange_n((u32*)(ptr), (value), __ATOMIC_SEQ_CST)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> * @brief Initializes a light lock.</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * @brief Locks a light lock.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"></span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> * @brief Attempts to lock a light lock.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"></span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * @brief Unlocks a light lock.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> * @brief Initializes a recursive lock.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * @brief Locks a recursive lock.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"></span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> * @brief Attempts to lock a recursive lock.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> * @brief Unlocks a recursive lock.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
<div class="ttc" id="synchronization_8h_html_a81f625fde46405c1d539b1581d54fb05"><div class="ttname"><a href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a></div><div class="ttdeci">void LightLock_Init(LightLock *lock)</div><div class="ttdoc">Initializes a light lock. </div></div>
-<div class="ttc" id="structRecursiveLock_html_a220a9a3d2e6e3dc187d789417c68872f"><div class="ttname"><a href="structRecursiveLock.html#a220a9a3d2e6e3dc187d789417c68872f">RecursiveLock::counter</a></div><div class="ttdeci">u32 counter</div><div class="ttdoc">Lock count. </div><div class="ttdef"><b>Definition:</b> synchronization.h:15</div></div>
+<div class="ttc" id="synchronization_8h_html_ae161b0db2ef331125217c64729e18179"><div class="ttname"><a href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a></div><div class="ttdeci">_LOCK_RECURSIVE_T RecursiveLock</div><div class="ttdoc">A recursive lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:12</div></div>
<div class="ttc" id="synchronization_8h_html_a1bbbe87bf212a32850ac9f0b6aa73408"><div class="ttname"><a href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a></div><div class="ttdeci">void RecursiveLock_Init(RecursiveLock *lock)</div><div class="ttdoc">Initializes a recursive lock. </div></div>
-<div class="ttc" id="synchronization_8h_html_a4f5f4fd74aae52a2310fb2c6a5983e4d"><div class="ttname"><a href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d">__dsb</a></div><div class="ttdeci">static void __dsb(void)</div><div class="ttdoc">Performs a Data Synchronization Barrier operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:19</div></div>
-<div class="ttc" id="structRecursiveLock_html_acef08397fb7e9e9c5f4648245f9d17b1"><div class="ttname"><a href="structRecursiveLock.html#acef08397fb7e9e9c5f4648245f9d17b1">RecursiveLock::lock</a></div><div class="ttdeci">LightLock lock</div><div class="ttdoc">Inner light lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:13</div></div>
-<div class="ttc" id="structRecursiveLock_html"><div class="ttname"><a href="structRecursiveLock.html">RecursiveLock</a></div><div class="ttdoc">A recursive lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:11</div></div>
-<div class="ttc" id="types_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
+<div class="ttc" id="synchronization_8h_html_a4f5f4fd74aae52a2310fb2c6a5983e4d"><div class="ttname"><a href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d">__dsb</a></div><div class="ttdeci">static void __dsb(void)</div><div class="ttdoc">Performs a Data Synchronization Barrier operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:15</div></div>
<div class="ttc" id="synchronization_8h_html_a529b21c4a974abeea24b1dcceb75cf62"><div class="ttname"><a href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a></div><div class="ttdeci">void RecursiveLock_Unlock(RecursiveLock *lock)</div><div class="ttdoc">Unlocks a recursive lock. </div></div>
<div class="ttc" id="types_8h_html_ae9b1af5c037e57a98884758875d3a7c4"><div class="ttname"><a href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a></div><div class="ttdeci">int32_t s32</div><div class="ttdoc">32-bit signed integer </div><div class="ttdef"><b>Definition:</b> types.h:28</div></div>
-<div class="ttc" id="synchronization_8h_html_ae5b6bc8b7ae74b57efbb0707c1d6cea9"><div class="ttname"><a href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">__strex</a></div><div class="ttdeci">static bool __strex(s32 *addr, s32 val)</div><div class="ttdoc">Performs a strex operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:48</div></div>
+<div class="ttc" id="synchronization_8h_html_ae5b6bc8b7ae74b57efbb0707c1d6cea9"><div class="ttname"><a href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">__strex</a></div><div class="ttdeci">static bool __strex(s32 *addr, s32 val)</div><div class="ttdoc">Performs a strex operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:44</div></div>
+<div class="ttc" id="synchronization_8h_html_a0d966c33d353bedf60c66a1a75e68c5e"><div class="ttname"><a href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a></div><div class="ttdeci">_LOCK_T LightLock</div><div class="ttdoc">A light lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:9</div></div>
<div class="ttc" id="synchronization_8h_html_ae75aac6e4bfe30037c8a9de916a6ddb8"><div class="ttname"><a href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a></div><div class="ttdeci">void LightLock_Lock(LightLock *lock)</div><div class="ttdoc">Locks a light lock. </div></div>
-<div class="ttc" id="synchronization_8h_html_a9fe83ca3ec3c6ae269203acf367ad5a9"><div class="ttname"><a href="synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9">__ldrex</a></div><div class="ttdeci">static s32 __ldrex(s32 *addr)</div><div class="ttdoc">Performs a ldrex operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:35</div></div>
-<div class="ttc" id="synchronization_8h_html_af5fdce28704bc8d418fe9aaed04d4e90"><div class="ttname"><a href="synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90">__clrex</a></div><div class="ttdeci">static void __clrex(void)</div><div class="ttdoc">Performs a clrex operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:25</div></div>
+<div class="ttc" id="synchronization_8h_html_a9fe83ca3ec3c6ae269203acf367ad5a9"><div class="ttname"><a href="synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9">__ldrex</a></div><div class="ttdeci">static s32 __ldrex(s32 *addr)</div><div class="ttdoc">Performs a ldrex operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:31</div></div>
+<div class="ttc" id="synchronization_8h_html_af5fdce28704bc8d418fe9aaed04d4e90"><div class="ttname"><a href="synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90">__clrex</a></div><div class="ttdeci">static void __clrex(void)</div><div class="ttdoc">Performs a clrex operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:21</div></div>
<div class="ttc" id="synchronization_8h_html_a1a1d677c021a8487d567f832dea9d9db"><div class="ttname"><a href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a></div><div class="ttdeci">int LightLock_TryLock(LightLock *lock)</div><div class="ttdoc">Attempts to lock a light lock. </div></div>
<div class="ttc" id="synchronization_8h_html_afea61e6ff137d96934bb145d44095ccb"><div class="ttname"><a href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a></div><div class="ttdeci">void RecursiveLock_Lock(RecursiveLock *lock)</div><div class="ttdoc">Locks a recursive lock. </div></div>
<div class="ttc" id="synchronization_8h_html_a8808924fdee80220f83b6992bc5e104d"><div class="ttname"><a href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a></div><div class="ttdeci">int RecursiveLock_TryLock(RecursiveLock *lock)</div><div class="ttdoc">Attempts to lock a recursive lock. </div></div>
<div class="ttc" id="synchronization_8h_html_a82283ae772ec2eac3a193b1431a681af"><div class="ttname"><a href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a></div><div class="ttdeci">void LightLock_Unlock(LightLock *lock)</div><div class="ttdoc">Unlocks a light lock. </div></div>
-<div class="ttc" id="structRecursiveLock_html_a0ba18c8f557e21aa1888404ea86c8f4b"><div class="ttname"><a href="structRecursiveLock.html#a0ba18c8f557e21aa1888404ea86c8f4b">RecursiveLock::thread_tag</a></div><div class="ttdeci">u32 thread_tag</div><div class="ttdoc">Tag of the thread that currently has the lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:14</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.10"/>
+<title>libctru: include/3ds/thread.h File 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>
+<script type="text/javascript">
+ $(document).ready(function() { init_search(); });
+</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">libctru
+  <span id="projectnumber">v1.0.0</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </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_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#typedef-members">Typedefs</a> |
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">thread.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Provides functions to use threads.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include <<a class="el" href="types_8h_source.html">3ds/types.h</a>></code><br />
+<code>#include <<a class="el" href="result_8h_source.html">3ds/result.h</a>></code><br />
+<code>#include <<a class="el" href="synchronization_8h_source.html">3ds/synchronization.h</a>></code><br />
+<code>#include <<a class="el" href="svc_8h_source.html">3ds/svc.h</a>></code><br />
+</div>
+<p><a href="thread_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a32603732d12a56b392a691e42360b035"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32603732d12a56b392a691e42360b035"></a>
+typedef struct Thread_tag * </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a></td></tr>
+<tr class="memdesc:a32603732d12a56b392a691e42360b035"><td class="mdescLeft"> </td><td class="mdescRight">libctru thread handle type <br /></td></tr>
+<tr class="separator:a32603732d12a56b392a691e42360b035"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1b3d0a88bb3337500968da224df797a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">threadCreate</a> (<a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a> entrypoint, void *arg, size_t stack_size, int prio, int affinity, bool detached)</td></tr>
+<tr class="memdesc:a1b3d0a88bb3337500968da224df797a1"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new libctru thread. <a href="#a1b3d0a88bb3337500968da224df797a1">More...</a><br /></td></tr>
+<tr class="separator:a1b3d0a88bb3337500968da224df797a1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6f95b5664998852d05adfe79d2490988"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#a6f95b5664998852d05adfe79d2490988">threadGetHandle</a> (<a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread)</td></tr>
+<tr class="memdesc:a6f95b5664998852d05adfe79d2490988"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the OS thread handle of a libctru thread. <a href="#a6f95b5664998852d05adfe79d2490988">More...</a><br /></td></tr>
+<tr class="separator:a6f95b5664998852d05adfe79d2490988"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aece3cff1637deec4b6497bb438dba2e8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#aece3cff1637deec4b6497bb438dba2e8">threadGetExitCode</a> (<a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread)</td></tr>
+<tr class="memdesc:aece3cff1637deec4b6497bb438dba2e8"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the exit code of a finished libctru thread. <a href="#aece3cff1637deec4b6497bb438dba2e8">More...</a><br /></td></tr>
+<tr class="separator:aece3cff1637deec4b6497bb438dba2e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed4c2f06cf2ae66583325bd96588fa27"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27">threadFree</a> (<a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread)</td></tr>
+<tr class="memdesc:aed4c2f06cf2ae66583325bd96588fa27"><td class="mdescLeft"> </td><td class="mdescRight">Frees a finished libctru thread. <a href="#aed4c2f06cf2ae66583325bd96588fa27">More...</a><br /></td></tr>
+<tr class="separator:aed4c2f06cf2ae66583325bd96588fa27"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5d7a5a77d24710c19f866d02594553db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">threadJoin</a> (<a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread, <a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout_ns)</td></tr>
+<tr class="memdesc:a5d7a5a77d24710c19f866d02594553db"><td class="mdescLeft"> </td><td class="mdescRight">Waits for a libctru thread to finish (or returns immediately if it is already finished). <a href="#a5d7a5a77d24710c19f866d02594553db">More...</a><br /></td></tr>
+<tr class="separator:a5d7a5a77d24710c19f866d02594553db"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaf77fd339bcd06c1aa63aaffa74ba118"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118">threadGetCurrent</a> (void)</td></tr>
+<tr class="memdesc:aaf77fd339bcd06c1aa63aaffa74ba118"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the libctru thread handle of the current thread. <a href="#aaf77fd339bcd06c1aa63aaffa74ba118">More...</a><br /></td></tr>
+<tr class="separator:aaf77fd339bcd06c1aa63aaffa74ba118"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa018f7fca858955b66821d6faa4e9b47"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="thread_8h.html#aa018f7fca858955b66821d6faa4e9b47">threadExit</a> (int rc) <a class="el" href="rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154">__attribute__</a>((noreturn))</td></tr>
+<tr class="memdesc:aa018f7fca858955b66821d6faa4e9b47"><td class="mdescLeft"> </td><td class="mdescRight">Exits the current libctru thread with an exit code (not usable from the main thread). <a href="#aa018f7fca858955b66821d6faa4e9b47">More...</a><br /></td></tr>
+<tr class="separator:aa018f7fca858955b66821d6faa4e9b47"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides functions to use threads. </p>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1b3d0a88bb3337500968da224df797a1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> threadCreate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a> </td>
+ <td class="paramname"><em>entrypoint</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void * </td>
+ <td class="paramname"><em>arg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t </td>
+ <td class="paramname"><em>stack_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>prio</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>affinity</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>detached</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Creates a new libctru thread. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">entrypoint</td><td>The function that will be called first upon thread creation </td></tr>
+ <tr><td class="paramname">arg</td><td>The argument passed to <code>entrypoint</code> </td></tr>
+ <tr><td class="paramname">stack_size</td><td>The size of the stack that will be allocated for the thread (will be rounded to a multiple of 8 bytes) </td></tr>
+ <tr><td class="paramname">prio</td><td>Low values gives the thread higher priority. For userland apps, this has to be within the range [0x18;0x3F]. The main thread usually has a priority of 0x30, but not always. Use <a class="el" href="svc_8h.html#a609c04e1cde0d5bd6a71acbed3ad7e54" title="Retrieves the priority of a thread. ">svcGetThreadPriority()</a> if you need to create a thread with a priority that is explicitly greater or smaller than that of the main thread. </td></tr>
+ <tr><td class="paramname">affinity</td><td>The ID of the processor the thread should be ran on. Processor IDs are labeled starting from 0. On Old3DS it must be <2, and on New3DS it must be <4. Pass -1 to execute the thread on all CPUs and -2 to execute the thread on the default CPU (read from the Exheader). </td></tr>
+ <tr><td class="paramname">detached</td><td>When set to true, the thread is automatically freed when it finishes. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The libctru thread handle on success, NULL on failure.</dd></dl>
+<ul>
+<li>Processor #0 is the application core. It is always possible to create a thread on this core.</li>
+<li>Processor #1 is the system core. If APT_SetAppCpuTimeLimit is used, it is possible to create a single thread on this core.</li>
+<li>Processor #2 is New3DS exclusive. Normal applications can create threads on this core if the exheader kernel flags bitmask has 0x2000 set.</li>
+<li>Processor #3 is New3DS exclusive. Normal applications cannot create threads on this core.</li>
+<li>Processes in the BASE memory region can always create threads on processors #2 and #3. </li>
+</ul>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a7">threads/event/source/main.c</a>, and <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a7">threads/thread-basic/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa018f7fca858955b66821d6faa4e9b47"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void threadExit </td>
+ <td>(</td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>rc</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Exits the current libctru thread with an exit code (not usable from the main thread). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rc</td><td>Exit code </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aed4c2f06cf2ae66583325bd96588fa27"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void threadFree </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> </td>
+ <td class="paramname"><em>thread</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Frees a finished libctru thread. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">thread</td><td>libctru thread handle </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a17">threads/thread-basic/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aaf77fd339bcd06c1aa63aaffa74ba118"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> threadGetCurrent </td>
+ <td>(</td>
+ <td class="paramtype">void </td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retrieves the libctru thread handle of the current thread. </p>
+<dl class="section return"><dt>Returns</dt><dd>libctru thread handle of the current thread, or NULL for the main thread </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aece3cff1637deec4b6497bb438dba2e8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int threadGetExitCode </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> </td>
+ <td class="paramname"><em>thread</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retrieves the exit code of a finished libctru thread. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">thread</td><td>libctru thread handle </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Exit code </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a6f95b5664998852d05adfe79d2490988"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> threadGetHandle </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> </td>
+ <td class="paramname"><em>thread</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retrieves the OS thread handle of a libctru thread. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">thread</td><td>libctru thread handle </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>OS thread handle </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5d7a5a77d24710c19f866d02594553db"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> threadJoin </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> </td>
+ <td class="paramname"><em>thread</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> </td>
+ <td class="paramname"><em>timeout_ns</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Waits for a libctru thread to finish (or returns immediately if it is already finished). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">thread</td><td>libctru thread handle </td></tr>
+ <tr><td class="paramname">timeout_ns</td><td>Timeout in nanoseconds. Pass U64_MAX if a timeout isn't desired </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a17">threads/event/source/main.c</a>, and <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a15">threads/thread-basic/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.10"/>
+<title>libctru: include/3ds/thread.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>
+<script type="text/javascript">
+ $(document).ready(function() { init_search(); });
+</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">libctru
+  <span id="projectnumber">v1.0.0</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </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_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">thread.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="thread_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * @file thread.h</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * @brief Provides functions to use threads.</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include <<a class="code" href="types_8h.html">3ds/types.h</a>></span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <<a class="code" href="result_8h.html">3ds/result.h</a>></span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <<a class="code" href="synchronization_8h.html">3ds/synchronization.h</a>></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <<a class="code" href="svc_8h.html">3ds/svc.h</a>></span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"></span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">/// libctru thread handle type</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="thread_8h.html#a32603732d12a56b392a691e42360b035"> 12</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>Thread_tag* <a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a>;</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"></span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * @brief Creates a new libctru thread.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * @param entrypoint The function that will be called first upon thread creation</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * @param arg The argument passed to @p entrypoint</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * @param stack_size The size of the stack that will be allocated for the thread (will be rounded to a multiple of 8 bytes)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * @param prio Low values gives the thread higher priority.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * For userland apps, this has to be within the range [0x18;0x3F].</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * The main thread usually has a priority of 0x30, but not always. Use svcGetThreadPriority() if you need</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * to create a thread with a priority that is explicitly greater or smaller than that of the main thread.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * @param affinity The ID of the processor the thread should be ran on. Processor IDs are labeled starting from 0.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * On Old3DS it must be <2, and on New3DS it must be <4.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * Pass -1 to execute the thread on all CPUs and -2 to execute the thread on the default CPU (read from the Exheader).</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * @param detached When set to true, the thread is automatically freed when it finishes.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * @return The libctru thread handle on success, NULL on failure.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * - Processor #0 is the application core. It is always possible to create a thread on this core.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * - Processor #1 is the system core. If APT_SetAppCpuTimeLimit is used, it is possible to create a single thread on this core.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * - Processor #2 is New3DS exclusive. Normal applications can create threads on this core if the exheader kernel flags bitmask has 0x2000 set.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * - Processor #3 is New3DS exclusive. Normal applications cannot create threads on this core.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * - Processes in the BASE memory region can always create threads on processors #2 and #3.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> <a class="code" href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">threadCreate</a>(<a class="code" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a> entrypoint, <span class="keywordtype">void</span>* arg, <span class="keywordtype">size_t</span> stack_size, <span class="keywordtype">int</span> prio, <span class="keywordtype">int</span> affinity, <span class="keywordtype">bool</span> detached);</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"></span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * @brief Retrieves the OS thread handle of a libctru thread.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * @param thread libctru thread handle</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * @return OS thread handle</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> <a class="code" href="thread_8h.html#a6f95b5664998852d05adfe79d2490988">threadGetHandle</a>(<a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread);</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * @brief Retrieves the exit code of a finished libctru thread.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * @param thread libctru thread handle</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * @return Exit code</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">int</span> <a class="code" href="thread_8h.html#aece3cff1637deec4b6497bb438dba2e8">threadGetExitCode</a>(<a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread);</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> * @brief Frees a finished libctru thread.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * @param thread libctru thread handle</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span> <a class="code" href="thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27">threadFree</a>(<a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread);</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> * @brief Waits for a libctru thread to finish (or returns immediately if it is already finished).</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * @param thread libctru thread handle</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * @param timeout_ns Timeout in nanoseconds. Pass U64_MAX if a timeout isn't desired</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">threadJoin</a>(<a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> thread, <a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout_ns);</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> * @brief Retrieves the libctru thread handle of the current thread.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> * @return libctru thread handle of the current thread, or NULL for the main thread</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> <a class="code" href="thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118">threadGetCurrent</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"></span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> * @brief Exits the current libctru thread with an exit code (not usable from the main thread).</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> * @param rc Exit code</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> <a class="code" href="thread_8h.html#aa018f7fca858955b66821d6faa4e9b47">threadExit</a>(<span class="keywordtype">int</span> rc) <a class="code" href="rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154">__attribute__</a>((noreturn));</div>
+<div class="ttc" id="thread_8h_html_a1b3d0a88bb3337500968da224df797a1"><div class="ttname"><a href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">threadCreate</a></div><div class="ttdeci">Thread threadCreate(ThreadFunc entrypoint, void *arg, size_t stack_size, int prio, int affinity, bool detached)</div><div class="ttdoc">Creates a new libctru thread. </div></div>
+<div class="ttc" id="types_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div><div class="ttdoc">Various system types. </div></div>
+<div class="ttc" id="types_8h_html_ac830bf5a4f2cf8273f61ab99a46cf163"><div class="ttname"><a href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a></div><div class="ttdeci">s32 Result</div><div class="ttdoc">Function result. </div><div class="ttdef"><b>Definition:</b> types.h:42</div></div>
+<div class="ttc" id="types_8h_html_a857e4e893f41191500e83c00058df64e"><div class="ttname"><a href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a></div><div class="ttdeci">void(* ThreadFunc)(void *)</div><div class="ttdoc">Thread entrypoint function. </div><div class="ttdef"><b>Definition:</b> types.h:43</div></div>
+<div class="ttc" id="thread_8h_html_aed4c2f06cf2ae66583325bd96588fa27"><div class="ttname"><a href="thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27">threadFree</a></div><div class="ttdeci">void threadFree(Thread thread)</div><div class="ttdoc">Frees a finished libctru thread. </div></div>
+<div class="ttc" id="thread_8h_html_aece3cff1637deec4b6497bb438dba2e8"><div class="ttname"><a href="thread_8h.html#aece3cff1637deec4b6497bb438dba2e8">threadGetExitCode</a></div><div class="ttdeci">int threadGetExitCode(Thread thread)</div><div class="ttdoc">Retrieves the exit code of a finished libctru thread. </div></div>
+<div class="ttc" id="types_8h_html_ab6d744c6b5de129f12937e482dc674fb"><div class="ttname"><a href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a></div><div class="ttdeci">u32 Handle</div><div class="ttdoc">Resource handle. </div><div class="ttdef"><b>Definition:</b> types.h:41</div></div>
+<div class="ttc" id="thread_8h_html_aaf77fd339bcd06c1aa63aaffa74ba118"><div class="ttname"><a href="thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118">threadGetCurrent</a></div><div class="ttdeci">Thread threadGetCurrent(void)</div><div class="ttdoc">Retrieves the libctru thread handle of the current thread. </div></div>
+<div class="ttc" id="types_8h_html_a3f7e2bcbb0b4c338f3c4f6c937cd4234"><div class="ttname"><a href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a></div><div class="ttdeci">uint64_t u64</div><div class="ttdoc">64-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:24</div></div>
+<div class="ttc" id="result_8h_html"><div class="ttname"><a href="result_8h.html">result.h</a></div><div class="ttdoc">3DS result code tools </div></div>
+<div class="ttc" id="thread_8h_html_a5d7a5a77d24710c19f866d02594553db"><div class="ttname"><a href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">threadJoin</a></div><div class="ttdeci">Result threadJoin(Thread thread, u64 timeout_ns)</div><div class="ttdoc">Waits for a libctru thread to finish (or returns immediately if it is already finished). </div></div>
+<div class="ttc" id="thread_8h_html_a6f95b5664998852d05adfe79d2490988"><div class="ttname"><a href="thread_8h.html#a6f95b5664998852d05adfe79d2490988">threadGetHandle</a></div><div class="ttdeci">Handle threadGetHandle(Thread thread)</div><div class="ttdoc">Retrieves the OS thread handle of a libctru thread. </div></div>
+<div class="ttc" id="thread_8h_html_a32603732d12a56b392a691e42360b035"><div class="ttname"><a href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a></div><div class="ttdeci">struct Thread_tag * Thread</div><div class="ttdoc">libctru thread handle type </div><div class="ttdef"><b>Definition:</b> thread.h:12</div></div>
+<div class="ttc" id="synchronization_8h_html"><div class="ttname"><a href="synchronization_8h.html">synchronization.h</a></div><div class="ttdoc">Provides synchronization locks. </div></div>
+<div class="ttc" id="svc_8h_html"><div class="ttname"><a href="svc_8h.html">svc.h</a></div><div class="ttdoc">Syscall wrappers. </div></div>
+<div class="ttc" id="rbtree_8h_html_a797a3e1c8507a7c7b4e051d3f1349154"><div class="ttname"><a href="rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154">__attribute__</a></div><div class="ttdeci">__attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree</div><div class="ttdoc">Inserts a node into an rbtree. </div></div>
+<div class="ttc" id="thread_8h_html_aa018f7fca858955b66821d6faa4e9b47"><div class="ttname"><a href="thread_8h.html#aa018f7fca858955b66821d6faa4e9b47">threadExit</a></div><div class="ttdeci">void threadExit(int rc) __attribute__((noreturn))</div><div class="ttdoc">Exits the current libctru thread with an exit code (not usable from the main thread). </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<div class="line"></div>
<div class="line"><span class="preprocessor">#include <<a class="code" href="3ds_8h.html">3ds.h</a>></span></div>
<div class="line"></div>
-<div class="line"><a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> threadHandle, threadRequest;</div>
+<div class="line"><a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> threadHandle;</div>
+<div class="line"><a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> threadRequest;</div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#define STACKSIZE (4 * 1024)</span></div>
<div class="line"></div>
-<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> threadExit = <span class="keyword">false</span>;</div>
+<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> runThread = <span class="keyword">true</span>;</div>
<div class="line"></div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">int</span> threadcount=0;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> threadMain(<span class="keywordtype">void</span> *arg) {</div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">while</span>(1) {</div>
+<div class="line"> <span class="keywordflow">while</span>(runThread) {</div>
<div class="line"> <a name="a0"></a><a class="code" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a>(threadRequest, <a name="a1"></a><a class="code" href="types_8h.html#aaf73a88ad00da5c878558d6dc80b2f5c">U64_MAX</a>);</div>
-<div class="line"> <a name="a2"></a><a class="code" href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">svcClearEvent</a>(threadRequest); </div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>(threadExit) <a name="a3"></a><a class="code" href="svc_8h.html#a2ddb0d1da1ee4e65a5d2408da6239921">svcExitThread</a>();</div>
+<div class="line"> <a name="a2"></a><a class="code" href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">svcClearEvent</a>(threadRequest);</div>
<div class="line"></div>
<div class="line"> threadcount++;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"></div>
-<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv) {</div>
-<div class="line"></div>
-<div class="line"></div>
-<div class="line"> <a name="a4"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
-<div class="line"></div>
-<div class="line"> <a name="a5"></a><a class="code" href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a>(<a name="a6"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, NULL);</div>
+<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv)</div>
+<div class="line">{</div>
+<div class="line"> <a name="a3"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line"> <a name="a4"></a><a class="code" href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a>(<a name="a5"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, NULL);</div>
<div class="line"></div>
+<div class="line"> <a name="a6"></a><a class="code" href="svc_8h.html#a20de33221dc4c14672d79606f6697bff">svcCreateEvent</a>(&threadRequest,0);</div>
+<div class="line"> threadHandle = <a name="a7"></a><a class="code" href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">threadCreate</a>(threadMain, 0, STACKSIZE, 0x3f, -2, <span class="keyword">true</span>);</div>
<div class="line"></div>
-<div class="line"> <a name="a7"></a><a class="code" href="svc_8h.html#a20de33221dc4c14672d79606f6697bff">svcCreateEvent</a>(&threadRequest,0);</div>
-<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *threadStack = memalign(32, STACKSIZE);</div>
-<div class="line"> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> ret = <a name="a8"></a><a class="code" href="svc_8h.html#a3f62a8f1822c6a78fab2e2cb03c46893">svcCreateThread</a>(&threadHandle, threadMain, 0, &threadStack[STACKSIZE/4], 0x3f, 0);</div>
-<div class="line"></div>
-<div class="line"> printf(<span class="stringliteral">"thread create returned %lx\n"</span>, ret);</div>
+<div class="line"> printf(<span class="stringliteral">"thread handle: %p\n"</span>, threadHandle);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Main loop</span></div>
-<div class="line"> <span class="keywordflow">while</span> (<a name="a9"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line"> <span class="keywordflow">while</span> (<a name="a8"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
<div class="line"> {</div>
-<div class="line"> <a name="a10"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
-<div class="line"> <a name="a11"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
+<div class="line"> <a name="a9"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
+<div class="line"> <a name="a10"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
<div class="line"></div>
<div class="line"> printf(<span class="stringliteral">"\x1b[5;0H"</span>);</div>
<div class="line"> printf(<span class="stringliteral">"thread counter = %d\n"</span>,threadcount);</div>
<div class="line"></div>
-<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a12"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
-<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a13"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a11"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a12"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
<div class="line"> <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a14"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a>)</div>
-<div class="line"> <a name="a15"></a><a class="code" href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">svcSignalEvent</a>(threadRequest);</div>
+<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a13"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a>)</div>
+<div class="line"> <a name="a14"></a><a class="code" href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">svcSignalEvent</a>(threadRequest);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Flush and swap framebuffers</span></div>
-<div class="line"> <a name="a16"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
-<div class="line"> <a name="a17"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
+<div class="line"> <a name="a15"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
+<div class="line"> <a name="a16"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">// tell thread to exit</span></div>
-<div class="line"> threadExit = <span class="keyword">true</span>;</div>
+<div class="line"> runThread = <span class="keyword">false</span>;</div>
<div class="line"></div>
-<div class="line"> <span class="comment">// signal the thread</span></div>
+<div class="line"> <span class="comment">// signal the thread and wait for it to exit</span></div>
<div class="line"> <a class="code" href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">svcSignalEvent</a>(threadRequest);</div>
+<div class="line"> <a name="a17"></a><a class="code" href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">threadJoin</a>(threadHandle, <a class="code" href="types_8h.html#aaf73a88ad00da5c878558d6dc80b2f5c">U64_MAX</a>);</div>
<div class="line"></div>
-<div class="line"> <span class="comment">// give it time to exit</span></div>
-<div class="line"> <a name="a18"></a><a class="code" href="svc_8h.html#ae1fad9317c81076e1394a376ab27c720">svcSleepThread</a>(10000000ULL);</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// close handles and free allocated stack</span></div>
-<div class="line"> <a name="a19"></a><a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(threadRequest);</div>
-<div class="line"> <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(threadHandle);</div>
-<div class="line"> free(threadStack);</div>
-<div class="line"></div>
+<div class="line"> <span class="comment">// close event handle</span></div>
+<div class="line"> <a name="a18"></a><a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(threadRequest);</div>
<div class="line"></div>
-<div class="line"> <a name="a20"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line"> <a name="a19"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
<div class="line"> <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --> </div><!-- contents -->
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.10"/>
+<title>libctru: threads/thread-basic/source/main.c</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>
+<script type="text/javascript">
+ $(document).ready(function() { init_search(); });
+</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">libctru
+  <span id="projectnumber">v1.0.0</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </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">threads/thread-basic/source/main.c</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><span class="preprocessor">#include <string.h></span></div>
+<div class="line"><span class="preprocessor">#include <stdio.h></span></div>
+<div class="line"><span class="preprocessor">#include <<a class="code" href="3ds_8h.html">3ds.h</a>></span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define NUMTHREADS 3</span></div>
+<div class="line"><span class="preprocessor">#define STACKSIZE (4 * 1024)</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> runThreads = <span class="keyword">true</span>;</div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">void</span> threadMain(<span class="keywordtype">void</span> *arg)</div>
+<div class="line">{</div>
+<div class="line"> <a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> sleepDuration = 1000000ULL * (<a name="a0"></a><a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>)arg;</div>
+<div class="line"> <span class="keywordtype">int</span> i = 0;</div>
+<div class="line"> <span class="keywordflow">while</span> (runThreads)</div>
+<div class="line"> {</div>
+<div class="line"> printf(<span class="stringliteral">"thread%d says %d\n"</span>, (<span class="keywordtype">int</span>)arg, i++);</div>
+<div class="line"> <a name="a1"></a><a class="code" href="svc_8h.html#ae1fad9317c81076e1394a376ab27c720">svcSleepThread</a>(sleepDuration);</div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv)</div>
+<div class="line">{</div>
+<div class="line"> <a name="a2"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line"> <a name="a3"></a><a class="code" href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a>(<a name="a4"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, NULL);</div>
+<div class="line"></div>
+<div class="line"> <a class="code" href="thread_8h.html#a32603732d12a56b392a691e42360b035">Thread</a> threads[NUMTHREADS];</div>
+<div class="line"> <span class="keywordtype">int</span> i;</div>
+<div class="line"> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> prio = 0;</div>
+<div class="line"> <a name="a5"></a><a class="code" href="svc_8h.html#a609c04e1cde0d5bd6a71acbed3ad7e54">svcGetThreadPriority</a>(&prio, <a name="a6"></a><a class="code" href="svc_8h.html#a848b6094dcf31bfb0fa5cc999348c2d4">CUR_THREAD_HANDLE</a>);</div>
+<div class="line"> printf(<span class="stringliteral">"Main thread prio: 0x%lx\n"</span>, prio);</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">for</span> (i = 0; i < NUMTHREADS; i ++)</div>
+<div class="line"> {</div>
+<div class="line"> <span class="comment">// The priority of these child threads must be higher (aka the value is lower) than that</span></div>
+<div class="line"> <span class="comment">// of the main thread, otherwise there is thread starvation due to stdio being locked.</span></div>
+<div class="line"> threads[i] = <a name="a7"></a><a class="code" href="thread_8h.html#a1b3d0a88bb3337500968da224df797a1">threadCreate</a>(threadMain, (<span class="keywordtype">void</span>*)((i+1)*250), STACKSIZE, prio-1, -2, <span class="keyword">false</span>);</div>
+<div class="line"> printf(<span class="stringliteral">"created thread %d: %p\n"</span>, i, threads[i]);</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> <span class="comment">// Main loop</span></div>
+<div class="line"> <span class="keywordflow">while</span> (<a name="a8"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line"> {</div>
+<div class="line"> <a name="a9"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
+<div class="line"> <a name="a10"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
+<div class="line"></div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a11"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a12"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line"> <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
+<div class="line"></div>
+<div class="line"> <span class="comment">// Flush and swap framebuffers</span></div>
+<div class="line"> <a name="a13"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
+<div class="line"> <a name="a14"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> <span class="comment">// tell threads to exit & wait for them to exit</span></div>
+<div class="line"> runThreads = <span class="keyword">false</span>;</div>
+<div class="line"> <span class="keywordflow">for</span> (i = 0; i < NUMTHREADS; i ++)</div>
+<div class="line"> {</div>
+<div class="line"> <a name="a15"></a><a class="code" href="thread_8h.html#a5d7a5a77d24710c19f866d02594553db">threadJoin</a>(threads[i], <a name="a16"></a><a class="code" href="types_8h.html#aaf73a88ad00da5c878558d6dc80b2f5c">U64_MAX</a>);</div>
+<div class="line"> <a name="a17"></a><a class="code" href="thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27">threadFree</a>(threads[i]);</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> <a name="a18"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line"> <span class="keywordflow">return</span> 0;</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
+  <span id="projectnumber">v1.0.0</span>
</div>
</td>
</tr>