[fuchsia-runtime] add HandleId type for startup handles

In C, PA_HND creates a handle id that contains a handle type an an
optional argument. In rust, the create_handle_id function did the same
thing as PA_HND, but it returned a simple u32, which couldn't be used
with any of the rust functions that took a variant of HandleType. The
equivalent C functions that take a handle type also take that optional
argument.

This creates a type HandleId, which is a struct with a u32 element,
created by HandleId::create (renamed from create_handle_id). Functions
that took a HandleType are changed to take a HandleId instead. A
From<HandleType> implementation is provided for HandleId, which sets the
argument to 0.

Change-Id: I31293e7f6d783317ce2701eb9ad2205c64f82ac7
5 files changed
tree: a75552e1bcdd12c8900e75b02e5e86034f052464
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. infra/
  9. peridot/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .dir-locals.el
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. LICENSE
  28. OWNERS
  29. PATENTS
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.