mirror of
https://github.com/openharmony/third_party_rust_rustix.git
synced 2026-07-01 20:54:01 -04:00
5d9c62cc10
修复措施:升级rustix版本到0.38.16版本 Signed-off-by: ljy9810 <longjianyin@h-partners.com>
73 lines
1.9 KiB
Rust
73 lines
1.9 KiB
Rust
//! The linux_raw backend.
|
|
//!
|
|
//! This makes Linux syscalls directly, without going through libc.
|
|
//!
|
|
//! # Safety
|
|
//!
|
|
//! These files performs raw system calls, and sometimes passes them
|
|
//! uninitialized memory buffers. The signatures in this file are currently
|
|
//! manually maintained and must correspond with the signatures of the actual
|
|
//! Linux syscalls.
|
|
//!
|
|
//! Some of this could be auto-generated from the Linux header file
|
|
//! <linux/syscalls.h>, but we often need more information than it provides,
|
|
//! such as which pointers are array slices, out parameters, or in-out
|
|
//! parameters, which integers are owned or borrowed file descriptors, etc.
|
|
|
|
// Weak symbols used by the use-libc-auxv feature for glibc 2.15 support.
|
|
#[cfg(feature = "use-libc-auxv")]
|
|
#[macro_use]
|
|
mod weak;
|
|
|
|
#[macro_use]
|
|
mod arch;
|
|
mod conv;
|
|
mod elf;
|
|
mod reg;
|
|
#[cfg(any(feature = "time", target_arch = "x86"))]
|
|
mod vdso;
|
|
#[cfg(any(feature = "time", target_arch = "x86"))]
|
|
mod vdso_wrappers;
|
|
|
|
#[cfg(feature = "fs")]
|
|
pub(crate) mod fs;
|
|
pub(crate) mod io;
|
|
#[cfg(feature = "io_uring")]
|
|
pub(crate) mod io_uring;
|
|
#[cfg(feature = "mm")]
|
|
pub(crate) mod mm;
|
|
#[cfg(feature = "net")]
|
|
pub(crate) mod net;
|
|
#[cfg(any(
|
|
feature = "param",
|
|
feature = "runtime",
|
|
feature = "time",
|
|
target_arch = "x86",
|
|
))]
|
|
pub(crate) mod param;
|
|
pub(crate) mod process;
|
|
#[cfg(feature = "rand")]
|
|
pub(crate) mod rand;
|
|
#[cfg(feature = "runtime")]
|
|
pub(crate) mod runtime;
|
|
#[cfg(feature = "termios")]
|
|
pub(crate) mod termios;
|
|
#[cfg(feature = "thread")]
|
|
pub(crate) mod thread;
|
|
pub(crate) mod time;
|
|
|
|
#[cfg(feature = "std")]
|
|
pub(crate) mod fd {
|
|
pub use io_lifetimes::*;
|
|
#[allow(unused_imports)]
|
|
pub(crate) use std::os::unix::io::RawFd as LibcFd;
|
|
pub use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
|
|
}
|
|
|
|
#[cfg(not(feature = "std"))]
|
|
pub(crate) use crate::io::fd;
|
|
|
|
// The linux_raw backend doesn't use actual libc, so we define selected
|
|
// libc-like definitions in a module called `c`.
|
|
pub(crate) mod c;
|