crosvm/common/p9
Dennis Kempin a5b7caa506 Import cros-fuzz and p9 into crosvm/common
This CL contains a 1:1 copy of the code from the platform2 repo.
The follow-up CL will integrate them with the crosvm build.
History of these files is available at:
267497a7f7/cros-fuzz
267497a7f7/vm_tools/p9

This is a prerequisite for the externalization of crosvm.

BUG=b:191509642,b:193243281
TEST=None. This is dead code.

Change-Id: Ia25d9642f2de1febc83bcd48b4b81fcd805c7c1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3049670
Tested-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
2021-08-03 02:25:01 +00:00
..
fuzz Import cros-fuzz and p9 into crosvm/common 2021-08-03 02:25:01 +00:00
src Import cros-fuzz and p9 into crosvm/common 2021-08-03 02:25:01 +00:00
wire_format_derive Import cros-fuzz and p9 into crosvm/common 2021-08-03 02:25:01 +00:00
Cargo.toml Import cros-fuzz and p9 into crosvm/common 2021-08-03 02:25:01 +00:00
README.md Import cros-fuzz and p9 into crosvm/common 2021-08-03 02:25:01 +00:00

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.