oxipng/doc/src/libc/lib.rs.html
2016-05-04 10:41:29 -04:00

642 lines
No EOL
59 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="rustdoc">
<meta name="description" content="Source to the Rust file `/Users/holmerj/.cargo/registry/src/github.com-88ac128001ac3a9a/libc-0.2.11/src/lib.rs`.">
<meta name="keywords" content="rust, rustlang, rust-lang">
<title>lib.rs.html -- source</title>
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
<link rel="shortcut icon" href="https://doc.rust-lang.org/favicon.ico">
</head>
<body class="rustdoc">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<a href='../../libc/index.html'><img src='https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png' alt='logo' width='100'></a>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content source"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span id="4"> 4</span>
<span id="5"> 5</span>
<span id="6"> 6</span>
<span id="7"> 7</span>
<span id="8"> 8</span>
<span id="9"> 9</span>
<span id="10"> 10</span>
<span id="11"> 11</span>
<span id="12"> 12</span>
<span id="13"> 13</span>
<span id="14"> 14</span>
<span id="15"> 15</span>
<span id="16"> 16</span>
<span id="17"> 17</span>
<span id="18"> 18</span>
<span id="19"> 19</span>
<span id="20"> 20</span>
<span id="21"> 21</span>
<span id="22"> 22</span>
<span id="23"> 23</span>
<span id="24"> 24</span>
<span id="25"> 25</span>
<span id="26"> 26</span>
<span id="27"> 27</span>
<span id="28"> 28</span>
<span id="29"> 29</span>
<span id="30"> 30</span>
<span id="31"> 31</span>
<span id="32"> 32</span>
<span id="33"> 33</span>
<span id="34"> 34</span>
<span id="35"> 35</span>
<span id="36"> 36</span>
<span id="37"> 37</span>
<span id="38"> 38</span>
<span id="39"> 39</span>
<span id="40"> 40</span>
<span id="41"> 41</span>
<span id="42"> 42</span>
<span id="43"> 43</span>
<span id="44"> 44</span>
<span id="45"> 45</span>
<span id="46"> 46</span>
<span id="47"> 47</span>
<span id="48"> 48</span>
<span id="49"> 49</span>
<span id="50"> 50</span>
<span id="51"> 51</span>
<span id="52"> 52</span>
<span id="53"> 53</span>
<span id="54"> 54</span>
<span id="55"> 55</span>
<span id="56"> 56</span>
<span id="57"> 57</span>
<span id="58"> 58</span>
<span id="59"> 59</span>
<span id="60"> 60</span>
<span id="61"> 61</span>
<span id="62"> 62</span>
<span id="63"> 63</span>
<span id="64"> 64</span>
<span id="65"> 65</span>
<span id="66"> 66</span>
<span id="67"> 67</span>
<span id="68"> 68</span>
<span id="69"> 69</span>
<span id="70"> 70</span>
<span id="71"> 71</span>
<span id="72"> 72</span>
<span id="73"> 73</span>
<span id="74"> 74</span>
<span id="75"> 75</span>
<span id="76"> 76</span>
<span id="77"> 77</span>
<span id="78"> 78</span>
<span id="79"> 79</span>
<span id="80"> 80</span>
<span id="81"> 81</span>
<span id="82"> 82</span>
<span id="83"> 83</span>
<span id="84"> 84</span>
<span id="85"> 85</span>
<span id="86"> 86</span>
<span id="87"> 87</span>
<span id="88"> 88</span>
<span id="89"> 89</span>
<span id="90"> 90</span>
<span id="91"> 91</span>
<span id="92"> 92</span>
<span id="93"> 93</span>
<span id="94"> 94</span>
<span id="95"> 95</span>
<span id="96"> 96</span>
<span id="97"> 97</span>
<span id="98"> 98</span>
<span id="99"> 99</span>
<span id="100">100</span>
<span id="101">101</span>
<span id="102">102</span>
<span id="103">103</span>
<span id="104">104</span>
<span id="105">105</span>
<span id="106">106</span>
<span id="107">107</span>
<span id="108">108</span>
<span id="109">109</span>
<span id="110">110</span>
<span id="111">111</span>
<span id="112">112</span>
<span id="113">113</span>
<span id="114">114</span>
<span id="115">115</span>
<span id="116">116</span>
<span id="117">117</span>
<span id="118">118</span>
<span id="119">119</span>
<span id="120">120</span>
<span id="121">121</span>
<span id="122">122</span>
<span id="123">123</span>
<span id="124">124</span>
<span id="125">125</span>
<span id="126">126</span>
<span id="127">127</span>
<span id="128">128</span>
<span id="129">129</span>
<span id="130">130</span>
<span id="131">131</span>
<span id="132">132</span>
<span id="133">133</span>
<span id="134">134</span>
<span id="135">135</span>
<span id="136">136</span>
<span id="137">137</span>
<span id="138">138</span>
<span id="139">139</span>
<span id="140">140</span>
<span id="141">141</span>
<span id="142">142</span>
<span id="143">143</span>
<span id="144">144</span>
<span id="145">145</span>
<span id="146">146</span>
<span id="147">147</span>
<span id="148">148</span>
<span id="149">149</span>
<span id="150">150</span>
<span id="151">151</span>
<span id="152">152</span>
<span id="153">153</span>
<span id="154">154</span>
<span id="155">155</span>
<span id="156">156</span>
<span id="157">157</span>
<span id="158">158</span>
<span id="159">159</span>
<span id="160">160</span>
<span id="161">161</span>
<span id="162">162</span>
<span id="163">163</span>
<span id="164">164</span>
<span id="165">165</span>
<span id="166">166</span>
<span id="167">167</span>
<span id="168">168</span>
<span id="169">169</span>
<span id="170">170</span>
<span id="171">171</span>
<span id="172">172</span>
<span id="173">173</span>
<span id="174">174</span>
<span id="175">175</span>
<span id="176">176</span>
<span id="177">177</span>
<span id="178">178</span>
<span id="179">179</span>
<span id="180">180</span>
<span id="181">181</span>
<span id="182">182</span>
<span id="183">183</span>
<span id="184">184</span>
<span id="185">185</span>
<span id="186">186</span>
<span id="187">187</span>
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
<span id="192">192</span>
<span id="193">193</span>
<span id="194">194</span>
<span id="195">195</span>
<span id="196">196</span>
<span id="197">197</span>
<span id="198">198</span>
<span id="199">199</span>
<span id="200">200</span>
<span id="201">201</span>
<span id="202">202</span>
<span id="203">203</span>
<span id="204">204</span>
<span id="205">205</span>
<span id="206">206</span>
<span id="207">207</span>
<span id="208">208</span>
<span id="209">209</span>
<span id="210">210</span>
<span id="211">211</span>
<span id="212">212</span>
<span id="213">213</span>
<span id="214">214</span>
<span id="215">215</span>
<span id="216">216</span>
<span id="217">217</span>
<span id="218">218</span>
<span id="219">219</span>
<span id="220">220</span>
<span id="221">221</span>
<span id="222">222</span>
<span id="223">223</span>
<span id="224">224</span>
<span id="225">225</span>
<span id="226">226</span>
<span id="227">227</span>
<span id="228">228</span>
<span id="229">229</span>
<span id="230">230</span>
<span id="231">231</span>
<span id="232">232</span>
<span id="233">233</span>
<span id="234">234</span>
<span id="235">235</span>
<span id="236">236</span>
<span id="237">237</span>
<span id="238">238</span>
<span id="239">239</span>
<span id="240">240</span>
<span id="241">241</span>
<span id="242">242</span>
<span id="243">243</span>
<span id="244">244</span>
<span id="245">245</span>
<span id="246">246</span>
<span id="247">247</span>
<span id="248">248</span>
<span id="249">249</span>
<span id="250">250</span>
<span id="251">251</span>
<span id="252">252</span>
<span id="253">253</span>
<span id="254">254</span>
<span id="255">255</span>
<span id="256">256</span>
<span id="257">257</span>
<span id="258">258</span>
<span id="259">259</span>
<span id="260">260</span>
<span id="261">261</span>
<span id="262">262</span>
<span id="263">263</span>
<span id="264">264</span>
<span id="265">265</span>
<span id="266">266</span>
<span id="267">267</span>
</pre><pre class='rust '>
<span class='comment'>// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT</span>
<span class='comment'>// file at the top-level directory of this distribution and at</span>
<span class='comment'>// http://rust-lang.org/COPYRIGHT.</span>
<span class='comment'>//</span>
<span class='comment'>// Licensed under the Apache License, Version 2.0 &lt;LICENSE-APACHE or</span>
<span class='comment'>// http://www.apache.org/licenses/LICENSE-2.0&gt; or the MIT license</span>
<span class='comment'>// &lt;LICENSE-MIT or http://opensource.org/licenses/MIT&gt;, at your</span>
<span class='comment'>// option. This file may not be copied, modified, or distributed</span>
<span class='comment'>// except according to those terms.</span>
<span class='doccomment'>//! Crate docs</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>allow</span>(<span class='ident'>bad_style</span>, <span class='ident'>overflowing_literals</span>, <span class='ident'>improper_ctypes</span>)]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>crate_type</span> <span class='op'>=</span> <span class='string'>&quot;rlib&quot;</span>]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>crate_name</span> <span class='op'>=</span> <span class='string'>&quot;libc&quot;</span>]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>dox</span>, <span class='ident'>feature</span>(<span class='ident'>no_core</span>, <span class='ident'>lang_items</span>))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>dox</span>, <span class='ident'>no_core</span>)]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>doc</span>(<span class='ident'>html_logo_url</span> <span class='op'>=</span> <span class='string'>&quot;https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png&quot;</span>,
<span class='ident'>html_favicon_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/favicon.ico&quot;</span>)]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;linux&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86_64&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;linux&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/i686-unknown-linux-gnu&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;linux&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;arm&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/arm-unknown-linux-gnueabihf&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;linux&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;mips&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/mips-unknown-linux-gnu&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;linux&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;aarch64&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/aarch64-unknown-linux-gnu&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;linux&quot;</span>, <span class='ident'>target_env</span> <span class='op'>=</span> <span class='string'>&quot;musl&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-linux-musl&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86_64&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-apple-darwin&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/i686-apple-darwin&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>windows</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86_64&quot;</span>, <span class='ident'>target_env</span> <span class='op'>=</span> <span class='string'>&quot;gnu&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-pc-windows-gnu&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>windows</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>, <span class='ident'>target_env</span> <span class='op'>=</span> <span class='string'>&quot;gnu&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/i686-pc-windows-gnu&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>windows</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86_64&quot;</span>, <span class='ident'>target_env</span> <span class='op'>=</span> <span class='string'>&quot;msvc&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-pc-windows-msvc&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>windows</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>, <span class='ident'>target_env</span> <span class='op'>=</span> <span class='string'>&quot;msvc&quot;</span>), <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/i686-pc-windows-msvc&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;android&quot;</span>, <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/arm-linux-androideabi&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;freebsd&quot;</span>, <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-freebsd&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;openbsd&quot;</span>, <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-openbsd&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;bitrig&quot;</span>, <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-bitrig&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;netbsd&quot;</span>, <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-netbsd&quot;</span>
))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;dragonfly&quot;</span>, <span class='ident'>doc</span>(
<span class='ident'>html_root_url</span> <span class='op'>=</span> <span class='string'>&quot;https://doc.rust-lang.org/libc/x86_64-unknown-dragonfly&quot;</span>
))]</span>
<span class='comment'>// Attributes needed when building as part of the standard library</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>stdbuild</span>, <span class='ident'>feature</span>(<span class='ident'>no_std</span>, <span class='ident'>core</span>, <span class='ident'>core_slice_ext</span>, <span class='ident'>staged_api</span>, <span class='ident'>custom_attribute</span>, <span class='ident'>cfg_target_vendor</span>))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>stdbuild</span>, <span class='ident'>no_std</span>)]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>stdbuild</span>, <span class='ident'>staged_api</span>)]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>stdbuild</span>, <span class='ident'>allow</span>(<span class='ident'>warnings</span>))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>stdbuild</span>, <span class='ident'>unstable</span>(<span class='ident'>feature</span> <span class='op'>=</span> <span class='string'>&quot;libc&quot;</span>,
<span class='ident'>reason</span> <span class='op'>=</span> <span class='string'>&quot;use `libc` from crates.io&quot;</span>,
<span class='ident'>issue</span> <span class='op'>=</span> <span class='string'>&quot;27783&quot;</span>))]</span>
<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>cfg_attr</span>(<span class='ident'>not</span>(<span class='ident'>feature</span> <span class='op'>=</span> <span class='string'>&quot;use_std&quot;</span>), <span class='ident'>no_std</span>)]</span>
<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>all</span>(<span class='ident'>not</span>(<span class='ident'>stdbuild</span>), <span class='ident'>not</span>(<span class='ident'>dox</span>), <span class='ident'>feature</span> <span class='op'>=</span> <span class='string'>&quot;use_std&quot;</span>))]</span>
<span class='kw'>extern</span> <span class='kw'>crate</span> <span class='ident'>std</span> <span class='kw'>as</span> <span class='ident'>core</span>;
<span class='attribute'>#[<span class='ident'>macro_use</span>]</span> <span class='kw'>mod</span> <span class='ident'>macros</span>;
<span class='kw'>mod</span> <span class='ident'>dox</span>;
<span class='comment'>// Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help enable</span>
<span class='comment'>// more optimization opportunities around it recognizing things like</span>
<span class='comment'>// malloc/free.</span>
<span class='attribute'>#[<span class='ident'>repr</span>(<span class='ident'>u8</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>enum</span> <span class='ident'>c_void</span> {
<span class='comment'>// Two dummy variants so the #[repr] attribute can be used.</span>
<span class='attribute'>#[<span class='ident'>doc</span>(<span class='ident'>hidden</span>)]</span>
<span class='ident'>__variant1</span>,
<span class='attribute'>#[<span class='ident'>doc</span>(<span class='ident'>hidden</span>)]</span>
<span class='ident'>__variant2</span>,
}
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>int8_t</span> <span class='op'>=</span> <span class='ident'>i8</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>int16_t</span> <span class='op'>=</span> <span class='ident'>i16</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>int32_t</span> <span class='op'>=</span> <span class='ident'>i32</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>int64_t</span> <span class='op'>=</span> <span class='ident'>i64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>uint8_t</span> <span class='op'>=</span> <span class='ident'>u8</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>uint16_t</span> <span class='op'>=</span> <span class='ident'>u16</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>uint32_t</span> <span class='op'>=</span> <span class='ident'>u32</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>uint64_t</span> <span class='op'>=</span> <span class='ident'>u64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_schar</span> <span class='op'>=</span> <span class='ident'>i8</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_uchar</span> <span class='op'>=</span> <span class='ident'>u8</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_short</span> <span class='op'>=</span> <span class='ident'>i16</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_ushort</span> <span class='op'>=</span> <span class='ident'>u16</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_int</span> <span class='op'>=</span> <span class='ident'>i32</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_uint</span> <span class='op'>=</span> <span class='ident'>u32</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_float</span> <span class='op'>=</span> <span class='ident'>f32</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_double</span> <span class='op'>=</span> <span class='ident'>f64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_longlong</span> <span class='op'>=</span> <span class='ident'>i64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>c_ulonglong</span> <span class='op'>=</span> <span class='ident'>u64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>intmax_t</span> <span class='op'>=</span> <span class='ident'>i64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>uintmax_t</span> <span class='op'>=</span> <span class='ident'>u64</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>size_t</span> <span class='op'>=</span> <span class='ident'>usize</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>ptrdiff_t</span> <span class='op'>=</span> <span class='ident'>isize</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>intptr_t</span> <span class='op'>=</span> <span class='ident'>isize</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>uintptr_t</span> <span class='op'>=</span> <span class='ident'>usize</span>;
<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>ssize_t</span> <span class='op'>=</span> <span class='ident'>isize</span>;
<span class='kw'>pub</span> <span class='kw'>enum</span> <span class='ident'>FILE</span> {}
<span class='kw'>pub</span> <span class='kw'>enum</span> <span class='ident'>fpos_t</span> {} <span class='comment'>// TODO: fill this out with a struct</span>
<span class='kw'>extern</span> {
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isalnum</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isalpha</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>iscntrl</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isdigit</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isgraph</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>islower</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isprint</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>ispunct</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isspace</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isupper</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>isxdigit</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>tolower</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>toupper</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;fopen$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fopen</span>(<span class='ident'>filename</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>,
<span class='ident'>mode</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;freopen$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>freopen</span>(<span class='ident'>filename</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>mode</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>,
<span class='ident'>file</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fflush</span>(<span class='ident'>file</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fclose</span>(<span class='ident'>file</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>remove</span>(<span class='ident'>filename</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>rename</span>(<span class='ident'>oldname</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>newname</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>tmpfile</span>() <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>setvbuf</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>,
<span class='ident'>buffer</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>,
<span class='ident'>mode</span>: <span class='ident'>c_int</span>,
<span class='ident'>size</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>setbuf</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>, <span class='ident'>buf</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>);
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fgetc</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fgets</span>(<span class='ident'>buf</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>n</span>: <span class='ident'>c_int</span>, <span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fputc</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>, <span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;fputs$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fputs</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>)<span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>puts</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>ungetc</span>(<span class='ident'>c</span>: <span class='ident'>c_int</span>, <span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fread</span>(<span class='ident'>ptr</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>,
<span class='ident'>size</span>: <span class='ident'>size_t</span>,
<span class='ident'>nobj</span>: <span class='ident'>size_t</span>,
<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>)
<span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;fwrite$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fwrite</span>(<span class='ident'>ptr</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_void</span>,
<span class='ident'>size</span>: <span class='ident'>size_t</span>,
<span class='ident'>nobj</span>: <span class='ident'>size_t</span>,
<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>)
<span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fseek</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>, <span class='ident'>offset</span>: <span class='ident'>c_long</span>, <span class='ident'>whence</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>ftell</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_long</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>rewind</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>);
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;netbsd&quot;</span>, <span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;__fgetpos50&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fgetpos</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>, <span class='ident'>ptr</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>fpos_t</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;netbsd&quot;</span>, <span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;__fsetpos50&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>fsetpos</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>, <span class='ident'>ptr</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>fpos_t</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>feof</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>ferror</span>(<span class='ident'>stream</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>FILE</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>perror</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>);
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>atoi</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;strtod$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strtod</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>endp</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_double</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strtol</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>,
<span class='ident'>endp</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>base</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_long</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strtoul</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>endp</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>,
<span class='ident'>base</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_ulong</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>calloc</span>(<span class='ident'>nobj</span>: <span class='ident'>size_t</span>, <span class='ident'>size</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>malloc</span>(<span class='ident'>size</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>realloc</span>(<span class='ident'>p</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>, <span class='ident'>size</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>free</span>(<span class='ident'>p</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>);
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>abort</span>() <span class='op'>-&gt;</span> <span class='op'>!</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>exit</span>(<span class='ident'>status</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='op'>!</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>_exit</span>(<span class='ident'>status</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='op'>!</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>atexit</span>(<span class='ident'>cb</span>: <span class='kw'>extern</span> <span class='kw'>fn</span>()) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;system$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>system</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>getenv</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strcpy</span>(<span class='ident'>dst</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>src</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strncpy</span>(<span class='ident'>dst</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>src</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>n</span>: <span class='ident'>size_t</span>)
<span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strcat</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strncat</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>n</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strcmp</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strncmp</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>n</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strcoll</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strchr</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strrchr</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>c</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strspn</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strcspn</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strpbrk</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strstr</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strlen</span>(<span class='ident'>cs</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='attribute'>#[<span class='ident'>cfg_attr</span>(<span class='ident'>all</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;macos&quot;</span>, <span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>&quot;x86&quot;</span>),
<span class='ident'>link_name</span> <span class='op'>=</span> <span class='string'>&quot;strerror$UNIX2003&quot;</span>)]</span>
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strerror</span>(<span class='ident'>n</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strtok</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>t</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>strxfrm</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_char</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>, <span class='ident'>n</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>wcslen</span>(<span class='ident'>buf</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>wchar_t</span>) <span class='op'>-&gt;</span> <span class='ident'>size_t</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>memcmp</span>(<span class='ident'>cx</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_void</span>, <span class='ident'>ct</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_void</span>, <span class='ident'>n</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>memchr</span>(<span class='ident'>cx</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_void</span>, <span class='ident'>c</span>: <span class='ident'>c_int</span>, <span class='ident'>n</span>: <span class='ident'>size_t</span>) <span class='op'>-&gt;</span> <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>c_void</span>;
}
<span class='comment'>// These are all inline functions on android, so they end up just being entirely</span>
<span class='comment'>// missing on that platform.</span>
<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>not</span>(<span class='ident'>target_os</span> <span class='op'>=</span> <span class='string'>&quot;android&quot;</span>))]</span>
<span class='kw'>extern</span> {
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>abs</span>(<span class='ident'>i</span>: <span class='ident'>c_int</span>) <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>atof</span>(<span class='ident'>s</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>c_char</span>) <span class='op'>-&gt;</span> <span class='ident'>c_double</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>labs</span>(<span class='ident'>i</span>: <span class='ident'>c_long</span>) <span class='op'>-&gt;</span> <span class='ident'>c_long</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>rand</span>() <span class='op'>-&gt;</span> <span class='ident'>c_int</span>;
<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>srand</span>(<span class='ident'>seed</span>: <span class='ident'>c_uint</span>);
}
<span class='macro'>cfg_if</span><span class='macro'>!</span> {
<span class='kw'>if</span> <span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>windows</span>)]</span> {
<span class='kw'>mod</span> <span class='ident'>windows</span>;
<span class='kw'>pub</span> <span class='kw'>use</span> <span class='ident'>windows</span>::<span class='op'>*</span>;
} <span class='kw'>else</span> <span class='kw'>if</span> <span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>unix</span>)]</span> {
<span class='kw'>mod</span> <span class='ident'>unix</span>;
<span class='kw'>pub</span> <span class='kw'>use</span> <span class='ident'>unix</span>::<span class='op'>*</span>;
} <span class='kw'>else</span> {
<span class='comment'>// Unknown target_family</span>
}
}
</pre>
</section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt>&larrb;</dt>
<dd>Move up in search results</dd>
<dt>&rarrb;</dt>
<dd>Move down in search results</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "libc";
window.playgroundUrl = "";
</script>
<script src="../../jquery.js"></script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>