Initial import of p9 rust crate am: 376f07e4cc am: 3416efc4d8 am: 082a1c3c35

Original change: https://android-review.googlesource.com/c/platform/external/vm_tools/p9/+/1468198

Change-Id: Ib4699fa37bae1ce40de9bf60690829f3501ce04a
tree: 9918ff34d4bf62f4a02ea8f4ea57cf97cfe8250b
  1. fuzz/
  2. src/
  3. wire_format_derive/
  4. .clang-format
  5. .gitignore
  6. Cargo.toml
  7. LICENSE
  8. METADATA
  9. MODULE_LICENSE_BSD
  10. OWNERS
  11. README.md
README.md

p9 - Server implementation of the 9p file system protocol

This directory contains the protocol definition and a server implementation of the 9p file system protocol.

  • wire_format_derive - A procedural macro that derives the serialization and de-serialization implementation for a struct into the 9p wire format.
  • src/protocol - Defines all the messages used in the 9p protocol. Also implements serialization and de-serialization for some base types (integers, strings, vectors) that form the foundation of all 9p messages. Wire format implementations for all other messages are derived using the wire_format_derive macro.
  • src/server.rs - Implements a full 9p server, carrying out file system requests on behalf of clients.