Files
phy/nix/index.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

42 lines
12 KiB
HTML
Raw Permalink 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="Rust friendly bindings to the various *nix system functions."><title>nix - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="nix" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../static.files/storage-59e33391.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../nix/index.html">nix</a><span class="version">0.29.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#features" title="Features">Features</a></li></ul><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#traits" title="Traits">Traits</a></li><li><a href="#types" title="Type Aliases">Type Aliases</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>nix</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/nix/lib.rs.html#1-382">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="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
defined in.</p>
<h2 id="features"><a class="doc-anchor" href="#features">§</a>Features</h2>
<p>Nix uses the following Cargo features to enable optional functionality.
They may be enabled in any combination.</p>
<ul>
<li><code>acct</code> - Process accounting</li>
<li><code>aio</code> - POSIX AIO</li>
<li><code>dir</code> - Stuff relating to directory iteration</li>
<li><code>env</code> - Manipulate environment variables</li>
<li><code>event</code> - Event-driven APIs, like <code>kqueue</code> and <code>epoll</code></li>
<li><code>fanotify</code> - Linuxs <code>fanotify</code> filesystem events monitoring API</li>
<li><code>feature</code> - Query characteristics of the OS at runtime</li>
<li><code>fs</code> - File system functionality</li>
<li><code>hostname</code> - Get and set the systems hostname</li>
<li><code>inotify</code> - Linuxs <code>inotify</code> file system notification API</li>
<li><code>ioctl</code> - The <code>ioctl</code> syscall, and wrappers for many specific instances</li>
<li><code>kmod</code> - Load and unload kernel modules</li>
<li><code>mman</code> - Stuff relating to memory management</li>
<li><code>mount</code> - Mount and unmount file systems</li>
<li><code>mqueue</code> - POSIX message queues</li>
<li><code>net</code> - Networking-related functionality</li>
<li><code>personality</code> - Set the process execution domain</li>
<li><code>poll</code> - APIs like <code>poll</code> and <code>select</code></li>
<li><code>process</code> - Stuff relating to running processes</li>
<li><code>pthread</code> - POSIX threads</li>
<li><code>ptrace</code> - Process tracing and debugging</li>
<li><code>quota</code> - File system quotas</li>
<li><code>reboot</code> - Reboot the system</li>
<li><code>resource</code> - Process resource limits</li>
<li><code>sched</code> - Manipulate processs scheduling</li>
<li><code>socket</code> - Sockets, whether for networking or local use</li>
<li><code>signal</code> - Send and receive signals to processes</li>
<li><code>term</code> - Terminal control APIs</li>
<li><code>time</code> - Query the operating systems clocks</li>
<li><code>ucontext</code> - User thread context</li>
<li><code>uio</code> - Vectored I/O</li>
<li><code>user</code> - Stuff relating to users and groups</li>
<li><code>zerocopy</code> - APIs like <code>sendfile</code> and <code>copy_file_range</code></li>
</ul>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.libc"><code>pub use <a class="mod" href="../libc/index.html" title="mod libc">libc</a>;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="errno/index.html" title="mod nix::errno">errno</a></div><div class="desc docblock-short">Safe wrappers around errno functions</div></li><li><div class="item-name"><a class="mod" href="fcntl/index.html" title="mod nix::fcntl">fcntl</a></div><div class="desc docblock-short">file control options</div></li><li><div class="item-name"><a class="mod" href="sys/index.html" title="mod nix::sys">sys</a></div><div class="desc docblock-short">Mostly platform-specific functionality</div></li><li><div class="item-name"><a class="mod" href="unistd/index.html" title="mod nix::unistd">unistd</a></div><div class="desc docblock-short">Safe wrappers around functions found in libc “unistd.h” header</div></li></ul><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="macro" href="macro.ioctl_none.html" title="macro nix::ioctl_none">ioctl_<wbr>none</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that passes no data to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_none_bad.html" title="macro nix::ioctl_none_bad">ioctl_<wbr>none_<wbr>bad</a></div><div class="desc docblock-short">Generates a wrapper function for a “bad” ioctl that passes no data to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_read.html" title="macro nix::ioctl_read">ioctl_<wbr>read</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that reads data from the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_read_bad.html" title="macro nix::ioctl_read_bad">ioctl_<wbr>read_<wbr>bad</a></div><div class="desc docblock-short">Generates a wrapper function for a “bad” ioctl that reads data from the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_read_buf.html" title="macro nix::ioctl_read_buf">ioctl_<wbr>read_<wbr>buf</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that reads an array of elements from the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_readwrite.html" title="macro nix::ioctl_readwrite">ioctl_<wbr>readwrite</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that reads and writes data to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_readwrite_bad.html" title="macro nix::ioctl_readwrite_bad">ioctl_<wbr>readwrite_<wbr>bad</a></div><div class="desc docblock-short">Generates a wrapper function for a “bad” ioctl that reads and writes data to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_readwrite_buf.html" title="macro nix::ioctl_readwrite_buf">ioctl_<wbr>readwrite_<wbr>buf</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that reads and writes an array of elements to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_write_buf.html" title="macro nix::ioctl_write_buf">ioctl_<wbr>write_<wbr>buf</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that writes an array of elements to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_write_int.html" title="macro nix::ioctl_write_int">ioctl_<wbr>write_<wbr>int</a></div><div class="desc docblock-short">Generates a wrapper function for a ioctl that writes an integer to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_write_int_bad.html" title="macro nix::ioctl_write_int_bad">ioctl_<wbr>write_<wbr>int_<wbr>bad</a></div><div class="desc docblock-short">Generates a wrapper function for a “bad” ioctl that writes an integer to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_write_ptr.html" title="macro nix::ioctl_write_ptr">ioctl_<wbr>write_<wbr>ptr</a></div><div class="desc docblock-short">Generates a wrapper function for an ioctl that writes data through a pointer to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.ioctl_write_ptr_bad.html" title="macro nix::ioctl_write_ptr_bad">ioctl_<wbr>write_<wbr>ptr_<wbr>bad</a></div><div class="desc docblock-short">Generates a wrapper function for a “bad” ioctl that writes data through a pointer to the kernel.</div></li><li><div class="item-name"><a class="macro" href="macro.request_code_none.html" title="macro nix::request_code_none">request_<wbr>code_<wbr>none</a></div><div class="desc docblock-short">Generate an ioctl request code for a command that passes no data.</div></li><li><div class="item-name"><a class="macro" href="macro.request_code_read.html" title="macro nix::request_code_read">request_<wbr>code_<wbr>read</a></div><div class="desc docblock-short">Generate an ioctl request code for a command that reads.</div></li><li><div class="item-name"><a class="macro" href="macro.request_code_readwrite.html" title="macro nix::request_code_readwrite">request_<wbr>code_<wbr>readwrite</a></div><div class="desc docblock-short">Generate an ioctl request code for a command that reads and writes.</div></li><li><div class="item-name"><a class="macro" href="macro.request_code_write.html" title="macro nix::request_code_write">request_<wbr>code_<wbr>write</a></div><div class="desc docblock-short">Generate an ioctl request code for a command that writes.</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.NixPath.html" title="trait nix::NixPath">NixPath</a></div><div class="desc docblock-short">Common trait used to represent file system paths by many Nix functions.</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.Error.html" title="type nix::Error">Error</a></div><div class="desc docblock-short">Nixs main error type.</div></li><li><div class="item-name"><a class="type" href="type.Result.html" title="type nix::Result">Result</a></div><div class="desc docblock-short">Nix Result Type</div></li></ul></section></div></main></body></html>