<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `nix` crate."><metaname="keywords"content="rust, rustlang, rust-lang, nix"><title>nix - Rust</title><linkrel="stylesheet"type="text/css"href="../normalize.css"><linkrel="stylesheet"type="text/css"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../dark.css"><linkrel="stylesheet"type="text/css"href="../light.css"id="themeStyle"><scriptsrc="../storage.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="shortcut icon"href="../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><bodyclass="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../nix/index.html'><divclass='logo-container'><imgsrc='../rust-logo.png'alt='logo'></div></a><pclass='location'>Crate nix</p><divclass="sidebar-elems"><aid='all-types'href='all.html'><p>See all nix's items</p></a><divclass="block items"><ul><li><ahref="#reexports">Re-exports</a></li><li><ahref="#modules">Modules</a></li><li><ahref="#macros">Macros</a></li><li><ahref="#enums">Enums</a></li><li><ahref="#traits">Traits</a></li><li><ahref="#types">Type Definitions</a></li></ul></div><pclass='location'></p><script>window.sidebarCurrent={name:'nix',ty:'mod',relpath:'../'};</script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><aid="settings-menu"href="../settings.html"><imgsrc="../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class='fqn'><spanclass='out-of-band'><spanid='render-detail'><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass='inner'>−</span>]</a></span><aclass='srclink'href='../src/nix/lib.rs.html#1-284'title='goto source code'>[src]</a></span><spanclass='in-band'>Crate <aclass="mod"href=''>nix</a></span></h1><divclass='docblock'><p>Rust friendly bindings to the various *nix system functions.</p>
<p>Modules are structured according to the C header file that they would be
<table><trclass='module-item'><td><aclass="mod"href="dir/index.html"title='nix::dir mod'>dir</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="mod"href="errno/index.html"title='nix::errno mod'>errno</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="mod"href="fcntl/index.html"title='nix::fcntl mod'>fcntl</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="mod"href="features/index.html"title='nix::features mod'>features</a></td><tdclass='docblock-short'><p>Feature tests for OS functionality</p>
</td></tr><trclass='module-item'><td><aclass="mod"href="poll/index.html"title='nix::poll mod'>poll</a></td><tdclass='docblock-short'><p>Wait for events to trigger on specific file descriptors</p>
</td></tr><trclass='module-item'><td><aclass="mod"href="pty/index.html"title='nix::pty mod'>pty</a></td><tdclass='docblock-short'><p>Create master and slave virtual pseudo-terminals (PTYs)</p>
</td></tr><trclass='module-item'><td><aclass="mod"href="sched/index.html"title='nix::sched mod'>sched</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="mod"href="sys/index.html"title='nix::sys mod'>sys</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="mod"href="unistd/index.html"title='nix::unistd mod'>unistd</a></td><tdclass='docblock-short'><p>Safe wrappers around functions found in libc "unistd.h" header</p>
<table><trclass='module-item'><td><aclass="macro"href="macro.cmsg_space.html"title='nix::cmsg_space macro'>cmsg_space</a></td><tdclass='docblock-short'><p>Create a buffer large enough for storing some control messages as returned
by <ahref="fn.recvmsg.html"><code>recvmsg</code></a>.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_none.html"title='nix::ioctl_none macro'>ioctl_none</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that passes no data to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_none_bad.html"title='nix::ioctl_none_bad macro'>ioctl_none_bad</a></td><tdclass='docblock-short'><p>Generates a wrapper function for a "bad" ioctl that passes no data to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_read.html"title='nix::ioctl_read macro'>ioctl_read</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that reads data from the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_read_bad.html"title='nix::ioctl_read_bad macro'>ioctl_read_bad</a></td><tdclass='docblock-short'><p>Generates a wrapper function for a "bad" ioctl that reads data from the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_read_buf.html"title='nix::ioctl_read_buf macro'>ioctl_read_buf</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that reads an array of elements from the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_readwrite.html"title='nix::ioctl_readwrite macro'>ioctl_readwrite</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that reads and writes data to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_readwrite_bad.html"title='nix::ioctl_readwrite_bad macro'>ioctl_readwrite_bad</a></td><tdclass='docblock-short'><p>Generates a wrapper function for a "bad" ioctl that reads and writes data to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_readwrite_buf.html"title='nix::ioctl_readwrite_buf macro'>ioctl_readwrite_buf</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that reads and writes an array of elements to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_write_buf.html"title='nix::ioctl_write_buf macro'>ioctl_write_buf</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that writes an array of elements to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_write_int.html"title='nix::ioctl_write_int macro'>ioctl_write_int</a></td><tdclass='docblock-short'><p>Generates a wrapper function for a ioctl that writes an integer to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_write_int_bad.html"title='nix::ioctl_write_int_bad macro'>ioctl_write_int_bad</a></td><tdclass='docblock-short'><p>Generates a wrapper function for a "bad" ioctl that writes an integer to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_write_ptr.html"title='nix::ioctl_write_ptr macro'>ioctl_write_ptr</a></td><tdclass='docblock-short'><p>Generates a wrapper function for an ioctl that writes data through a pointer to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.ioctl_write_ptr_bad.html"title='nix::ioctl_write_ptr_bad macro'>ioctl_write_ptr_bad</a></td><tdclass='docblock-short'><p>Generates a wrapper function for a "bad" ioctl that writes data through a pointer to the kernel.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.request_code_none.html"title='nix::request_code_none macro'>request_code_none</a></td><tdclass='docblock-short'><p>Generate an ioctl request code for a command that passes no data.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.request_code_read.html"title='nix::request_code_read macro'>request_code_read</a></td><tdclass='docblock-short'><p>Generate an ioctl request code for a command that reads.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.request_code_readwrite.html"title='nix::request_code_readwrite macro'>request_code_readwrite</a></td><tdclass='docblock-short'><p>Generate an ioctl request code for a command that reads and writes.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.request_code_write.html"title='nix::request_code_write macro'>request_code_write</a></td><tdclass='docblock-short'><p>Generate an ioctl request code for a command that writes.</p>
</td></tr><trclass='module-item'><td><aclass="macro"href="macro.request_code_write_int.html"title='nix::request_code_write_int macro'>request_code_write_int</a></td><tdclass='docblock-short'><p>Generate an ioctl request code for a command that passes an integer</p>
<table><trclass='module-item'><td><aclass="type"href="type.Result.html"title='nix::Result type'>Result</a></td><tdclass='docblock-short'><p>Nix Result Type</p>
</td></tr></table></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="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><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../";window.currentCrate="nix";</script><scriptsrc="../aliases.js"></script><scriptsrc="../main.js"></script><scriptdefersrc="../search-index.js"></script></body></html>