Wrap access to errno, for use in the block layer and character device bindings.
Supersedes: <20250212093958.3703269-1-pbonz...@redhat.com> v1->v2: - use the libc crate - provide separate From<Errno> implementation for io::ErrorKind - hide GetErrno trait inside a submodule - add into_neg_errno() and corresponding tests - add more doctests - make Errno field public, so that Errno can have other From<...> implementations (e.g. going from *mut Error to Errno). Paolo Bonzini (2): rust: subprojects: add libc crate rust: add module to convert between -errno and io::Error rust/Cargo.lock | 7 + rust/qemu-api/Cargo.toml | 1 + rust/qemu-api/meson.build | 4 + rust/qemu-api/src/assertions.rs | 28 ++ rust/qemu-api/src/errno.rs | 342 ++++++++++++++++++ rust/qemu-api/src/lib.rs | 1 + rust/qemu-api/src/prelude.rs | 2 + scripts/archive-source.sh | 2 +- scripts/make-release | 2 +- subprojects/libc-0.2-rs.wrap | 7 + .../packagefiles/libc-0.2-rs/meson.build | 36 ++ 11 files changed, 430 insertions(+), 2 deletions(-) create mode 100644 rust/qemu-api/src/errno.rs create mode 100644 subprojects/libc-0.2-rs.wrap create mode 100644 subprojects/packagefiles/libc-0.2-rs/meson.build -- 2.48.1