# Module std::os::wasi

1.0.0 · source ·
Available on WASI only.
Expand description

Platform-specific extensions to `std` for the WebAssembly System Interface (WASI).

Provides access to platform-level information on WASI, and exposes WASI-specific functions that would otherwise be inappropriate as part of the core `std` library.

It exposes more ways to deal with platform-specific strings (`OsStr`, `OsString`), allows to set permissions more granularly, extract low-level file descriptors from files and sockets, and has platform-specific helpers for spawning processes.

## Examples

    use std::fs::File;
    use std::os::wasi::prelude::*;

    fn main() -> std::io::Result<()> {
        let f = File::create("foo.txt")?;
        let fd = f.as_raw_fd();

        // use fd with native WASI bindings

        Ok(())
    }

Run

## Modules

- fs Experimental
  WASI-specific extensions to primitives in the `std::fs` module.
- net Experimental
  WASI-specific networking functionality
- ffi
  WASI-specific extensions to primitives in the `std::ffi` module
- io
  WASI-specific extensions to general I/O primitives.
- prelude
  A prelude for conveniently writing platform-specific code.