Crate rustdoc_index

source ·
Expand description

This API documentation is for development of the Fuchsia platform. For a stable public API for building on Fuchsia see the Fuchsia SDK docs.

Note: The search bar only gives results for the current instance, so make sure to navigate to the Fuchsia (https://fuchsia.dev/go/rustdoc) or host (https://fuchsia.dev/go/rustdoc/host) instance before searching.

§Development

Follow these instructions to test changes to these docs locally, and read this guide on how to write great Rust documentation.

If you’re having an issue with missing or broken docs on this site, file a bug here.

§Fuchsia Rust Crates

§General

  • fuchsia

    Macros for creating Fuchsia components and tests. These macros work on Fuchsia, and also on host with some limitations (that are called out where they exist).

  • fuchsia_component

    Support library for implementing Fuchsia components.

  • fuchsia_component_test

    The Realm Builder library exists to facilitate integration testing of components by allowing for the run-time construction of realms and mocked components specific to individual test cases. For more information on how to use this library, see Realm Builder

  • fuchsia_async/

    Futures executor and asynchronous primitives (Channel, Socket, Fifo, etc.). This crate works on Fuchsia and host Operating Systems and allows you to use Overnet for RCS and ffx.

  • async_utils

    Provides utilities for working with asynchronous code.

  • async_helpers

    This library contains helpers crates to handle things such as hanging gets.

  • zx

    Rust language bindings for Zircon kernel syscalls.

  • fdio

    Wrapper over fdio library.

  • fuchsia_runtime

    Type-safe bindings for Fuchsia-specific libc functionality. This crate is a minimal extension on top of the fuchsia-zircon crate, which provides bindings to the Zircon kernel’s syscalls, but does not depend on functionality from libc.

  • mapped_vmo

    A convenience crate for Zircon VMO objects mapped into memory.

  • mem_util

    Utilities for working with the fuchsia.mem FIDL library. This crate is not very widely used.

  • shared_buffer

    Utilities for safely operating on memory shared between untrusting processes.

  • fidl

    Library and runtime for FIDL bindings. For more information about FIDL, see FIDL Overview

  • flyweights

    Types implementing the flyweight pattern for reusing object allocations.

§Packages

  • fuchsia_archive

    Work with Fuchsia Archives (FARs)

  • fuchsia_pkg

    Library that lets you work with Fuchsia packages which are a hierarchical collection of files that provides one or more programs, components or services to a Fuchsia system.

  • fuchsia-merkle

    Protect and verify data blobs using Merkle Trees

§Testing

  • diagnostics_log

    Rust interface to the Fuchsia Logging System. This library isn’t Fuchsia-specific and can be used on the host.

  • diagnostics_reader

    Utility to let you read metrics and logs. This is useful for creating tests.

  • fuchsia_trace

    A safe Rust interface to Fuchsia’s tracing interface.

  • fuchsia_criterion

    Thin wrapper crate around the Criterion benchmark suite{: .external}. This generates benchmark metrics for infrastructure from criterion benches.

  • fuchsiaperf

    A library that defines the JSON schema for benchmark metrics.

  • fuchsia_inspect

    Components in Fuchsia may expose structured information about themselves conforming to the Inspect API. This crate is the core library for writing inspect data in Rust components. For a comprehensive guide on how to start using inspect, please refer to the codelab.

  • fuchsia_inspect_contrib

    This library is intended for contributions to the inspect library from clients.

§Graphics

§Storage

  • storage

    Bindings and protocol for serving filesystems on the Fuchsia platform

    A library to create “pseudo” file systems. These file systems are backed by in process callbacks. Examples are: component configuration, debug information or statistics.

    A library to access a file system directory.

    A library to us Fxfs which is a log-structured filesystem for Fuchsia.

  • fuchsia-fs

    Wrapper library for fuchsia.io operations, such as reading and writing files, reading directory entries, and watching directories.

§Networking

  • fuchsia_hyper

    A library that lets you create a Fuchsia-compatible hyper client for making HTTP requests.

  • fuchsia_bluetooth

    Utilities for Bluetooth development.

§Miscellaneous

  • mundane

    A Rust crypto library backed by BoringSSL