[roll] Roll fuchsia [fdio][zxio] Move zxio type to posix conversions into zxio

Both fdio and zxio are interested in the POSIX mode bits associated with
a given I/O object. fdio has to set the st_mode field for stat()
operations on a file descriptor based on the object's type and
abilities. zxio has to internally compute this value to populate the
mode field in fuchsia.io/NodeAttributes. This moves the type specific
logic for computing the mode into zxio and removes the fdio 'dir' type,
which existed only to compute a directory-specific mode value.

The fuchsia.io2 definition of node attributes is defined independently
of POSIX. If / when we move to this definition, we can move the type
translations from zxio up to fdio.

This also moves the definition of zxio_get_posix_mode to a dedicated
header file. This provides a pure C definition for callers that need it
(such as Rust bindgen) and makes it easier to track down users for the
eventual attributes cleanup.

Original-Bug: 43267
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/541941
Original-Revision: cf121f991312580dfc13c59cbe1e0c002cd5c83c
GitOrigin-RevId: fb5504a00954d511b1f3b0993a623480680b3c05
Change-Id: I498941530719c891c8183b02f04f1c1b93dcb2a4
1 file changed
tree: c444f729c90c0e5deae19e1d96868d1547ab6324
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. firmware
  8. flower
  9. jiri.lock
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.