[io][vfs] Add new POSIX open flags.

Adds OPEN_FLAG_POSIX_WRITABLE and OPEN_FLAG_POSIX_EXECUTABLE.

Whitelist flag where required, and update VFS implementations to support
both old and new flags.

Notably, the old flag is not expanded to the new flags yet in all
cases due to binary incompatibility. This will be addressed in a
subsequent change when a new SDK and binaries have rolled.

Update Rust tests to ensure whitelisted flag is removed.

Bug: 40862
Tested: Built+Ran. Updated unit tests.
Change-Id: I44fd044eb0a1aab2a34272f7b6f79d167aa5de6c
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/542887
Reviewed-by: Chris Suter <csuter@google.com>
Reviewed-by: Manali Bhutiyani <manalib@google.com>
Reviewed-by: Abdulla Kamar <abdulla@google.com>
API-Review: Manali Bhutiyani <manalib@google.com>
Commit-Queue: Brandon Castellano <bcastell@google.com>
28 files changed
tree: 0d68645157950351db2f2cf7ef66b94838a02656
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. 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.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.