mirror of
https://github.com/openharmony/third_party_rust_libc.git
synced 2026-07-01 21:34:09 -04:00
+18
-18
@@ -1,23 +1,9 @@
|
||||
task:
|
||||
name: nightly x86_64-unknown-freebsd-12
|
||||
freebsd_instance:
|
||||
image: freebsd-12-4-release-amd64
|
||||
setup_script:
|
||||
- pkg install -y curl
|
||||
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||
- sh rustup.sh --default-toolchain nightly -y --profile=minimal
|
||||
- . $HOME/.cargo/env
|
||||
test_script:
|
||||
- . $HOME/.cargo/env
|
||||
- LIBC_CI=1 sh ci/run.sh x86_64-unknown-freebsd
|
||||
- sh ci/run.sh x86_64-unknown-freebsd
|
||||
|
||||
task:
|
||||
name: nightly x86_64-unknown-freebsd-13
|
||||
freebsd_instance:
|
||||
image: freebsd-13-1-release-amd64
|
||||
image_family: freebsd-13-2
|
||||
setup_script:
|
||||
- pkg install -y curl
|
||||
- pkg install -y libnghttp2 curl
|
||||
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||
- sh rustup.sh -y --default-toolchain nightly --profile=minimal
|
||||
- . $HOME/.cargo/env
|
||||
@@ -29,9 +15,23 @@ task:
|
||||
task:
|
||||
name: nightly x86_64-unknown-freebsd-14
|
||||
freebsd_instance:
|
||||
image: freebsd-14-0-current-amd64-v20220902
|
||||
image: freebsd-14-0-release-amd64-ufs
|
||||
setup_script:
|
||||
- pkg install -y curl
|
||||
- pkg install -y libnghttp2 curl
|
||||
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||
- sh rustup.sh -y --default-toolchain nightly --profile=minimal
|
||||
- . $HOME/.cargo/env
|
||||
test_script:
|
||||
- . $HOME/.cargo/env
|
||||
- LIBC_CI=1 sh ci/run.sh x86_64-unknown-freebsd
|
||||
- sh ci/run.sh x86_64-unknown-freebsd
|
||||
|
||||
task:
|
||||
name: nightly x86_64-unknown-freebsd-15
|
||||
freebsd_instance:
|
||||
image_family: freebsd-15-0-snap
|
||||
setup_script:
|
||||
- pkg install -y libnghttp2 curl
|
||||
- curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||
- sh rustup.sh -y --default-toolchain nightly --profile=minimal
|
||||
- . $HOME/.cargo/env
|
||||
|
||||
@@ -21,7 +21,7 @@ ohos_cargo_crate("lib") {
|
||||
|
||||
sources = [ "src/lib.rs" ]
|
||||
edition = "2015"
|
||||
cargo_pkg_version = "0.2.139"
|
||||
cargo_pkg_version = "0.2.153"
|
||||
cargo_pkg_authors = "The Rust Project Developers"
|
||||
cargo_pkg_name = "libc"
|
||||
features = [
|
||||
|
||||
+8
-1
@@ -3,6 +3,13 @@
|
||||
Welcome! If you are reading this document, it means you are interested in contributing
|
||||
to the `libc` crate.
|
||||
|
||||
## v0.2 changes
|
||||
|
||||
If you want to add your changes to v0.2, please submit them to the `libc-0.2` branch.
|
||||
If you want to add any breaking changes, it should be submitted to the main branch,
|
||||
which has changes for v0.3.
|
||||
We will support and make a new release for v0.2 until we make the first release of v0.3.
|
||||
|
||||
## Adding an API
|
||||
|
||||
Want to use an API which currently isn't bound in `libc`? It's quite easy to add
|
||||
@@ -54,7 +61,7 @@ We have two automated tests running on [GitHub Actions](https://github.com/rust-
|
||||
- `cd libc-test && cargo test`
|
||||
- Use the `skip_*()` functions in `build.rs` if you really need a workaround.
|
||||
2. Style checker
|
||||
- `rustc ci/style.rs && ./style src`
|
||||
- [`sh ci/style.sh`](https://github.com/rust-lang/libc/blob/main/ci/style.sh)
|
||||
|
||||
## Breaking change policy
|
||||
|
||||
|
||||
+114
-3
@@ -1,13 +1,13 @@
|
||||
[package]
|
||||
name = "libc"
|
||||
version = "0.2.139"
|
||||
version = "0.2.153"
|
||||
authors = ["The Rust Project Developers"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/rust-lang/libc"
|
||||
homepage = "https://github.com/rust-lang/libc"
|
||||
documentation = "https://docs.rs/libc/"
|
||||
keywords = ["libc", "ffi", "bindings", "operating", "system" ]
|
||||
keywords = ["libc", "ffi", "bindings", "operating", "system"]
|
||||
categories = ["external-ffi-bindings", "no-std", "os"]
|
||||
build = "build.rs"
|
||||
exclude = ["/ci/*", "/.github/*", "/.cirrus.yml", "/triagebot.toml"]
|
||||
@@ -17,6 +17,117 @@ Raw FFI bindings to platform libraries like libc.
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = ["const-extern-fn", "extra_traits"]
|
||||
default-target = "x86_64-unknown-linux-gnu"
|
||||
targets = [
|
||||
"aarch64-apple-darwin",
|
||||
"aarch64-apple-ios",
|
||||
"aarch64-linux-android",
|
||||
"aarch64-pc-windows-msvc",
|
||||
"aarch64-unknown-freebsd",
|
||||
"aarch64-unknown-fuchsia",
|
||||
"aarch64-unknown-hermit",
|
||||
"aarch64-unknown-linux-gnu",
|
||||
"aarch64-unknown-linux-musl",
|
||||
"aarch64-unknown-netbsd",
|
||||
"aarch64-unknown-openbsd",
|
||||
"aarch64-wrs-vxworks",
|
||||
"arm-linux-androideabi",
|
||||
"arm-unknown-linux-gnueabi",
|
||||
"arm-unknown-linux-gnueabihf",
|
||||
"arm-unknown-linux-musleabi",
|
||||
"arm-unknown-linux-musleabihf",
|
||||
"armebv7r-none-eabi",
|
||||
"armebv7r-none-eabihf",
|
||||
"armv5te-unknown-linux-gnueabi",
|
||||
"armv5te-unknown-linux-musleabi",
|
||||
"armv7-linux-androideabi",
|
||||
"armv7-unknown-linux-gnueabihf",
|
||||
"armv7-unknown-linux-musleabihf",
|
||||
"armv7-wrs-vxworks-eabihf",
|
||||
"armv7r-none-eabi",
|
||||
"armv7r-none-eabihf",
|
||||
"hexagon-unknown-linux-musl",
|
||||
"i586-pc-windows-msvc",
|
||||
"i586-unknown-linux-gnu",
|
||||
"i586-unknown-linux-musl",
|
||||
"i686-linux-android",
|
||||
"i686-pc-windows-gnu",
|
||||
"i686-pc-windows-msvc",
|
||||
"i686-pc-windows-msvc",
|
||||
"i686-unknown-freebsd",
|
||||
"i686-unknown-haiku",
|
||||
"i686-unknown-linux-gnu",
|
||||
"i686-unknown-linux-musl",
|
||||
"i686-unknown-netbsd",
|
||||
"i686-unknown-openbsd",
|
||||
"i686-wrs-vxworks",
|
||||
"mips-unknown-linux-gnu",
|
||||
"mips-unknown-linux-musl",
|
||||
"mips64-unknown-linux-gnuabi64",
|
||||
"mips64-unknown-linux-muslabi64",
|
||||
"mips64el-unknown-linux-gnuabi64",
|
||||
"mips64el-unknown-linux-muslabi64",
|
||||
"mipsel-sony-psp",
|
||||
"mipsel-unknown-linux-gnu",
|
||||
"mipsel-unknown-linux-musl",
|
||||
"nvptx64-nvidia-cuda",
|
||||
"powerpc-unknown-linux-gnu",
|
||||
"powerpc-unknown-linux-gnuspe",
|
||||
"powerpc-unknown-netbsd",
|
||||
"powerpc-wrs-vxworks",
|
||||
"powerpc-wrs-vxworks-spe",
|
||||
"powerpc64-unknown-freebsd",
|
||||
"powerpc64-unknown-linux-gnu",
|
||||
"powerpc64-wrs-vxworks",
|
||||
"powerpc64le-unknown-linux-gnu",
|
||||
"riscv32gc-unknown-linux-gnu",
|
||||
"riscv32i-unknown-none-elf",
|
||||
"riscv32imac-unknown-none-elf",
|
||||
"riscv32imc-unknown-none-elf",
|
||||
"riscv64gc-unknown-freebsd",
|
||||
"riscv64gc-unknown-hermit",
|
||||
"riscv64gc-unknown-linux-gnu",
|
||||
"riscv64gc-unknown-linux-musl",
|
||||
"riscv64gc-unknown-none-elf",
|
||||
"riscv64imac-unknown-none-elf",
|
||||
"s390x-unknown-linux-gnu",
|
||||
"s390x-unknown-linux-musl",
|
||||
"sparc-unknown-linux-gnu",
|
||||
"sparc64-unknown-linux-gnu",
|
||||
"sparc64-unknown-netbsd",
|
||||
"sparcv9-sun-solaris",
|
||||
"thumbv6m-none-eabi",
|
||||
"thumbv7em-none-eabi",
|
||||
"thumbv7em-none-eabihf",
|
||||
"thumbv7m-none-eabi",
|
||||
"thumbv7neon-linux-androideabi",
|
||||
"thumbv7neon-unknown-linux-gnueabihf",
|
||||
"wasm32-unknown-emscripten",
|
||||
"wasm32-unknown-unknown",
|
||||
"wasm32-wasi",
|
||||
"x86_64-apple-darwin",
|
||||
"x86_64-apple-ios",
|
||||
"x86_64-fortanix-unknown-sgx",
|
||||
"x86_64-linux-android",
|
||||
"x86_64-pc-solaris",
|
||||
"x86_64-pc-windows-gnu",
|
||||
"x86_64-pc-windows-msvc",
|
||||
"x86_64-unknown-dragonfly",
|
||||
"x86_64-unknown-freebsd",
|
||||
"x86_64-unknown-fuchsia",
|
||||
"x86_64-unknown-haiku",
|
||||
"x86_64-unknown-hermit",
|
||||
"x86_64-unknown-illumos",
|
||||
"x86_64-unknown-l4re-uclibc",
|
||||
"x86_64-unknown-linux-gnu",
|
||||
"x86_64-unknown-linux-gnux32",
|
||||
"x86_64-unknown-linux-musl",
|
||||
"x86_64-unknown-netbsd",
|
||||
"x86_64-unknown-openbsd",
|
||||
"x86_64-unknown-redox",
|
||||
"x86_64-wrs-vxworks"
|
||||
]
|
||||
cargo-args = ["-Zbuild-std=core"]
|
||||
|
||||
[dependencies]
|
||||
rustc-std-workspace-core = { version = "1.0.0", optional = true }
|
||||
@@ -29,7 +140,7 @@ rustc-dep-of-std = ['align', 'rustc-std-workspace-core']
|
||||
extra_traits = []
|
||||
const-extern-fn = []
|
||||
# use_std is deprecated, use `std` instead
|
||||
use_std = [ 'std' ]
|
||||
use_std = ['std']
|
||||
|
||||
[workspace]
|
||||
members = ["libc-test"]
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"Name": "libc",
|
||||
"License": "Apache License V2.0, MIT",
|
||||
"License File": "LICENSE-APACHE, LICENSE-MIT",
|
||||
"Version Number": "0.2.139",
|
||||
"Version Number": "0.2.153",
|
||||
"Owner": "fangting12@huawei.com",
|
||||
"Upstream URL": "https://github.com/rust-lang/libc",
|
||||
"Description": "A Rust library that provides bindings to the C standard library."
|
||||
|
||||
@@ -14,7 +14,16 @@ of all the exported APIs match the platform that libc is compiled for.
|
||||
More detailed information about the design of this library can be found in its
|
||||
[associated RFC][rfc].
|
||||
|
||||
[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1291-promote-libc.md
|
||||
[rfc]: https://github.com/rust-lang/rfcs/blob/HEAD/text/1291-promote-libc.md
|
||||
|
||||
## v0.3 Roadmap
|
||||
|
||||
The main branch is now for v0.3 which has some breaking changes.
|
||||
|
||||
For v0.2, please submit PRs to the `libc-0.2` branch instead.
|
||||
We will stop making new v0.2 releases once we release v0.3 on crates.io.
|
||||
|
||||
See the [tracking issue](https://github.com/rust-lang/libc/issues/3248) for details.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -60,10 +69,10 @@ newer Rust features are only available on newer Rust toolchains:
|
||||
|
||||
## Platform support
|
||||
|
||||
[Platform-specific documentation (master branch)][docs.master].
|
||||
You can see the platform(target)-specific docs on [docs.rs], select a platform you want to see.
|
||||
|
||||
See
|
||||
[`ci/build.sh`](https://github.com/rust-lang/libc/blob/master/ci/build.sh)
|
||||
[`ci/build.sh`](https://github.com/rust-lang/libc/blob/HEAD/ci/build.sh)
|
||||
for the platforms on which `libc` is guaranteed to build for each Rust
|
||||
toolchain. The test-matrix at [GitHub Actions] and [Cirrus CI] show the
|
||||
platforms in which `libc` tests are run.
|
||||
@@ -75,10 +84,10 @@ platforms in which `libc` tests are run.
|
||||
This project is licensed under either of
|
||||
|
||||
* [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
||||
([LICENSE-APACHE](https://github.com/rust-lang/libc/blob/master/LICENSE-APACHE))
|
||||
([LICENSE-APACHE](https://github.com/rust-lang/libc/blob/HEAD/LICENSE-APACHE))
|
||||
|
||||
* [MIT License](https://opensource.org/licenses/MIT)
|
||||
([LICENSE-MIT](https://github.com/rust-lang/libc/blob/master/LICENSE-MIT))
|
||||
([LICENSE-MIT](https://github.com/rust-lang/libc/blob/HEAD/LICENSE-MIT))
|
||||
|
||||
at your option.
|
||||
|
||||
@@ -87,7 +96,7 @@ at your option.
|
||||
We welcome all people who want to contribute. Please see the [contributing
|
||||
instructions] for more information.
|
||||
|
||||
[contributing instructions]: https://github.com/rust-lang/libc/blob/master/CONTRIBUTING.md
|
||||
[contributing instructions]: https://github.com/rust-lang/libc/blob/HEAD/CONTRIBUTING.md
|
||||
|
||||
Contributions in any form (issues, pull requests, etc.) to this project
|
||||
must adhere to Rust's [Code of Conduct].
|
||||
@@ -107,4 +116,3 @@ dual licensed as above, without any additional terms or conditions.
|
||||
[Documentation]: https://docs.rs/libc/badge.svg
|
||||
[docs.rs]: https://docs.rs/libc
|
||||
[License]: https://img.shields.io/crates/l/libc.svg
|
||||
[docs.master]: https://rust-lang.github.io/libc/#platform-specific-documentation
|
||||
|
||||
@@ -1,6 +1,46 @@
|
||||
use std::env;
|
||||
use std::process::Command;
|
||||
use std::str;
|
||||
use std::string::String;
|
||||
|
||||
// List of cfgs this build script is allowed to set. The list is needed to support check-cfg, as we
|
||||
// need to know all the possible cfgs that this script will set. If you need to set another cfg
|
||||
// make sure to add it to this list as well.
|
||||
const ALLOWED_CFGS: &'static [&'static str] = &[
|
||||
"emscripten_new_stat_abi",
|
||||
"freebsd10",
|
||||
"freebsd11",
|
||||
"freebsd12",
|
||||
"freebsd13",
|
||||
"freebsd14",
|
||||
"freebsd15",
|
||||
"libc_align",
|
||||
"libc_cfg_target_vendor",
|
||||
"libc_const_extern_fn",
|
||||
"libc_const_extern_fn_unstable",
|
||||
"libc_const_size_of",
|
||||
"libc_core_cvoid",
|
||||
"libc_deny_warnings",
|
||||
"libc_int128",
|
||||
"libc_long_array",
|
||||
"libc_non_exhaustive",
|
||||
"libc_packedN",
|
||||
"libc_priv_mod_use",
|
||||
"libc_ptr_addr_of",
|
||||
"libc_thread_local",
|
||||
"libc_underscore_const_names",
|
||||
"libc_union",
|
||||
];
|
||||
|
||||
// Extra values to allow for check-cfg.
|
||||
const CHECK_CFG_EXTRA: &'static [(&'static str, &'static [&'static str])] = &[
|
||||
("target_os", &["switch", "aix", "ohos", "hurd"]),
|
||||
("target_env", &["illumos", "wasi", "aix", "ohos"]),
|
||||
(
|
||||
"target_arch",
|
||||
&["loongarch64", "mips32r6", "mips64r6", "csky"],
|
||||
),
|
||||
];
|
||||
|
||||
fn main() {
|
||||
// Avoid unnecessary re-building.
|
||||
@@ -11,6 +51,7 @@ fn main() {
|
||||
let align_cargo_feature = env::var("CARGO_FEATURE_ALIGN").is_ok();
|
||||
let const_extern_fn_cargo_feature = env::var("CARGO_FEATURE_CONST_EXTERN_FN").is_ok();
|
||||
let libc_ci = env::var("LIBC_CI").is_ok();
|
||||
let libc_check_cfg = env::var("LIBC_CHECK_CFG").is_ok();
|
||||
|
||||
if env::var("CARGO_FEATURE_USE_STD").is_ok() {
|
||||
println!(
|
||||
@@ -19,95 +60,128 @@ fn main() {
|
||||
);
|
||||
}
|
||||
|
||||
// The ABI of libc used by libstd is backward compatible with FreeBSD 10.
|
||||
// The ABI of libc used by std is backward compatible with FreeBSD 12.
|
||||
// The ABI of libc from crates.io is backward compatible with FreeBSD 11.
|
||||
//
|
||||
// On CI, we detect the actual FreeBSD version and match its ABI exactly,
|
||||
// running tests to ensure that the ABI is correct.
|
||||
match which_freebsd() {
|
||||
Some(10) if libc_ci || rustc_dep_of_std => {
|
||||
println!("cargo:rustc-cfg=freebsd10")
|
||||
}
|
||||
Some(11) if libc_ci => println!("cargo:rustc-cfg=freebsd11"),
|
||||
Some(12) if libc_ci => println!("cargo:rustc-cfg=freebsd12"),
|
||||
Some(13) if libc_ci => println!("cargo:rustc-cfg=freebsd13"),
|
||||
Some(14) if libc_ci => println!("cargo:rustc-cfg=freebsd14"),
|
||||
Some(_) | None => println!("cargo:rustc-cfg=freebsd11"),
|
||||
Some(10) if libc_ci => set_cfg("freebsd10"),
|
||||
Some(11) if libc_ci => set_cfg("freebsd11"),
|
||||
Some(12) if libc_ci || rustc_dep_of_std => set_cfg("freebsd12"),
|
||||
Some(13) if libc_ci => set_cfg("freebsd13"),
|
||||
Some(14) if libc_ci => set_cfg("freebsd14"),
|
||||
Some(15) if libc_ci => set_cfg("freebsd15"),
|
||||
Some(_) | None => set_cfg("freebsd11"),
|
||||
}
|
||||
|
||||
match emcc_version_code() {
|
||||
Some(v) if (v >= 30142) => set_cfg("emscripten_new_stat_abi"),
|
||||
// Non-Emscripten or version < 3.1.42.
|
||||
Some(_) | None => (),
|
||||
}
|
||||
|
||||
// On CI: deny all warnings
|
||||
if libc_ci {
|
||||
println!("cargo:rustc-cfg=libc_deny_warnings");
|
||||
set_cfg("libc_deny_warnings");
|
||||
}
|
||||
|
||||
// Rust >= 1.15 supports private module use:
|
||||
if rustc_minor_ver >= 15 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_priv_mod_use");
|
||||
set_cfg("libc_priv_mod_use");
|
||||
}
|
||||
|
||||
// Rust >= 1.19 supports unions:
|
||||
if rustc_minor_ver >= 19 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_union");
|
||||
set_cfg("libc_union");
|
||||
}
|
||||
|
||||
// Rust >= 1.24 supports const mem::size_of:
|
||||
if rustc_minor_ver >= 24 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_const_size_of");
|
||||
set_cfg("libc_const_size_of");
|
||||
}
|
||||
|
||||
// Rust >= 1.25 supports repr(align):
|
||||
if rustc_minor_ver >= 25 || rustc_dep_of_std || align_cargo_feature {
|
||||
println!("cargo:rustc-cfg=libc_align");
|
||||
set_cfg("libc_align");
|
||||
}
|
||||
|
||||
// Rust >= 1.26 supports i128 and u128:
|
||||
if rustc_minor_ver >= 26 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_int128");
|
||||
set_cfg("libc_int128");
|
||||
}
|
||||
|
||||
// Rust >= 1.30 supports `core::ffi::c_void`, so libc can just re-export it.
|
||||
// Otherwise, it defines an incompatible type to retaining
|
||||
// backwards-compatibility.
|
||||
if rustc_minor_ver >= 30 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_core_cvoid");
|
||||
set_cfg("libc_core_cvoid");
|
||||
}
|
||||
|
||||
// Rust >= 1.33 supports repr(packed(N)) and cfg(target_vendor).
|
||||
if rustc_minor_ver >= 33 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_packedN");
|
||||
println!("cargo:rustc-cfg=libc_cfg_target_vendor");
|
||||
set_cfg("libc_packedN");
|
||||
set_cfg("libc_cfg_target_vendor");
|
||||
}
|
||||
|
||||
// Rust >= 1.40 supports #[non_exhaustive].
|
||||
if rustc_minor_ver >= 40 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_non_exhaustive");
|
||||
set_cfg("libc_non_exhaustive");
|
||||
}
|
||||
|
||||
// Rust >= 1.47 supports long array:
|
||||
if rustc_minor_ver >= 47 || rustc_dep_of_std {
|
||||
set_cfg("libc_long_array");
|
||||
}
|
||||
|
||||
if rustc_minor_ver >= 51 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_ptr_addr_of");
|
||||
set_cfg("libc_ptr_addr_of");
|
||||
}
|
||||
|
||||
// Rust >= 1.37.0 allows underscores as anonymous constant names.
|
||||
if rustc_minor_ver >= 37 || rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_underscore_const_names");
|
||||
set_cfg("libc_underscore_const_names");
|
||||
}
|
||||
|
||||
// #[thread_local] is currently unstable
|
||||
if rustc_dep_of_std {
|
||||
println!("cargo:rustc-cfg=libc_thread_local");
|
||||
set_cfg("libc_thread_local");
|
||||
}
|
||||
|
||||
// Rust >= 1.62.0 allows to use `const_extern_fn` for "Rust" and "C".
|
||||
if rustc_minor_ver >= 62 {
|
||||
println!("cargo:rustc-cfg=libc_const_extern_fn");
|
||||
set_cfg("libc_const_extern_fn");
|
||||
} else {
|
||||
// Rust < 1.62.0 requires a crate feature and feature gate.
|
||||
if const_extern_fn_cargo_feature {
|
||||
if !is_nightly || rustc_minor_ver < 40 {
|
||||
panic!("const-extern-fn requires a nightly compiler >= 1.40");
|
||||
}
|
||||
println!("cargo:rustc-cfg=libc_const_extern_fn_unstable");
|
||||
println!("cargo:rustc-cfg=libc_const_extern_fn");
|
||||
set_cfg("libc_const_extern_fn_unstable");
|
||||
set_cfg("libc_const_extern_fn");
|
||||
}
|
||||
}
|
||||
|
||||
// check-cfg is a nightly cargo/rustc feature to warn when unknown cfgs are used across the
|
||||
// codebase. libc can configure it if the appropriate environment variable is passed. Since
|
||||
// rust-lang/rust enforces it, this is useful when using a custom libc fork there.
|
||||
//
|
||||
// https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg
|
||||
if libc_check_cfg {
|
||||
for cfg in ALLOWED_CFGS {
|
||||
if rustc_minor_ver >= 75 {
|
||||
println!("cargo:rustc-check-cfg=cfg({})", cfg);
|
||||
} else {
|
||||
println!("cargo:rustc-check-cfg=values({})", cfg);
|
||||
}
|
||||
}
|
||||
for &(name, values) in CHECK_CFG_EXTRA {
|
||||
let values = values.join("\",\"");
|
||||
if rustc_minor_ver >= 75 {
|
||||
println!("cargo:rustc-check-cfg=cfg({},values(\"{}\"))", name, values);
|
||||
} else {
|
||||
println!("cargo:rustc-check-cfg=values({},\"{}\")", name, values);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,6 +202,13 @@ fn rustc_minor_nightly() -> (u32, bool) {
|
||||
.output()
|
||||
.ok()
|
||||
.expect("Failed to get rustc version");
|
||||
if !output.status.success() {
|
||||
panic!(
|
||||
"failed to run rustc: {}",
|
||||
String::from_utf8_lossy(output.stderr.as_slice())
|
||||
);
|
||||
}
|
||||
|
||||
let version = otry!(str::from_utf8(&output.stdout).ok());
|
||||
let mut pieces = version.split('.');
|
||||
|
||||
@@ -173,6 +254,44 @@ fn which_freebsd() -> Option<i32> {
|
||||
s if s.starts_with("12") => Some(12),
|
||||
s if s.starts_with("13") => Some(13),
|
||||
s if s.starts_with("14") => Some(14),
|
||||
s if s.starts_with("15") => Some(15),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn emcc_version_code() -> Option<u64> {
|
||||
let output = std::process::Command::new("emcc")
|
||||
.arg("-dumpversion")
|
||||
.output()
|
||||
.ok();
|
||||
if output.is_none() {
|
||||
return None;
|
||||
}
|
||||
let output = output.unwrap();
|
||||
if !output.status.success() {
|
||||
return None;
|
||||
}
|
||||
|
||||
let stdout = String::from_utf8(output.stdout).ok();
|
||||
if stdout.is_none() {
|
||||
return None;
|
||||
}
|
||||
let version = stdout.unwrap();
|
||||
|
||||
// Some Emscripten versions come with `-git` attached, so split the
|
||||
// version string also on the `-` char.
|
||||
let mut pieces = version.trim().split(|c| c == '.' || c == '-');
|
||||
|
||||
let major = pieces.next().and_then(|x| x.parse().ok()).unwrap_or(0);
|
||||
let minor = pieces.next().and_then(|x| x.parse().ok()).unwrap_or(0);
|
||||
let patch = pieces.next().and_then(|x| x.parse().ok()).unwrap_or(0);
|
||||
|
||||
Some(major * 10000 + minor * 100 + patch)
|
||||
}
|
||||
|
||||
fn set_cfg(cfg: &str) {
|
||||
if !ALLOWED_CFGS.contains(&cfg) {
|
||||
panic!("trying to set cfg {}, but it is not in ALLOWED_CFGS", cfg);
|
||||
}
|
||||
println!("cargo:rustc-cfg={}", cfg);
|
||||
}
|
||||
|
||||
+3
-3
@@ -42,9 +42,9 @@ The remaining architectures look like:
|
||||
* The BSD builds, currently OpenBSD and FreeBSD, use QEMU to boot up a system
|
||||
and compile/run tests. More information on that below.
|
||||
|
||||
[Actions config]: https://github.com/rust-lang/libc/tree/master/.github/workflows
|
||||
[Cirrus config]: https://github.com/rust-lang/libc/blob/master/.cirrus.yml
|
||||
[android-docker]: https://github.com/rust-lang/libc/blob/master/ci/docker/x86_64-linux-android/Dockerfile
|
||||
[Actions config]: https://github.com/rust-lang/libc/tree/HEAD/.github/workflows
|
||||
[Cirrus config]: https://github.com/rust-lang/libc/blob/HEAD/.cirrus.yml
|
||||
[android-docker]: https://github.com/rust-lang/libc/blob/HEAD/ci/docker/x86_64-linux-android/Dockerfile
|
||||
|
||||
## QEMU
|
||||
|
||||
|
||||
@@ -2,40 +2,10 @@
|
||||
|
||||
set -ex
|
||||
|
||||
NDK=android-ndk-r21d
|
||||
wget --tries=20 -q https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip
|
||||
unzip -q ${NDK}-linux-x86_64.zip
|
||||
NDK=android-ndk-r26b
|
||||
wget --tries=20 -q https://dl.google.com/android/repository/${NDK}-linux.zip
|
||||
unzip -q ${NDK}-linux.zip
|
||||
|
||||
case "$1" in
|
||||
arm)
|
||||
arch=arm
|
||||
api=28
|
||||
;;
|
||||
armv7)
|
||||
arch=arm
|
||||
api=28
|
||||
;;
|
||||
aarch64)
|
||||
arch=arm64
|
||||
api=28
|
||||
;;
|
||||
i686)
|
||||
arch=x86
|
||||
api=28
|
||||
;;
|
||||
x86_64)
|
||||
arch=x86_64
|
||||
api=28
|
||||
;;
|
||||
*)
|
||||
echo "invalid arch: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac;
|
||||
mv ./${NDK}/toolchains/llvm/prebuilt/linux-x86_64 /android
|
||||
|
||||
python3 ${NDK}/build/tools/make_standalone_toolchain.py \
|
||||
--install-dir "/android/ndk-${1}" \
|
||||
--arch "${arch}" \
|
||||
--api ${api}
|
||||
|
||||
rm -rf ./${NDK}-linux-x86_64.zip ./${NDK}
|
||||
rm -rf ./${NDK}-linux.zip ./${NDK}
|
||||
|
||||
+13
-13
@@ -39,7 +39,7 @@ test_target() {
|
||||
done
|
||||
fi
|
||||
|
||||
# Test that libc builds without any default features (no libstd)
|
||||
# Test that libc builds without any default features (no std)
|
||||
if [ "${NO_STD}" != "1" ]; then
|
||||
cargo "+${RUST}" "${BUILD_CMD}" -vv --no-default-features --target "${TARGET}"
|
||||
else
|
||||
@@ -47,8 +47,8 @@ test_target() {
|
||||
RUSTFLAGS="-A improper_ctypes_definitions" cargo "+${RUST}" "${BUILD_CMD}" \
|
||||
-Z build-std=core,alloc -vv --no-default-features --target "${TARGET}"
|
||||
fi
|
||||
# Test that libc builds with default features (e.g. libstd)
|
||||
# if the target supports libstd
|
||||
# Test that libc builds with default features (e.g. std)
|
||||
# if the target supports std
|
||||
if [ "$NO_STD" != "1" ]; then
|
||||
cargo "+${RUST}" "${BUILD_CMD}" -vv --target "${TARGET}"
|
||||
else
|
||||
@@ -102,12 +102,6 @@ i686-linux-android \
|
||||
i686-unknown-freebsd \
|
||||
i686-unknown-linux-gnu \
|
||||
i686-unknown-linux-musl \
|
||||
mips-unknown-linux-gnu \
|
||||
mips-unknown-linux-musl \
|
||||
mips64-unknown-linux-gnuabi64 \
|
||||
mips64el-unknown-linux-gnuabi64 \
|
||||
mipsel-unknown-linux-gnu \
|
||||
mipsel-unknown-linux-musl \
|
||||
powerpc-unknown-linux-gnu \
|
||||
powerpc64-unknown-linux-gnu \
|
||||
powerpc64le-unknown-linux-gnu \
|
||||
@@ -136,14 +130,14 @@ i586-unknown-linux-musl \
|
||||
"
|
||||
|
||||
RUST_NIGHTLY_LINUX_TARGETS="\
|
||||
aarch64-fuchsia \
|
||||
aarch64-unknown-fuchsia \
|
||||
armv5te-unknown-linux-gnueabi \
|
||||
armv5te-unknown-linux-musleabi \
|
||||
i686-pc-windows-gnu \
|
||||
riscv64gc-unknown-linux-gnu \
|
||||
wasm32-wasi \
|
||||
x86_64-fortanix-unknown-sgx \
|
||||
x86_64-fuchsia \
|
||||
x86_64-unknown-fuchsia \
|
||||
x86_64-pc-solaris \
|
||||
x86_64-pc-windows-gnu \
|
||||
x86_64-unknown-illumos \
|
||||
@@ -236,9 +230,15 @@ i686-unknown-haiku \
|
||||
i686-unknown-netbsd \
|
||||
i686-unknown-openbsd \
|
||||
i686-wrs-vxworks \
|
||||
mipsel-sony-psp \
|
||||
mips-unknown-linux-gnu \
|
||||
mips-unknown-linux-musl \
|
||||
mips64-unknown-linux-gnuabi64 \
|
||||
mips64-unknown-linux-muslabi64 \
|
||||
mips64el-unknown-linux-gnuabi64 \
|
||||
mips64el-unknown-linux-muslabi64 \
|
||||
mipsel-unknown-linux-gnu \
|
||||
mipsel-unknown-linux-musl \
|
||||
mipsel-sony-psp \
|
||||
nvptx64-nvidia-cuda \
|
||||
powerpc-unknown-linux-gnuspe \
|
||||
powerpc-unknown-netbsd \
|
||||
@@ -251,6 +251,7 @@ riscv32imac-unknown-none-elf \
|
||||
riscv32imc-unknown-none-elf \
|
||||
riscv32gc-unknown-linux-gnu \
|
||||
riscv64gc-unknown-freebsd \
|
||||
riscv64gc-unknown-hermit \
|
||||
riscv64gc-unknown-linux-musl \
|
||||
riscv64gc-unknown-none-elf \
|
||||
riscv64imac-unknown-none-elf \
|
||||
@@ -283,7 +284,6 @@ if [ "${RUST}" = "nightly" ] && [ "${OS}" = "linux" ]; then
|
||||
fi
|
||||
|
||||
RUST_APPLE_NO_CORE_TARGETS="\
|
||||
armv7-apple-ios \
|
||||
armv7s-apple-ios \
|
||||
i686-apple-darwin \
|
||||
i386-apple-ios \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN apt-get update
|
||||
@@ -19,9 +19,9 @@ WORKDIR /android/
|
||||
COPY android* /android/
|
||||
|
||||
ENV ANDROID_ARCH=aarch64
|
||||
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
|
||||
ENV PATH=$PATH:/android/linux-x86_64/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
|
||||
|
||||
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
|
||||
RUN sh /android/android-install-ndk.sh
|
||||
RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
|
||||
RUN mv /root/.android /tmp
|
||||
RUN chmod 777 -R /tmp/.android
|
||||
@@ -31,6 +31,7 @@ ENV PATH=$PATH:/rust/bin \
|
||||
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android28-clang \
|
||||
CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=/tmp/runtest \
|
||||
CC_aarch64_linux_android=aarch64-linux-android28-clang \
|
||||
AR_aarch64_linux_android=llvm-ar \
|
||||
HOME=/tmp
|
||||
|
||||
ADD runtest-android.rs /tmp/runtest.rs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc make libc6-dev git curl ca-certificates \
|
||||
@@ -7,7 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
COPY install-musl.sh /
|
||||
RUN sh /install-musl.sh aarch64
|
||||
|
||||
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
|
||||
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in std?
|
||||
ENV PATH=$PATH:/musl-aarch64/bin:/rust/bin \
|
||||
CC_aarch64_unknown_linux_musl=musl-gcc \
|
||||
RUSTFLAGS='-Clink-args=-lgcc -L /musl-aarch64/lib' \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN apt-get update
|
||||
@@ -19,18 +19,19 @@ WORKDIR /android/
|
||||
COPY android* /android/
|
||||
|
||||
ENV ANDROID_ARCH=arm
|
||||
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
|
||||
ENV PATH=$PATH:/android/linux-x86_64/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
|
||||
|
||||
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
|
||||
RUN sh /android/android-install-ndk.sh
|
||||
RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
|
||||
RUN mv /root/.android /tmp
|
||||
RUN chmod 777 -R /tmp/.android
|
||||
RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
|
||||
|
||||
ENV PATH=$PATH:/rust/bin \
|
||||
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
|
||||
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi28-clang \
|
||||
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_RUNNER=/tmp/runtest \
|
||||
CC_arm_linux_androideabi=arm-linux-androideabi-gcc \
|
||||
CC_arm_linux_androideabi=armv7a-linux-androideabi28-clang \
|
||||
AR_arm_linux_androideabi=llvm-ar \
|
||||
HOME=/tmp
|
||||
|
||||
ADD runtest-android.rs /tmp/runtest.rs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc make libc6-dev git curl ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates qemu-system-arm curl \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
# This is a workaround to avoid the interaction with tzdata.
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN apt-get update
|
||||
@@ -19,18 +19,19 @@ WORKDIR /android/
|
||||
COPY android* /android/
|
||||
|
||||
ENV ANDROID_ARCH=i686
|
||||
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
|
||||
ENV PATH=$PATH:/android/linux-x86_64/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
|
||||
|
||||
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
|
||||
RUN sh /android/android-install-ndk.sh
|
||||
RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
|
||||
RUN mv /root/.android /tmp
|
||||
RUN chmod 777 -R /tmp/.android
|
||||
RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
|
||||
|
||||
ENV PATH=$PATH:/rust/bin \
|
||||
CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
|
||||
CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android28-clang \
|
||||
CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=/tmp/runtest \
|
||||
CC_i686_linux_android=i686-linux-android-gcc \
|
||||
CC_i686_linux_android=i686-linux-android28-clang \
|
||||
AR_i686_linux_android=llvm-ar \
|
||||
HOME=/tmp
|
||||
|
||||
ADD runtest-android.rs /tmp/runtest.rs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc-multilib libc6-dev ca-certificates
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN apt-get update
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl ca-certificates \
|
||||
@@ -9,7 +9,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
COPY install-musl.sh /
|
||||
RUN sh /install-musl.sh s390x
|
||||
|
||||
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
|
||||
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in std?
|
||||
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
|
||||
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -L /musl-s390x" \
|
||||
CC_s390x_unknown_linux_gnu=musl-gcc \
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# FIXME: Update to 22.04 once Debian image of sparc64 has a newer glibc.
|
||||
FROM ubuntu:20.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl ca-certificates \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
# This is a workaround to avoid the interaction with tzdata.
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
@@ -13,15 +13,16 @@ RUN apt-get update && \
|
||||
WORKDIR /android/
|
||||
ENV ANDROID_ARCH=x86_64
|
||||
COPY android-install-ndk.sh /android/
|
||||
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
|
||||
RUN sh /android/android-install-ndk.sh
|
||||
|
||||
# We do not run x86_64-linux-android tests on an android emulator.
|
||||
# See ci/android-sysimage.sh for information about how tests are run.
|
||||
COPY android-sysimage.sh /android/
|
||||
RUN bash /android/android-sysimage.sh x86_64 x86_64-24_r07.zip
|
||||
|
||||
ENV PATH=$PATH:/rust/bin:/android/ndk-$ANDROID_ARCH/bin \
|
||||
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android-gcc \
|
||||
CC_x86_64_linux_android=x86_64-linux-android-gcc \
|
||||
CXX_x86_64_linux_android=x86_64-linux-android-g++ \
|
||||
ENV PATH=$PATH:/rust/bin:/android/linux-x86_64/bin \
|
||||
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android28-clang \
|
||||
CC_x86_64_linux_android=x86_64-linux-android28-clang \
|
||||
CXX_x86_64_linux_android=x86_64-linux-android28-clang++ \
|
||||
AR_x86_64_linux_android=llvm-ar \
|
||||
HOME=/tmp
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates linux-headers-generic
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc-multilib libc6-dev ca-certificates
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:22.04
|
||||
FROM ubuntu:23.10
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
|
||||
@@ -5,8 +5,4 @@ set -ex
|
||||
# shellcheck disable=SC1091
|
||||
source /emsdk-portable/emsdk_env.sh &> /dev/null
|
||||
|
||||
# emsdk-portable provides a node binary, but we need version 8 to run wasm
|
||||
# NOTE: Do not forget to sync Node.js version with `emscripten.sh`!
|
||||
export PATH="/node-v14.17.0-linux-x64/bin:$PATH"
|
||||
|
||||
exec "$@"
|
||||
|
||||
@@ -20,9 +20,3 @@ rm -f a.*
|
||||
|
||||
# Make emsdk usable by any user
|
||||
chmod a+rxw -R /emsdk-portable
|
||||
|
||||
# node 8 is required to run wasm
|
||||
# NOTE: Do not forget to sync Node.js version with `emscripten-entry.sh`!
|
||||
cd /
|
||||
curl --retry 5 -L https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz | \
|
||||
tar -xJ
|
||||
|
||||
@@ -46,20 +46,6 @@ case ${1} in
|
||||
./configure --prefix="/musl-${musl_arch}"
|
||||
make install -j4
|
||||
;;
|
||||
mips64)
|
||||
musl_arch=mips64
|
||||
kernel_arch=mips
|
||||
CC=mips64-linux-gnuabi64-gcc CFLAGS="-march=mips64r2 -mabi=64" \
|
||||
./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes
|
||||
make install -j4
|
||||
;;
|
||||
mips64el)
|
||||
musl_arch=mips64el
|
||||
kernel_arch=mips
|
||||
CC=mips64el-linux-gnuabi64-gcc CFLAGS="-march=mips64r2 -mabi=64" \
|
||||
./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes
|
||||
make install -j4
|
||||
;;
|
||||
s390x)
|
||||
musl_arch=s390x
|
||||
kernel_arch=s390
|
||||
|
||||
+1
-6
@@ -8,12 +8,7 @@ toolchain=
|
||||
if [ -n "$TOOLCHAIN" ]; then
|
||||
toolchain=$TOOLCHAIN
|
||||
else
|
||||
# Pin the nightly version as newer nightly versions break CI,
|
||||
# https://github.com/rust-lang/rust/issues/103673 contains related information.
|
||||
case "$TARGET" in
|
||||
*android*) toolchain=nightly-2022-10-09;;
|
||||
*) toolchain=nightly;;
|
||||
esac
|
||||
toolchain=nightly
|
||||
fi
|
||||
if [ "$OS" = "windows" ]; then
|
||||
: "${TARGET?The TARGET environment variable must be set.}"
|
||||
|
||||
+3
-3
@@ -5,9 +5,9 @@ set -ex
|
||||
mkdir -m 777 /qemu
|
||||
cd /qemu
|
||||
|
||||
curl --retry 5 -LO https://github.com/qemu/qemu/raw/master/pc-bios/s390-ccw.img
|
||||
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20220914/images/generic/kernel.debian
|
||||
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20220914/images/generic/initrd.debian
|
||||
curl --retry 5 -LO https://github.com/qemu/qemu/raw/HEAD/pc-bios/s390-ccw.img
|
||||
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20230607/images/generic/kernel.debian
|
||||
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20230607/images/generic/initrd.debian
|
||||
|
||||
mv kernel.debian kernel
|
||||
mv initrd.debian initrd.gz
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ set -ex
|
||||
mkdir -m 777 /qemu
|
||||
cd /qemu
|
||||
|
||||
curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/snapshots/2022-03-28/debian-11.0.0-sparc64-NETINST-1.iso
|
||||
curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/snapshots/2022-12-09/debian-11.0.0-sparc64-NETINST-1.iso
|
||||
7z e debian-11.0.0-sparc64-NETINST-1.iso install/initrd.gz
|
||||
7z e debian-11.0.0-sparc64-NETINST-1.iso install/vmlinux
|
||||
mv vmlinux kernel
|
||||
|
||||
+4
-4
@@ -28,7 +28,7 @@ run() {
|
||||
echo "Building docker container for target ${1}"
|
||||
|
||||
# use -f so we can use ci/ as build context
|
||||
docker build -t libc -f "ci/docker/${1}/Dockerfile" ci/
|
||||
docker build -t "libc-${1}" -f "ci/docker/${1}/Dockerfile" ci/
|
||||
mkdir -p target
|
||||
if [ -w /dev/kvm ]; then
|
||||
kvm="--volume /dev/kvm:/dev/kvm"
|
||||
@@ -50,7 +50,7 @@ run() {
|
||||
$kvm \
|
||||
--init \
|
||||
--workdir /checkout \
|
||||
libc \
|
||||
"libc-${1}" \
|
||||
sh -c "HOME=/tmp PATH=\$PATH:/rust/bin exec ci/run.sh ${1}"
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ build_switch() {
|
||||
echo "Building docker container for target switch"
|
||||
|
||||
# use -f so we can use ci/ as build context
|
||||
docker build -t libc -f "ci/docker/switch/Dockerfile" ci/
|
||||
docker build -t libc-switch -f "ci/docker/switch/Dockerfile" ci/
|
||||
mkdir -p target
|
||||
if [ -w /dev/kvm ]; then
|
||||
kvm="--volume /dev/kvm:/dev/kvm"
|
||||
@@ -82,7 +82,7 @@ build_switch() {
|
||||
$kvm \
|
||||
--init \
|
||||
--workdir /checkout \
|
||||
libc \
|
||||
libc-switch \
|
||||
sh -c "HOME=/tmp RUSTUP_HOME=/tmp PATH=\$PATH:/rust/bin rustup default nightly \
|
||||
&& rustup component add rust-src --target ci/switch.json \
|
||||
&& cargo build -Z build-std=core,alloc --target ci/switch.json"
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This is taken from https://github.com/rust-lang/rust/blob/master/src/doc/rust.css */
|
||||
/* This is taken from https://github.com/rust-lang/rust/blob/HEAD/src/doc/rust.css */
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "libc-test"
|
||||
version = "0.2.139"
|
||||
version = "0.2.153"
|
||||
authors = ["The Rust Project Developers"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
build = "build.rs"
|
||||
@@ -12,19 +12,19 @@ A test crate for the libc crate.
|
||||
|
||||
[dependencies.libc]
|
||||
path = ".."
|
||||
version = "0.2.139"
|
||||
version = "0.2.153"
|
||||
default-features = false
|
||||
|
||||
[build-dependencies]
|
||||
cc = "1.0.61"
|
||||
cc = "1.0.83"
|
||||
# FIXME: Use fork ctest until the maintainer gets back.
|
||||
ctest2 = "0.4.3"
|
||||
|
||||
[features]
|
||||
default = [ "std" ]
|
||||
std = [ "libc/std" ]
|
||||
align = [ "libc/align" ]
|
||||
extra_traits = [ "libc/extra_traits" ]
|
||||
default = ["std"]
|
||||
std = ["libc/std"]
|
||||
align = ["libc/align"]
|
||||
extra_traits = ["libc/extra_traits"]
|
||||
|
||||
[[test]]
|
||||
name = "main"
|
||||
|
||||
+717
-135
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
# These symbols are missing for the targets:
|
||||
# * asmjs-unknown-emscripten
|
||||
# These symbols are no-op or missing on these targets:
|
||||
# * wasm32-unknown-emscripten
|
||||
getpwuid_r
|
||||
pthread_atfork
|
||||
pthread_sigmask
|
||||
|
||||
@@ -7,6 +7,8 @@ HWCAP2_SVEBITPERM
|
||||
HWCAP2_SVEPMULL
|
||||
HWCAP2_SVESHA3
|
||||
HWCAP2_SVESM4
|
||||
PROT_BTI
|
||||
PROT_MTE
|
||||
SYS_arch_specific_syscall
|
||||
SYS_syscalls
|
||||
SYS_fcntl
|
||||
|
||||
@@ -61,6 +61,7 @@ ALG_OP_DECRYPT
|
||||
ALG_OP_ENCRYPT
|
||||
ALG_SET_AEAD_ASSOCLEN
|
||||
ALG_SET_AEAD_AUTHSIZE
|
||||
ALG_SET_DRBG_ENTROPY
|
||||
ALG_SET_IV
|
||||
ALG_SET_KEY
|
||||
ALG_SET_OP
|
||||
@@ -138,6 +139,7 @@ ATF_USETRAILERS
|
||||
AT_EMPTY_PATH
|
||||
AT_FDCWD
|
||||
AT_NO_AUTOMOUNT
|
||||
AT_RECURSIVE
|
||||
AT_REMOVEDIR
|
||||
AT_SYMLINK_FOLLOW
|
||||
AT_SYMLINK_NOFOLLOW
|
||||
@@ -596,6 +598,8 @@ FD_ISSET
|
||||
FD_SET
|
||||
FD_SETSIZE
|
||||
FD_ZERO
|
||||
FDB_NOTIFY_BIT
|
||||
FDB_NOTIFY_INACTIVE_BIT
|
||||
FF0
|
||||
FF1
|
||||
FFDLY
|
||||
@@ -609,6 +613,14 @@ FIONCLEX
|
||||
FIONREAD
|
||||
FLUSHO
|
||||
FOPEN_MAX
|
||||
FS_IOC_GETFLAGS
|
||||
FS_IOC_SETFLAGS
|
||||
FS_IOC_GETVERSION
|
||||
FS_IOC_SETVERSION
|
||||
FS_IOC32_GETFLAGS
|
||||
FS_IOC32_SETFLAGS
|
||||
FS_IOC32_GETVERSION
|
||||
FS_IOC32_SETVERSION
|
||||
FUTEX_CLOCK_REALTIME
|
||||
FUTEX_CMD_MASK
|
||||
FUTEX_CMP_REQUEUE
|
||||
@@ -695,6 +707,7 @@ IFF_MASTER
|
||||
IFF_MULTICAST
|
||||
IFF_NOARP
|
||||
IFF_NOTRAILERS
|
||||
IFF_NO_CARRIER
|
||||
IFF_NO_PI
|
||||
IFF_POINTOPOINT
|
||||
IFF_PORTSEL
|
||||
@@ -704,6 +717,13 @@ IFF_SLAVE
|
||||
IFF_TAP
|
||||
IFF_TUN
|
||||
IFF_UP
|
||||
TUN_F_CSUM
|
||||
TUN_F_TSO4
|
||||
TUN_F_TSO6
|
||||
TUN_F_TSO_ECN
|
||||
TUN_F_UFO
|
||||
TUN_F_USO4
|
||||
TUN_F_USO6
|
||||
IFNAMSIZ
|
||||
IF_NAMESIZE
|
||||
IFA_UNSPEC
|
||||
@@ -776,6 +796,19 @@ IFLA_CARRIER_DOWN_COUNT
|
||||
IFLA_NEW_IFINDEX
|
||||
IFLA_MIN_MTU
|
||||
IFLA_MAX_MTU
|
||||
IFLA_PROP_LIST
|
||||
IFLA_ALT_IFNAME
|
||||
IFLA_PERM_ADDRESS
|
||||
IFLA_PROTO_DOWN_REASON
|
||||
IFLA_PARENT_DEV_NAME
|
||||
IFLA_PARENT_DEV_BUS_NAME
|
||||
IFLA_GRO_MAX_SIZE
|
||||
IFLA_TSO_MAX_SIZE
|
||||
IFLA_TSO_MAX_SEGS
|
||||
IFLA_ALLMULTI
|
||||
IFLA_DEVLINK_PORT
|
||||
IFLA_GSO_IPV4_MAX_SIZE
|
||||
IFLA_GRO_IPV4_MAX_SIZE
|
||||
IFLA_INFO_UNSPEC
|
||||
IFLA_INFO_KIND
|
||||
IFLA_INFO_DATA
|
||||
@@ -1031,6 +1064,12 @@ IXANY
|
||||
IXOFF
|
||||
IXON
|
||||
JFFS2_SUPER_MAGIC
|
||||
KEXEC_ARCH_MASK
|
||||
KEXEC_FILE_NO_INITRAMFS
|
||||
KEXEC_FILE_ON_CRASH
|
||||
KEXEC_FILE_UNLOAD
|
||||
KEXEC_ON_CRASH
|
||||
KEXEC_PRESERVE_CONTEXT
|
||||
KEY_CNT
|
||||
KEY_MAX
|
||||
LC_ADDRESS
|
||||
@@ -1163,9 +1202,21 @@ MCAST_MSFILTER
|
||||
MCAST_UNBLOCK_SOURCE
|
||||
MCL_CURRENT
|
||||
MCL_FUTURE
|
||||
MEMBARRIER_CMD_GLOBAL
|
||||
MEMBARRIER_CMD_GLOBAL_EXPEDITED
|
||||
MEMBARRIER_CMD_QUERY
|
||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED
|
||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE
|
||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
|
||||
MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
|
||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED
|
||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
|
||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ
|
||||
MFD_ALLOW_SEALING
|
||||
MFD_CLOEXEC
|
||||
MFD_EXEC
|
||||
MFD_HUGETLB
|
||||
MFD_NOEXEC_SEAL
|
||||
MINIX2_SUPER_MAGIC
|
||||
MINIX2_SUPER_MAGIC2
|
||||
MINIX_SUPER_MAGIC
|
||||
@@ -1240,6 +1291,54 @@ MS_SYNCHRONOUS
|
||||
MS_UNBINDABLE
|
||||
NCCS
|
||||
NCP_SUPER_MAGIC
|
||||
NDA_CACHEINFO
|
||||
NDA_DST
|
||||
NDA_FDB_EXT_ATTRS
|
||||
NDA_FLAGS_EXT
|
||||
NDA_IFINDEX
|
||||
NDA_LINK_NETNSID
|
||||
NDA_LLADDR
|
||||
NDA_MASTER
|
||||
NDA_NDM_FLAGS_MASK
|
||||
NDA_NDM_STATE_MASK
|
||||
NDA_NH_ID
|
||||
NDA_PORT
|
||||
NDA_PROBES
|
||||
NDA_PROTOCOL
|
||||
NDA_SRC_VNI
|
||||
NDA_UNSPEC
|
||||
NDA_VLAN
|
||||
NDA_VNI
|
||||
NDTA_CONFIG
|
||||
NDTA_GC_INTERVAL
|
||||
NDTA_NAME
|
||||
NDTA_PAD
|
||||
NDTA_PARMS
|
||||
NDTA_STATS
|
||||
NDTA_THRESH1
|
||||
NDTA_THRESH2
|
||||
NDTA_THRESH3
|
||||
NDTA_UNSPEC
|
||||
NDTPA_ANYCAST_DELAY
|
||||
NDTPA_APP_PROBES
|
||||
NDTPA_BASE_REACHABLE_TIME
|
||||
NDTPA_DELAY_PROBE_TIME
|
||||
NDTPA_GC_STALETIME
|
||||
NDTPA_IFINDEX
|
||||
NDTPA_INTERVAL_PROBE_TIME_MS
|
||||
NDTPA_LOCKTIME
|
||||
NDTPA_MCAST_PROBES
|
||||
NDTPA_MCAST_REPROBES
|
||||
NDTPA_PAD
|
||||
NDTPA_PROXY_DELAY
|
||||
NDTPA_PROXY_QLEN
|
||||
NDTPA_QUEUE_LEN
|
||||
NDTPA_QUEUE_LENBYTES
|
||||
NDTPA_REACHABLE_TIME
|
||||
NDTPA_REFCNT
|
||||
NDTPA_RETRANS_TIME
|
||||
NDTPA_UCAST_PROBES
|
||||
NDTPA_UNSPEC
|
||||
NETLINK_ADD_MEMBERSHIP
|
||||
NETLINK_AUDIT
|
||||
NETLINK_BROADCAST_ERROR
|
||||
@@ -1605,6 +1704,9 @@ NF_VERDICT_FLAG_QUEUE_BYPASS
|
||||
NF_VERDICT_MASK
|
||||
NF_VERDICT_QBITS
|
||||
NF_VERDICT_QMASK
|
||||
NFEA_ACTIVITY_NOTIFY
|
||||
NFEA_DONT_REFRESH
|
||||
NFEA_UNSPEC
|
||||
NI_DGRAM
|
||||
NI_MAXHOST
|
||||
NI_MAXSERV
|
||||
@@ -1630,6 +1732,7 @@ NLM_F_APPEND
|
||||
NLM_F_ATOMIC
|
||||
NLM_F_CREATE
|
||||
NLM_F_DUMP
|
||||
NLM_F_DUMP_FILTERED
|
||||
NLM_F_DUMP_INTR
|
||||
NLM_F_ECHO
|
||||
NLM_F_EXCL
|
||||
@@ -1639,6 +1742,25 @@ NLM_F_REPLACE
|
||||
NLM_F_REQUEST
|
||||
NLM_F_ROOT
|
||||
NOFLSH
|
||||
NTF_EXT_LEARNED
|
||||
NTF_EXT_LOCKED
|
||||
NTF_EXT_MANAGED
|
||||
NTF_MASTER
|
||||
NTF_OFFLOADED
|
||||
NTF_PROXY
|
||||
NTF_ROUTER
|
||||
NTF_SELF
|
||||
NTF_STICKY
|
||||
NTF_USE
|
||||
NUD_DELAY
|
||||
NUD_FAILED
|
||||
NUD_INCOMPLETE
|
||||
NUD_NOARP
|
||||
NUD_NONE
|
||||
NUD_PERMANENT
|
||||
NUD_PROBE
|
||||
NUD_REACHABLE
|
||||
NUD_STALE
|
||||
OCRNL
|
||||
OFDEL
|
||||
OFILL
|
||||
@@ -1647,6 +1769,8 @@ ONLCR
|
||||
ONLRET
|
||||
ONOCR
|
||||
OPENPROM_SUPER_MAGIC
|
||||
OPEN_TREE_CLOEXEC
|
||||
OPEN_TREE_CLONE
|
||||
OPOST
|
||||
O_ACCMODE
|
||||
O_APPEND
|
||||
@@ -1798,6 +1922,7 @@ PTRACE_PEEKUSER
|
||||
PTRACE_POKEDATA
|
||||
PTRACE_POKETEXT
|
||||
PTRACE_POKEUSER
|
||||
PTRACE_SECCOMP_GET_METADATA
|
||||
PTRACE_SETOPTIONS
|
||||
PTRACE_SETSIGINFO
|
||||
PTRACE_SINGLESTEP
|
||||
@@ -2036,6 +2161,7 @@ SCHED_RR
|
||||
SCM_CREDENTIALS
|
||||
SCM_RIGHTS
|
||||
SCM_TIMESTAMP
|
||||
SCM_TIMESTAMPING
|
||||
|
||||
SECCOMP_FILTER_FLAG_LOG
|
||||
SECCOMP_FILTER_FLAG_NEW_LISTENER
|
||||
@@ -2117,7 +2243,44 @@ SIOCADDMULTI
|
||||
SIOCADDRT
|
||||
SIOCDARP
|
||||
SIOCDELMULTI
|
||||
SIOCGIFINDEX
|
||||
SIOGIFINDEX
|
||||
SIOCSIFPFLAGS
|
||||
SIOCGIFPFLAGS
|
||||
SIOCDIFADDR
|
||||
SIOCSIFHWBROADCAST
|
||||
SIOCGIFCOUNT
|
||||
SIOCGIFBR
|
||||
SIOCSIFBR
|
||||
SIOCGIFTXQLEN
|
||||
SIOCSIFTXQLEN
|
||||
SIOCETHTOOL
|
||||
SIOCGMIIPHY
|
||||
SIOCGMIIREG
|
||||
SIOCSMIIREG
|
||||
SIOCWANDEV
|
||||
SIOCOUTQNSD
|
||||
SIOCGSKNS
|
||||
SIOCADDDLCI
|
||||
SIOCDELDLCI
|
||||
SIOCGIFVLAN
|
||||
SIOCSIFVLAN
|
||||
SIOCBONDENSLAVE
|
||||
SIOCBONDRELEASE
|
||||
SIOCBONDSETHWADDR
|
||||
SIOCBONDSLAVEINFOQUERY
|
||||
SIOCBONDINFOQUERY
|
||||
SIOCBONDCHANGEACTIVE
|
||||
SIOCBRADDBR
|
||||
SIOCBRDELBR
|
||||
SIOCBRADDIF
|
||||
SIOCBRDELIF
|
||||
SIOCSHWTSTAMP
|
||||
SIOCGHWTSTAMP
|
||||
SIOCDEVPRIVATE
|
||||
SIOCPROTOPRIVATE
|
||||
SIOCDELRT
|
||||
SIOCRTMSG
|
||||
SIOCDRARP
|
||||
SIOCGARP
|
||||
SIOCGIFADDR
|
||||
@@ -2126,6 +2289,7 @@ SIOCGIFCONF
|
||||
SIOCGIFDSTADDR
|
||||
SIOCGIFENCAP
|
||||
SIOCGIFFLAGS
|
||||
SIOCSIFNAME
|
||||
SIOCGIFHWADDR
|
||||
SIOCGIFMAP
|
||||
SIOCGIFMEM
|
||||
@@ -2163,6 +2327,21 @@ SOCK_RAW
|
||||
SOCK_RDM
|
||||
SOCK_SEQPACKET
|
||||
SOCK_STREAM
|
||||
SOF_TIMESTAMPING_RAW_HARDWARE
|
||||
SOF_TIMESTAMPING_RX_HARDWARE
|
||||
SOF_TIMESTAMPING_RX_SOFTWARE
|
||||
SOF_TIMESTAMPING_SOFTWARE
|
||||
SOF_TIMESTAMPING_SYS_HARDWARE
|
||||
SOF_TIMESTAMPING_TX_HARDWARE
|
||||
SOF_TIMESTAMPING_TX_SOFTWARE
|
||||
SOF_TIMESTAMPING_OPT_ID
|
||||
SOF_TIMESTAMPING_TX_SCHED
|
||||
SOF_TIMESTAMPING_TX_ACK
|
||||
SOF_TIMESTAMPING_OPT_CMSG
|
||||
SOF_TIMESTAMPING_OPT_TSONLY
|
||||
SOF_TIMESTAMPING_OPT_STATS
|
||||
SOF_TIMESTAMPING_OPT_PKTINFO
|
||||
SOF_TIMESTAMPING_OPT_TX_SWHW
|
||||
SOL_AAL
|
||||
SOL_ALG
|
||||
SOL_ATALK
|
||||
@@ -2230,6 +2409,7 @@ SO_SNDBUFFORCE
|
||||
SO_SNDLOWAT
|
||||
SO_SNDTIMEO
|
||||
SO_TIMESTAMP
|
||||
SO_TIMESTAMPING
|
||||
SO_TYPE
|
||||
SPLICE_F_GIFT
|
||||
SPLICE_F_MORE
|
||||
@@ -2300,7 +2480,11 @@ SYS_finit_module
|
||||
SYS_flistxattr
|
||||
SYS_flock
|
||||
SYS_fremovexattr
|
||||
SYS_fsconfig
|
||||
SYS_fsetxattr
|
||||
SYS_fsmount
|
||||
SYS_fsopen
|
||||
SYS_fspick
|
||||
SYS_fsync
|
||||
SYS_futex
|
||||
SYS_get_mempolicy
|
||||
@@ -2338,6 +2522,9 @@ SYS_io_destroy
|
||||
SYS_io_getevents
|
||||
SYS_io_setup
|
||||
SYS_io_submit
|
||||
SYS_io_uring_enter
|
||||
SYS_io_uring_register
|
||||
SYS_io_uring_setup
|
||||
SYS_ioctl
|
||||
SYS_ioprio_get
|
||||
SYS_ioprio_set
|
||||
@@ -2364,6 +2551,7 @@ SYS_mlock
|
||||
SYS_mlock2
|
||||
SYS_mlockall
|
||||
SYS_mount
|
||||
SYS_move_mount
|
||||
SYS_move_pages
|
||||
SYS_mprotect
|
||||
SYS_mq_getsetattr
|
||||
@@ -2381,9 +2569,11 @@ SYS_name_to_handle_at
|
||||
SYS_nanosleep
|
||||
SYS_nfsservctl
|
||||
SYS_open_by_handle_at
|
||||
SYS_open_tree
|
||||
SYS_openat
|
||||
SYS_perf_event_open
|
||||
SYS_personality
|
||||
SYS_pidfd_send_signal
|
||||
SYS_pipe2
|
||||
SYS_pivot_root
|
||||
SYS_pkey_alloc
|
||||
@@ -2470,6 +2660,7 @@ SYS_signalfd4
|
||||
SYS_socket
|
||||
SYS_socketpair
|
||||
SYS_splice
|
||||
SYS_statx
|
||||
SYS_swapoff
|
||||
SYS_swapon
|
||||
SYS_symlinkat
|
||||
@@ -2967,6 +3158,7 @@ ff_trigger
|
||||
fgetc
|
||||
fgetpos
|
||||
fgets
|
||||
fgets_unlocked
|
||||
fgetxattr
|
||||
fileno
|
||||
flistxattr
|
||||
@@ -2982,6 +3174,7 @@ fprintf
|
||||
fputc
|
||||
fputs
|
||||
fread
|
||||
fread_unlocked
|
||||
free
|
||||
freeaddrinfo
|
||||
freeifaddrs
|
||||
@@ -3010,6 +3203,7 @@ ftruncate
|
||||
ftruncate64
|
||||
futimens
|
||||
fwrite
|
||||
fwrite_unlocked
|
||||
gai_strerror
|
||||
genlmsghdr
|
||||
getaddrinfo
|
||||
@@ -3069,10 +3263,16 @@ group
|
||||
hostent
|
||||
id_t
|
||||
idtype_t
|
||||
ifconf
|
||||
ifreq
|
||||
__c_anonymous_ifc_ifcu
|
||||
__c_anonymous_ifr_ifru
|
||||
__c_anonymous_ifru_map
|
||||
if_indextoname
|
||||
if_nametoindex
|
||||
ifaddrs
|
||||
in6_addr
|
||||
in6_ifreq
|
||||
in6_pktinfo
|
||||
in6_rtmsg
|
||||
in_addr
|
||||
@@ -3156,6 +3356,7 @@ memalign
|
||||
memchr
|
||||
memcmp
|
||||
memcpy
|
||||
memmem
|
||||
memmove
|
||||
memrchr
|
||||
memset
|
||||
@@ -3240,8 +3441,10 @@ pthread_atfork
|
||||
pthread_attr_destroy
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getstack
|
||||
pthread_attr_getstacksize
|
||||
pthread_attr_init
|
||||
pthread_attr_setdetachstate
|
||||
pthread_attr_setguardsize
|
||||
pthread_attr_setstacksize
|
||||
pthread_attr_t
|
||||
pthread_barrierattr_destroy
|
||||
@@ -3381,6 +3584,7 @@ sched_setparam
|
||||
sched_setscheduler
|
||||
sched_yield
|
||||
seccomp_data
|
||||
seccomp_metadata
|
||||
seekdir
|
||||
select
|
||||
sem_close
|
||||
@@ -3484,6 +3688,7 @@ strcasecmp
|
||||
strcasestr
|
||||
strcat
|
||||
strchr
|
||||
strchrnul
|
||||
strcmp
|
||||
strcoll
|
||||
strcpy
|
||||
@@ -3516,6 +3721,7 @@ swapoff
|
||||
swapon
|
||||
symlink
|
||||
symlinkat
|
||||
syncfs
|
||||
syscall
|
||||
sysconf
|
||||
sysinfo
|
||||
@@ -3604,3 +3810,7 @@ write
|
||||
writev
|
||||
dirname
|
||||
basename
|
||||
eventfd_read
|
||||
eventfd_write
|
||||
HUGETLB_FLAG_ENCODE_SHIFT
|
||||
MAP_HUGE_SHIFT
|
||||
|
||||
+94
-39
@@ -193,10 +193,10 @@ BUFSIZ
|
||||
BUS_ADRALN
|
||||
BUS_ADRERR
|
||||
BUS_OBJERR
|
||||
CCStatus
|
||||
CCCryptorStatus
|
||||
CCRandomGenerateBytes
|
||||
CCRNGStatus
|
||||
CCRandomGenerateBytes
|
||||
CCStatus
|
||||
CIGNORE
|
||||
CLD_CONTINUED
|
||||
CLD_DUMPED
|
||||
@@ -245,6 +245,19 @@ COPYFILE_SECURITY
|
||||
COPYFILE_SKIP
|
||||
COPYFILE_START
|
||||
COPYFILE_STAT
|
||||
COPYFILE_STATE_BSIZE
|
||||
COPYFILE_STATE_COPIED
|
||||
COPYFILE_STATE_DST_BSIZE
|
||||
COPYFILE_STATE_DST_FD
|
||||
COPYFILE_STATE_DST_FILENAME
|
||||
COPYFILE_STATE_QUARANTINE
|
||||
COPYFILE_STATE_SRC_BSIZE
|
||||
COPYFILE_STATE_SRC_FD
|
||||
COPYFILE_STATE_SRC_FILENAME
|
||||
COPYFILE_STATE_STATUS_CB
|
||||
COPYFILE_STATE_STATUS_CTX
|
||||
COPYFILE_STATE_XATTRNAME
|
||||
COPYFILE_STATE_WAS_CLONED
|
||||
COPYFILE_VERBOSE
|
||||
COPYFILE_UNLINK
|
||||
COPYFILE_XATTR
|
||||
@@ -266,6 +279,7 @@ CTLFLAG_RD
|
||||
CTLFLAG_RW
|
||||
CTLFLAG_SECURE
|
||||
CTLFLAG_WR
|
||||
CTLIOCGINFO
|
||||
CTLTYPE
|
||||
CTLTYPE_INT
|
||||
CTLTYPE_NODE
|
||||
@@ -428,13 +442,16 @@ F_NOCACHE
|
||||
F_NODIRECT
|
||||
F_PEOFPOSMODE
|
||||
F_PREALLOCATE
|
||||
F_PUNCHHOLE
|
||||
F_RDADVISE
|
||||
F_RDAHEAD
|
||||
F_RDLCK
|
||||
F_SETOWN
|
||||
F_SPECULATIVE_READ
|
||||
F_TEST
|
||||
F_THAW_FS
|
||||
F_TLOCK
|
||||
F_TRIM_ACTIVE_FILE
|
||||
F_ULOCK
|
||||
F_UNLCK
|
||||
F_VOLPOSMODE
|
||||
@@ -623,15 +640,17 @@ IPV6_HOPLIMIT
|
||||
IPV6_JOIN_GROUP
|
||||
IPV6_LEAVE_GROUP
|
||||
IPV6_PKTINFO
|
||||
IPV6_RECVHOPLIMIT
|
||||
IPV6_RECVPKTINFO
|
||||
IPV6_RECVTCLASS
|
||||
IPV6_TCLASS
|
||||
IP_HDRINCL
|
||||
IP_BOUND_IF
|
||||
IP_HDRINCL
|
||||
IP_PKTINFO
|
||||
IP_RECVDSTADDR
|
||||
IP_RECVIF
|
||||
IP_RECVTOS
|
||||
IP_RECVTTL
|
||||
IP_TOS
|
||||
ITIMER_PROF
|
||||
ITIMER_REAL
|
||||
@@ -663,7 +682,6 @@ KERN_FAILURE
|
||||
KERN_FILE
|
||||
KERN_HOSTID
|
||||
KERN_HOSTNAME
|
||||
KERN_IPC
|
||||
KERN_INSUFFICIENT_BUFFER_SIZE
|
||||
KERN_INVALID_ADDRESS
|
||||
KERN_INVALID_ARGUMENT
|
||||
@@ -671,12 +689,13 @@ KERN_INVALID_HOST
|
||||
KERN_INVALID_LEDGER
|
||||
KERN_INVALID_MEMORY_CONTROL
|
||||
KERN_INVALID_NAME
|
||||
KERN_INVALID_POLICY
|
||||
KERN_INVALID_OBJECT
|
||||
KERN_INVALID_POLICY
|
||||
KERN_INVALID_RIGHT
|
||||
KERN_INVALID_SECURITY
|
||||
KERN_INVALID_TASK
|
||||
KERN_INVALID_RIGHT
|
||||
KERN_INVALID_VALUE
|
||||
KERN_IPC
|
||||
KERN_JOB_CONTROL
|
||||
KERN_KDBUFWAIT
|
||||
KERN_KDCPUMAP
|
||||
@@ -700,11 +719,11 @@ KERN_KDSET_TYPEFILTER
|
||||
KERN_KDTHRMAP
|
||||
KERN_KDWRITEMAP
|
||||
KERN_KDWRITETR
|
||||
KERN_LOGSIGEXIT
|
||||
KERN_LOCK_OWNED
|
||||
KERN_LOCK_OWNED_SELF
|
||||
KERN_LOCK_SET_DESTROYED
|
||||
KERN_LOCK_UNSTABLE
|
||||
KERN_LOGSIGEXIT
|
||||
KERN_LOW_PRI_DELAY
|
||||
KERN_LOW_PRI_WINDOW
|
||||
KERN_MAXFILES
|
||||
@@ -766,9 +785,9 @@ KERN_SAFEBOOT
|
||||
KERN_SAVED_IDS
|
||||
KERN_SECURELVL
|
||||
KERN_SEMAPHORE_DESTROYED
|
||||
KERN_SUCCESS
|
||||
KERN_SHREG_PRIVATIZABLE
|
||||
KERN_SPECULATIVE_READS
|
||||
KERN_SUCCESS
|
||||
KERN_SUGID_COREDUMP
|
||||
KERN_SYMFILE
|
||||
KERN_SYSV
|
||||
@@ -1258,8 +1277,8 @@ SAE_ASSOCID_ANY
|
||||
SAE_CONNID_ALL
|
||||
SAE_CONNID_ANY
|
||||
SCALE_PPM
|
||||
SCHED_OTHER
|
||||
SCHED_FIFO
|
||||
SCHED_OTHER
|
||||
SCHED_RR
|
||||
SCM_CREDS
|
||||
SCM_RIGHTS
|
||||
@@ -1347,6 +1366,7 @@ TAB1
|
||||
TAB2
|
||||
TAB3
|
||||
TABDLY
|
||||
TCP_CONNECTION_INFO
|
||||
TCP_FASTOPEN
|
||||
TCP_KEEPALIVE
|
||||
TCP_KEEPCNT
|
||||
@@ -1355,12 +1375,12 @@ TCP_MAXSEG
|
||||
TCP_NOOPT
|
||||
TCP_NOPUSH
|
||||
THOUSEP
|
||||
THREAD_BACKGROUND_POLICY
|
||||
THREAD_BACKGROUND_POLICY_DARWIN_BG
|
||||
THREAD_BACKGROUND_POLICY_COUNT
|
||||
THREAD_AFFINITY_POLICY
|
||||
THREAD_AFFINITY_POLICY_COUNT
|
||||
THREAD_AFFINITY_TAG_NULL
|
||||
THREAD_BACKGROUND_POLICY
|
||||
THREAD_BACKGROUND_POLICY_COUNT
|
||||
THREAD_BACKGROUND_POLICY_DARWIN_BG
|
||||
THREAD_BASIC_INFO
|
||||
THREAD_BASIC_INFO_COUNT
|
||||
THREAD_EXTENDED_INFO
|
||||
@@ -1657,10 +1677,10 @@ XATTR_SHOWCOMPRESSION
|
||||
XUCRED_VERSION
|
||||
YESEXPR
|
||||
YESSTR
|
||||
_CS_PATH
|
||||
_CS_DARWIN_USER_CACHE_DIR
|
||||
_CS_DARWIN_USER_DIR
|
||||
_CS_DARWIN_USER_TEMP_DIR
|
||||
_CS_DARWIN_USER_CACHE_DIR
|
||||
_CS_PATH
|
||||
_IOFBF
|
||||
_IOLBF
|
||||
_IONBF
|
||||
@@ -1728,8 +1748,8 @@ _SC_PRIORITY_SCHEDULING
|
||||
_SC_RAW_SOCKETS
|
||||
_SC_READER_WRITER_LOCKS
|
||||
_SC_REALTIME_SIGNALS
|
||||
_SC_RE_DUP_MAX
|
||||
_SC_REGEXP
|
||||
_SC_RE_DUP_MAX
|
||||
_SC_RTSIG_MAX
|
||||
_SC_SAVED_IDS
|
||||
_SC_SEMAPHORES
|
||||
@@ -1818,6 +1838,8 @@ arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
arphdr
|
||||
asctime
|
||||
asctime_r
|
||||
attrgroup_t
|
||||
attribute_set_t
|
||||
attrlist
|
||||
@@ -1827,6 +1849,7 @@ backtrace_from_fp
|
||||
backtrace_image_offsets
|
||||
backtrace_symbols
|
||||
backtrace_symbols_fd
|
||||
basename
|
||||
boolean_t
|
||||
bpf_hdr
|
||||
brk
|
||||
@@ -1841,11 +1864,20 @@ cmsghdr
|
||||
confstr
|
||||
connectx
|
||||
copyfile
|
||||
copyfile_callback_t
|
||||
copyfile_flags_t
|
||||
copyfile_state_alloc
|
||||
copyfile_state_free
|
||||
copyfile_state_get
|
||||
copyfile_state_set
|
||||
cpu_subtype_t
|
||||
cpu_type_t
|
||||
ctime
|
||||
ctime_r
|
||||
ctl_info
|
||||
difftime
|
||||
dirfd
|
||||
dirname
|
||||
disconnectx
|
||||
dqblk
|
||||
duplocale
|
||||
@@ -1854,6 +1886,7 @@ endpwent
|
||||
endservent
|
||||
endutxent
|
||||
exchangedata
|
||||
execvP
|
||||
faccessat
|
||||
fchdir
|
||||
fchflags
|
||||
@@ -1865,21 +1898,27 @@ flistxattr
|
||||
fmemopen
|
||||
fmount
|
||||
forkpty
|
||||
fpunchhole_t
|
||||
freadlink
|
||||
freeifaddrs
|
||||
freelocale
|
||||
fremovexattr
|
||||
fsetattrlist
|
||||
fsetxattr
|
||||
fsid_t
|
||||
fspecread_t
|
||||
fstatfs
|
||||
fstore_t
|
||||
ftok
|
||||
ftrimactivefile_t
|
||||
futimes
|
||||
getattrlist
|
||||
getattrlistat
|
||||
getattrlistbulk
|
||||
getdate
|
||||
getdomainname
|
||||
getdtablesize
|
||||
getentropy
|
||||
getfsstat
|
||||
getgrent
|
||||
getgrgid
|
||||
@@ -1923,6 +1962,9 @@ if_freenameindex
|
||||
if_msghdr
|
||||
if_nameindex
|
||||
ifaddrs
|
||||
ifconf
|
||||
ifkpi
|
||||
ifreq
|
||||
image_offset
|
||||
in6_pktinfo
|
||||
in_pktinfo
|
||||
@@ -1978,15 +2020,17 @@ malloc_zone_t
|
||||
malloc_zone_valloc
|
||||
max_align_t
|
||||
mcontext_t
|
||||
memory_object_t
|
||||
mem_entry_name_port_t
|
||||
memory_object_offset_t
|
||||
memory_object_t
|
||||
memset_pattern16
|
||||
memset_pattern4
|
||||
memset_pattern8
|
||||
memset_pattern16
|
||||
memset_s
|
||||
mem_entry_name_port_t
|
||||
mincore
|
||||
mkdirat
|
||||
mkfifoat
|
||||
mknodat
|
||||
mkstemps
|
||||
mount
|
||||
msghdr
|
||||
@@ -2004,21 +2048,21 @@ openat
|
||||
openpty
|
||||
os_log_create
|
||||
os_log_t
|
||||
os_log_type_t
|
||||
os_log_type_enabled
|
||||
os_log_type_t
|
||||
os_signpost_enabled
|
||||
os_signpost_id_generate
|
||||
os_signpost_id_make_with_pointer
|
||||
os_signpost_id_t
|
||||
os_signpost_type_t
|
||||
os_unfair_lock
|
||||
os_unfair_lock_assert_not_owner
|
||||
os_unfair_lock_assert_owner
|
||||
os_unfair_lock_lock
|
||||
os_unfair_lock_s
|
||||
os_unfair_lock_t
|
||||
os_unfair_lock_lock
|
||||
os_unfair_lock_trylock
|
||||
os_unfair_lock_unlock
|
||||
os_unfair_lock_assert_owner
|
||||
os_unfair_lock_assert_not_owner
|
||||
pause
|
||||
policy_t
|
||||
popen
|
||||
@@ -2031,37 +2075,41 @@ posix_spawn_file_actions_destroy
|
||||
posix_spawn_file_actions_init
|
||||
posix_spawn_file_actions_t
|
||||
posix_spawnattr_destroy
|
||||
posix_spawnattr_get_qos_class_np
|
||||
posix_spawnattr_getarchpref_np
|
||||
posix_spawnattr_getflags
|
||||
posix_spawnattr_getpgroup
|
||||
posix_spawnattr_getsigdefault
|
||||
posix_spawnattr_getsigmask
|
||||
posix_spawnattr_init
|
||||
posix_spawnattr_set_qos_class_np
|
||||
posix_spawnattr_setarchpref_np
|
||||
posix_spawnattr_setflags
|
||||
posix_spawnattr_setpgroup
|
||||
posix_spawnattr_setsigdefault
|
||||
posix_spawnattr_setsigmask
|
||||
posix_spawnattr_getbinpref_np
|
||||
posix_spawnattr_setbinpref_np
|
||||
posix_spawnattr_t
|
||||
posix_spawnp
|
||||
preadv
|
||||
proc_bsdinfo
|
||||
proc_kmsgbuf
|
||||
proc_libversion
|
||||
proc_listallpids
|
||||
proc_listchildpids
|
||||
proc_listpgrppids
|
||||
proc_listpids
|
||||
proc_libversion
|
||||
proc_name
|
||||
proc_pidinfo
|
||||
proc_pidfdinfo
|
||||
proc_pidfileportinfo
|
||||
proc_pidinfo
|
||||
proc_pidpath
|
||||
proc_regionfilename
|
||||
proc_set_no_smt
|
||||
proc_setthread_no_smt
|
||||
proc_set_csm
|
||||
proc_set_no_smt
|
||||
proc_setthread_csm
|
||||
proc_setthread_no_smt
|
||||
proc_taskallinfo
|
||||
proc_taskinfo
|
||||
proc_threadinfo
|
||||
@@ -2072,32 +2120,34 @@ pseudo_AF_RTIP
|
||||
pseudo_AF_XTP
|
||||
pthread_attr_getschedparam
|
||||
pthread_attr_setschedparam
|
||||
pthread_cancel
|
||||
pthread_condattr_getpshared
|
||||
pthread_condattr_setpshared
|
||||
pthread_cpu_number_np
|
||||
pthread_create_from_mach_thread
|
||||
pthread_from_mach_thread_np
|
||||
pthread_get_stackaddr_np
|
||||
pthread_get_stacksize_np
|
||||
pthread_getname_np
|
||||
pthread_getschedparam
|
||||
pthread_introspection_getspecific_np
|
||||
pthread_introspection_hook_t
|
||||
pthread_introspection_hook_install
|
||||
pthread_introspection_hook_t
|
||||
pthread_introspection_setspecific_np
|
||||
pthread_jit_write_callback_t
|
||||
pthread_jit_write_freeze_callbacks_np
|
||||
pthread_jit_write_protect_np
|
||||
pthread_jit_write_protect_supported_np
|
||||
pthread_jit_write_with_callback_np
|
||||
pthread_setschedparam
|
||||
pthread_cancel
|
||||
pthread_condattr_getpshared
|
||||
pthread_condattr_setpshared
|
||||
pthread_from_mach_thread_np
|
||||
pthread_get_stackaddr_np
|
||||
pthread_get_stacksize_np
|
||||
pthread_getname_np
|
||||
pthread_kill
|
||||
pthread_main_np
|
||||
pthread_mutexattr_getpshared
|
||||
pthread_mutexattr_setpshared
|
||||
pthread_rwlockattr_getpshared
|
||||
pthread_rwlockattr_setpshared
|
||||
pthread_setname_np
|
||||
pthread_setschedparam
|
||||
pthread_stack_frame_decode_np
|
||||
ptrace
|
||||
pututxline
|
||||
pwritev
|
||||
@@ -2166,6 +2216,7 @@ shmid_ds
|
||||
sigaltstack
|
||||
sigevent
|
||||
siginfo_t
|
||||
sigsuspend
|
||||
sigwait
|
||||
sockaddr_ctl
|
||||
sockaddr_dl
|
||||
@@ -2175,8 +2226,11 @@ stack_t
|
||||
statfs
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strftime
|
||||
strftime_l
|
||||
strncasecmp
|
||||
strndup
|
||||
strptime
|
||||
strsignal
|
||||
strtonum
|
||||
sync
|
||||
@@ -2194,6 +2248,7 @@ task_info
|
||||
task_inspect_t
|
||||
task_terminate
|
||||
task_threads
|
||||
tcp_connection_info
|
||||
telldir
|
||||
thread_basic_info_t
|
||||
thread_extended_info_t
|
||||
@@ -2202,11 +2257,11 @@ thread_identifier_info_t
|
||||
thread_info
|
||||
thread_info_t
|
||||
thread_inspect_t
|
||||
thread_policy_set
|
||||
thread_policy_get
|
||||
thread_policy_set
|
||||
time_value_t
|
||||
timeval32
|
||||
timex
|
||||
time_value_t
|
||||
truncate
|
||||
ttyname_r
|
||||
ucontext_t
|
||||
@@ -2216,6 +2271,8 @@ uselocale
|
||||
utimensat
|
||||
utmpx
|
||||
utmpxname
|
||||
vm_allocate
|
||||
vm_deallocate
|
||||
vm_inherit_t
|
||||
vm_map_t
|
||||
vm_prot_t
|
||||
@@ -2227,5 +2284,3 @@ wait4
|
||||
waitid
|
||||
xsw_usage
|
||||
xucred
|
||||
dirname
|
||||
basename
|
||||
|
||||
@@ -269,6 +269,7 @@ EV_ENABLE
|
||||
EV_EOF
|
||||
EV_ERROR
|
||||
EV_FLAG1
|
||||
EV_HUP
|
||||
EV_NODATA
|
||||
EV_ONESHOT
|
||||
EV_RECEIPT
|
||||
@@ -502,6 +503,12 @@ IP_TOS
|
||||
ITIMER_PROF
|
||||
ITIMER_REAL
|
||||
ITIMER_VIRTUAL
|
||||
KENV_GET
|
||||
KENV_SET
|
||||
KENV_UNSET
|
||||
KENV_DUMP
|
||||
KENV_MNAMELEN
|
||||
KENV_MVALLEN
|
||||
KERN_ARGMAX
|
||||
KERN_BOOTFILE
|
||||
KERN_BOOTTIME
|
||||
@@ -795,6 +802,25 @@ Q_SETQUOTA
|
||||
Q_SYNC
|
||||
RADIXCHAR
|
||||
RAND_MAX
|
||||
RB_ASKNAME
|
||||
RB_SINGLE
|
||||
RB_NOSYNC
|
||||
RB_HALT
|
||||
RB_INITNAME
|
||||
RB_DFLTROOT
|
||||
RB_KDB
|
||||
RB_RDONLY
|
||||
RB_DUMP
|
||||
RB_MINIROOT
|
||||
RB_VERBOSE
|
||||
RB_SERIAL
|
||||
RB_CDROM
|
||||
RB_POWEROFF
|
||||
RB_GDB
|
||||
RB_MUTE
|
||||
RB_SELFTEST
|
||||
RB_PAUSE
|
||||
RB_VIDEO
|
||||
REG_ASSERT
|
||||
REG_ATOI
|
||||
REG_BACKR
|
||||
@@ -1237,6 +1263,7 @@ chroot
|
||||
clearerr
|
||||
clock_getcpuclockid
|
||||
clock_getres
|
||||
clock_nanosleep
|
||||
clock_settime
|
||||
cmsgcred
|
||||
cmsghdr
|
||||
@@ -1261,6 +1288,8 @@ eui64_aton
|
||||
eui64_hostton
|
||||
eui64_ntoa
|
||||
eui64_ntohost
|
||||
exect
|
||||
execvP
|
||||
exit_status
|
||||
explicit_bzero
|
||||
faccessat
|
||||
@@ -1292,6 +1321,8 @@ getitimer
|
||||
getlastlogx
|
||||
getline
|
||||
getloadavg
|
||||
getmntinfo
|
||||
getmntvinfo
|
||||
getnameinfo
|
||||
getopt_long
|
||||
getpeereid
|
||||
@@ -1357,6 +1388,7 @@ lutimes
|
||||
lwp_rtprio
|
||||
lwpid_t
|
||||
madvise
|
||||
malloc_usable_size
|
||||
mcontext_t
|
||||
memmem
|
||||
memrchr
|
||||
@@ -1410,6 +1442,7 @@ pseudo_AF_XTP
|
||||
pthread_attr_get_np
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getstack
|
||||
pthread_attr_setguardsize
|
||||
pthread_barrierattr_destroy
|
||||
pthread_barrierattr_getpshared
|
||||
pthread_barrierattr_init
|
||||
@@ -1423,6 +1456,7 @@ pthread_condattr_getpshared
|
||||
pthread_condattr_setclock
|
||||
pthread_condattr_setpshared
|
||||
pthread_get_name_np
|
||||
pthread_getname_np
|
||||
pthread_getcpuclockid
|
||||
pthread_kill
|
||||
pthread_main_np
|
||||
@@ -1432,6 +1466,7 @@ pthread_mutexattr_setpshared
|
||||
pthread_rwlockattr_getpshared
|
||||
pthread_rwlockattr_setpshared
|
||||
pthread_set_name_np
|
||||
pthread_setname_np
|
||||
pthread_spin_destroy
|
||||
pthread_spin_init
|
||||
pthread_spin_lock
|
||||
@@ -1483,6 +1518,7 @@ setgroups
|
||||
sethostid
|
||||
sethostname
|
||||
setitimer
|
||||
setlogin
|
||||
setpriority
|
||||
setproctitle
|
||||
setprogname
|
||||
@@ -1502,6 +1538,7 @@ shmget
|
||||
sigaltstack
|
||||
sigevent
|
||||
siginfo_t
|
||||
sigsuspend
|
||||
sigtimedwait
|
||||
sigwait
|
||||
sigwaitinfo
|
||||
@@ -1512,6 +1549,8 @@ stack_t
|
||||
statfs
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strftime
|
||||
strftime_l
|
||||
strncasecmp
|
||||
strndup
|
||||
strsignal
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
getentropy
|
||||
posix_fallocate64
|
||||
@@ -84,21 +84,29 @@ ATF_PERM
|
||||
ATF_PUBL
|
||||
ATF_USETRAILERS
|
||||
AT_BASE
|
||||
AT_CANARY
|
||||
AT_EACCESS
|
||||
AT_EGID
|
||||
AT_EMPTY_PATH
|
||||
AT_ENTRY
|
||||
AT_EUID
|
||||
AT_EXECPATH
|
||||
AT_FDCWD
|
||||
AT_FLAGS
|
||||
AT_GID
|
||||
AT_HWCAP
|
||||
AT_HWCAP2
|
||||
AT_NCPUS
|
||||
AT_NOTELF
|
||||
AT_NULL
|
||||
AT_OSRELDATE
|
||||
AT_PAGESIZES
|
||||
AT_PAGESZ
|
||||
AT_PHDR
|
||||
AT_PHENT
|
||||
AT_PHNUM
|
||||
AT_REMOVEDIR
|
||||
AT_RESOLVE_BENEATH
|
||||
AT_SYMLINK_FOLLOW
|
||||
AT_SYMLINK_NOFOLLOW
|
||||
AT_UID
|
||||
@@ -147,10 +155,13 @@ CLD_EXITED
|
||||
CLD_KILLED
|
||||
CLD_STOPPED
|
||||
CLD_TRAPPED
|
||||
CLOCK_BOOTTIME
|
||||
CLOCK_MONOTONIC_COARSE
|
||||
CLOCK_MONOTONIC_FAST
|
||||
CLOCK_MONOTONIC_PRECISE
|
||||
CLOCK_PROCESS_CPUTIME_ID
|
||||
CLOCK_PROF
|
||||
CLOCK_REALTIME_COARSE
|
||||
CLOCK_REALTIME_FAST
|
||||
CLOCK_REALTIME_PRECISE
|
||||
CLOCK_SECOND
|
||||
@@ -302,6 +313,9 @@ EV_ENABLE
|
||||
EV_EOF
|
||||
EV_ERROR
|
||||
EV_FLAG1
|
||||
EV_FLAG2
|
||||
EV_FORCEONESHOT
|
||||
EV_KEEPUDATA
|
||||
EV_ONESHOT
|
||||
EV_RECEIPT
|
||||
EV_SYSFLAGS
|
||||
@@ -578,6 +592,14 @@ JAIL_SYS_DISABLE
|
||||
JAIL_SYS_INHERIT
|
||||
JAIL_SYS_NEW
|
||||
JAIL_UPDATE
|
||||
KENV_GET
|
||||
KENV_SET
|
||||
KENV_UNSET
|
||||
KENV_DUMP
|
||||
KENV_DUMP_LOADER
|
||||
KENV_DUMP_STATIC
|
||||
KENV_MNAMELEN
|
||||
KENV_MVALLEN
|
||||
KERN_ARGMAX
|
||||
KERN_ARND
|
||||
KERN_BOOTFILE
|
||||
@@ -697,6 +719,10 @@ MALLOCX_ARENA
|
||||
MALLOCX_ALIGN
|
||||
MALLOCX_TCACHE
|
||||
MALLOCX_ZERO
|
||||
MAP_ALIGNED
|
||||
MAP_ALIGNED_SUPER
|
||||
MAP_ALIGNMENT_MASK
|
||||
MAP_ALIGNMENT_SHIFT
|
||||
MAP_COPY
|
||||
MAP_EXCL
|
||||
MAP_FILE
|
||||
@@ -769,6 +795,7 @@ MSG_NBIO
|
||||
MSG_NOERROR
|
||||
MSG_NOSIGNAL
|
||||
MSG_NOTIFICATION
|
||||
MSG_WAITFORONE
|
||||
NANOSECOND
|
||||
NETGRAPHDISC
|
||||
NET_RT_DUMP
|
||||
@@ -786,8 +813,11 @@ NI_NUMERICSERV
|
||||
NOEXPR
|
||||
NOKERNINFO
|
||||
NOSTR
|
||||
NOTE_ABSTIME
|
||||
NOTE_ATTRIB
|
||||
NOTE_CHILD
|
||||
NOTE_CLOSE
|
||||
NOTE_CLOSE_WRITE
|
||||
NOTE_DELETE
|
||||
NOTE_EXEC
|
||||
NOTE_EXIT
|
||||
@@ -798,13 +828,16 @@ NOTE_FFCTRLMASK
|
||||
NOTE_FFLAGSMASK
|
||||
NOTE_FFNOP
|
||||
NOTE_FFOR
|
||||
NOTE_FILE_POLL
|
||||
NOTE_FORK
|
||||
NOTE_LINK
|
||||
NOTE_LOWAT
|
||||
NOTE_MSECONDS
|
||||
NOTE_NSECONDS
|
||||
NOTE_OPEN
|
||||
NOTE_PCTRLMASK
|
||||
NOTE_PDATAMASK
|
||||
NOTE_READ
|
||||
NOTE_RENAME
|
||||
NOTE_REVOKE
|
||||
NOTE_SECONDS
|
||||
@@ -819,14 +852,20 @@ ONOEOT
|
||||
OXTABS
|
||||
O_ASYNC
|
||||
O_DIRECT
|
||||
O_DSYNC
|
||||
O_EMPTY_PATH
|
||||
O_EXEC
|
||||
O_EXLOCK
|
||||
O_FSYNC
|
||||
O_NDELAY
|
||||
O_NOCTTY
|
||||
O_PATH
|
||||
O_RESOLVE_BENEATH
|
||||
O_SEARCH
|
||||
O_SHLOCK
|
||||
O_SYNC
|
||||
O_TTY_INIT
|
||||
O_VERIFY
|
||||
PD_ALLOWED_AT_FORK
|
||||
PD_CLOEXEC
|
||||
PD_DAEMON
|
||||
@@ -933,6 +972,8 @@ PROC_WX_MAPPINGS_PERMIT
|
||||
PROC_WXMAP_CTL
|
||||
PROC_WXMAP_STATUS
|
||||
PROC_WXORX_ENFORCE
|
||||
PROT_MAX
|
||||
PROT_MAX_EXTRACT
|
||||
PTHREAD_CREATE_DETACHED
|
||||
PTHREAD_CREATE_JOINABLE
|
||||
PTHREAD_MUTEX_ADAPTIVE_NP
|
||||
@@ -970,6 +1011,7 @@ PT_LWP_EVENTS
|
||||
PT_READ_D
|
||||
PT_READ_I
|
||||
PT_RESUME
|
||||
PT_SC_REMOTE
|
||||
PT_SETDBREGS
|
||||
PT_SETFPREGS
|
||||
PT_SETREGS
|
||||
@@ -996,6 +1038,28 @@ Q_SETQUOTA
|
||||
Q_SYNC
|
||||
RADIXCHAR
|
||||
RAND_MAX
|
||||
RB_ASKNAME
|
||||
RB_SINGLE
|
||||
RB_NOSYNC
|
||||
RB_HALT
|
||||
RB_INITNAME
|
||||
RB_DFLTROOT
|
||||
RB_KDB
|
||||
RB_RDONLY
|
||||
RB_DUMP
|
||||
RB_MINIROOT
|
||||
RB_VERBOSE
|
||||
RB_SERIAL
|
||||
RB_CDROM
|
||||
RB_POWEROFF
|
||||
RB_GDB
|
||||
RB_MUTE
|
||||
RB_SELFTEST
|
||||
RB_PAUSE
|
||||
RB_REROOT
|
||||
RB_POWERCYCLE
|
||||
RB_PROBE
|
||||
RB_MULTIPLE
|
||||
REG_ASSERT
|
||||
REG_ATOI
|
||||
REG_BACKR
|
||||
@@ -1036,6 +1100,7 @@ RFLINUXTHPN
|
||||
RFMEM
|
||||
RFNOWAIT
|
||||
RFPROC
|
||||
RFSIGSHARE
|
||||
RFSPAWN
|
||||
RFTHREAD
|
||||
RFTSIGZMB
|
||||
@@ -1075,9 +1140,148 @@ SCALE_PPM
|
||||
SCHED_FIFO
|
||||
SCHED_OTHER
|
||||
SCHED_RR
|
||||
SCM_CREDS
|
||||
SCM_RIGHTS
|
||||
SCM_TIMESTAMP
|
||||
SCM_CREDS
|
||||
SCM_BINTIME
|
||||
SCM_REALTIME
|
||||
SCM_MONOTONIC
|
||||
SCM_TIME_INFO
|
||||
SCM_CREDS2
|
||||
SCTP_ACTIVE
|
||||
SCTP_ALL_ASSOC
|
||||
SCTP_ADAPTATION_LAYER
|
||||
SCTP_ADAPTION_LAYER
|
||||
SCTP_ADDR_ADDED
|
||||
SCTP_ADDR_AVAILABLE
|
||||
SCTP_ADDR_CONFIRMED
|
||||
SCTP_ADDR_MADE_PRIM
|
||||
SCTP_ADDR_REMOVED
|
||||
SCTP_ADDR_UNREACHABLE
|
||||
SCTP_ADDR_OVER
|
||||
SCTP_ASCONF_SUPPORTED
|
||||
SCTP_ASSOCINFO
|
||||
SCTP_ASSOC_RESET_DENIED
|
||||
SCTP_ASSOC_RESET_FAILED
|
||||
SCTP_ASSOC_SUPPORTS_ASCONF
|
||||
SCTP_ASSOC_SUPPORTS_AUTH
|
||||
SCTP_ASSOC_SUPPORTS_INTERLEAVING
|
||||
SCTP_ASSOC_SUPPORTS_MAX
|
||||
SCTP_ASSOC_SUPPORTS_MULTIBUF
|
||||
SCTP_ASSOC_SUPPORTS_PR
|
||||
SCTP_ASSOC_SUPPORTS_RE_CONFIG
|
||||
SCTP_AUTHINFO
|
||||
SCTP_AUTH_CHUNK
|
||||
SCTP_AUTH_ACTIVE_KEY
|
||||
SCTP_AUTH_DEACTIVATE_KEY
|
||||
SCTP_AUTH_DELETE_KEY
|
||||
SCTP_AUTH_FREE_KEY
|
||||
SCTP_AUTH_KEY
|
||||
SCTP_AUTH_NEWKEY
|
||||
SCTP_AUTH_NEW_KEY
|
||||
SCTP_AUTH_NO_AUTH
|
||||
SCTP_AUTH_SUPPORTED
|
||||
SCTP_AUTOCLOSE
|
||||
SCTP_AUTO_ASCONF
|
||||
SCTP_CANT_STR_ASSOC
|
||||
SCTP_COMM_LOST
|
||||
SCTP_COMM_UP
|
||||
SCTP_COMPLETE
|
||||
SCTP_CONTEXT
|
||||
SCTP_CURRENT_ASSOC
|
||||
SCTP_DATA_SENT
|
||||
SCTP_DATA_UNSENT
|
||||
SCTP_DEFAULT_PRINFO
|
||||
SCTP_DEFAULT_SEND_PARAM
|
||||
SCTP_DEFAULT_SNDINFO
|
||||
SCTP_DELAYED_SACK
|
||||
SCTP_DISABLE_FRAGMENTS
|
||||
SCTP_DSTADDRV4
|
||||
SCTP_DSTADDRV6
|
||||
SCTP_ECN_SUPPORTED
|
||||
SCTP_EOF
|
||||
SCTP_EOR
|
||||
SCTP_EVENT
|
||||
SCTP_EVENTS
|
||||
SCTP_EXPLICIT_EOR
|
||||
SCTP_EXTRCV
|
||||
SCTP_FRAGMENT_INTERLEAVE
|
||||
SCTP_FUTURE_ASSOC
|
||||
SCTP_GET_ASSOC_ID_LIST
|
||||
SCTP_GET_ASSOC_NUMBER
|
||||
SCTP_GET_PEER_ADDR_INFO
|
||||
SCTP_HMAC_IDENT
|
||||
SCTP_INACTIVE
|
||||
SCTP_INIT
|
||||
SCTP_INITMSG
|
||||
SCTP_I_WANT_MAPPED_V4_ADDR
|
||||
SCTP_LOCAL_AUTH_CHUNKS
|
||||
SCTP_MAXBURST
|
||||
SCTP_MAX_BURST
|
||||
SCTP_MAX_CWND
|
||||
SCTP_MAXSEG
|
||||
SCTP_NEXT_MSG_AVAIL
|
||||
SCTP_NEXT_MSG_ISCOMPLETE
|
||||
SCTP_NEXT_MSG_IS_NOTIFICATION
|
||||
SCTP_NEXT_MSG_IS_UNORDERED
|
||||
SCTP_NODELAY
|
||||
SCTP_NOTIFICATION
|
||||
SCTP_NO_NEXT_MSG
|
||||
SCTP_NRSACK_SUPPORTED
|
||||
SCTP_NXTINFO
|
||||
SCTP_PARTIAL_DELIVERY_ABORTED
|
||||
SCTP_PARTIAL_DELIVERY_POINT
|
||||
SCTP_PEER_ADDR_PARAMS
|
||||
SCTP_PEER_ADDR_THLDS
|
||||
SCTP_PEER_AUTH_CHUNKS
|
||||
SCTP_PKTDROP_SUPPORTED
|
||||
SCTP_PRIMARY_ADDR
|
||||
SCTP_PR_ASSOC_STATUS
|
||||
SCTP_PR_SCTP_ALL
|
||||
SCTP_PR_SCTP_BUF
|
||||
SCTP_PR_SCTP_MAX
|
||||
SCTP_PR_SCTP_NONE
|
||||
SCTP_PR_SCTP_PRIO
|
||||
SCTP_PR_SCTP_RTX
|
||||
SCTP_PR_SCTP_TTL
|
||||
SCTP_PR_STREAM_STATUS
|
||||
SCTP_REMOTE_UDP_ENCAPS_PORT
|
||||
SCTP_RESTART
|
||||
SCTP_REUSE_PORT
|
||||
SCTP_PRINFO
|
||||
SCTP_RECONFIG_SUPPORTED
|
||||
SCTP_RECVNXTINFO
|
||||
SCTP_RECVRCVINFO
|
||||
SCTP_RECVV_NOINFO
|
||||
SCTP_RECVV_NXTINFO
|
||||
SCTP_RECVV_RCVINFO
|
||||
SCTP_RECVV_RN
|
||||
SCTP_RTOINFO
|
||||
SCTP_SACK_IMMEDIATELY
|
||||
SCTP_SENDALL
|
||||
SCTP_SENDV_AUTHINFO
|
||||
SCTP_SENDV_NOINFO
|
||||
SCTP_SENDV_PRINFO
|
||||
SCTP_SENDV_SNDINFO
|
||||
SCTP_SENDV_SPA
|
||||
SCTP_SEND_AUTHINFO_VALID
|
||||
SCTP_SEND_PRINFO_VALID
|
||||
SCTP_SEND_SNDINFO_VALID
|
||||
SCTP_SET_PEER_PRIMARY_ADDR
|
||||
SCTP_SHUTDOWN_COMP
|
||||
SCTP_SNDINFO
|
||||
SCTP_SNDRCV
|
||||
SCTP_STATUS
|
||||
SCTP_STREAM_CHANGE_DENIED
|
||||
SCTP_STREAM_CHANGE_FAILED
|
||||
SCTP_STREAM_RESET_DENIED
|
||||
SCTP_STREAM_RESET_FAILED
|
||||
SCTP_STREAM_RESET_INCOMING_SSN
|
||||
SCTP_STREAM_RESET_OUTGOING_SSN
|
||||
SCTP_TIMEOUTS
|
||||
SCTP_UNCONFIRMED
|
||||
SCTP_UNORDERED
|
||||
SCTP_USE_EXT_RCVINFO
|
||||
SEEK_DATA
|
||||
SEEK_HOLE
|
||||
SEM_FAILED
|
||||
@@ -1110,7 +1314,10 @@ SIGEV_THREAD
|
||||
SIGEV_THREAD_ID
|
||||
SIGINFO
|
||||
SIGIO
|
||||
SIGLIBRT
|
||||
SIGLWP
|
||||
SIGSTKSZ
|
||||
SIGTHR
|
||||
SIOCGIFADDR
|
||||
SLIPDISC
|
||||
SOCKCREDSIZE
|
||||
@@ -1136,6 +1343,13 @@ SO_REUSEPORT
|
||||
SO_REUSEPORT_LB
|
||||
SO_SETFIB
|
||||
SO_TIMESTAMP
|
||||
SO_TS_CLOCK
|
||||
SO_TS_REALTIME_MICRO
|
||||
SO_TS_BINTIME
|
||||
SO_TS_REALTIME
|
||||
SO_TS_MONOTONIC
|
||||
SO_TS_DEFAULT
|
||||
SO_TS_CLOCK_MAX
|
||||
SO_USELOOPBACK
|
||||
SO_USER_COOKIE
|
||||
SO_VENDOR
|
||||
@@ -1559,6 +1773,8 @@ eui64_aton
|
||||
eui64_hostton
|
||||
eui64_ntoa
|
||||
eui64_ntohost
|
||||
exect
|
||||
execvP
|
||||
explicit_bzero
|
||||
extattr_delete_fd
|
||||
extattr_delete_file
|
||||
@@ -1745,6 +1961,12 @@ pause
|
||||
pdfork
|
||||
pdgetpid
|
||||
pdkill
|
||||
pidfh
|
||||
pidfile_close
|
||||
pidfile_fileno
|
||||
pidfile_open
|
||||
pidfile_remove
|
||||
pidfile_write
|
||||
pipe2
|
||||
popen
|
||||
posix_fadvise
|
||||
@@ -1793,6 +2015,7 @@ pseudo_AF_XTP
|
||||
pthread_attr_get_np
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getstack
|
||||
pthread_attr_setguardsize
|
||||
pthread_barrierattr_destroy
|
||||
pthread_barrierattr_getpshared
|
||||
pthread_barrierattr_init
|
||||
@@ -1807,6 +2030,7 @@ pthread_condattr_getpshared
|
||||
pthread_condattr_setclock
|
||||
pthread_condattr_setpshared
|
||||
pthread_get_name_np
|
||||
pthread_getname_np
|
||||
pthread_getaffinity_np
|
||||
pthread_getcpuclockid
|
||||
pthread_getthreadid_np
|
||||
@@ -1822,6 +2046,7 @@ pthread_rwlockattr_getpshared
|
||||
pthread_rwlockattr_setpshared
|
||||
pthread_setaffinity_np
|
||||
pthread_set_name_np
|
||||
pthread_setname_np
|
||||
pthread_getschedparam
|
||||
pthread_setschedparam
|
||||
pthread_spin_destroy
|
||||
@@ -1833,6 +2058,7 @@ pthread_spinlock_t
|
||||
ptrace
|
||||
ptrace_io_desc
|
||||
ptrace_lwpinfo
|
||||
ptrace_sc_remote
|
||||
ptrace_sc_ret
|
||||
ptrace_vm_entry
|
||||
ptsname_r
|
||||
@@ -1868,6 +2094,58 @@ sched_param
|
||||
sched_rr_get_interval
|
||||
sched_setparam
|
||||
sched_setscheduler
|
||||
sctphdr
|
||||
sctp_adaptation_event
|
||||
sctp_assoc_change
|
||||
sctp_assoc_t
|
||||
sctp_authinfo
|
||||
sctp_bindx
|
||||
sctp_chunkhdr
|
||||
sctp_connectx
|
||||
sctp_default_prinfo
|
||||
sctp_error_auth_invalid_hmac
|
||||
sctp_error_cause
|
||||
sctp_error_invalid_stream
|
||||
sctp_error_missing_param
|
||||
sctp_error_no_user_data
|
||||
sctp_error_out_of_resource
|
||||
sctp_error_stale_cookie
|
||||
sctp_error_unrecognized_chunk
|
||||
sctp_error_unresolv_addr
|
||||
sctp_event
|
||||
sctp_event_subscribe
|
||||
sctp_extrcvinfo
|
||||
sctp_freepaddrs
|
||||
sctp_freeladdrs
|
||||
sctp_getaddrlen
|
||||
sctp_getladdrs
|
||||
sctp_getpaddrs
|
||||
sctp_gen_error_cause
|
||||
sctp_initmsg
|
||||
sctp_nxtinfo
|
||||
sctp_opt_info
|
||||
sctp_paddr_change
|
||||
sctp_pdapi_event
|
||||
sctp_peeloff
|
||||
sctp_prinfo
|
||||
sctp_rcvinfo
|
||||
sctp_recvv
|
||||
sctp_recvv_rn
|
||||
sctp_remote_error
|
||||
sctp_sender_dry_event
|
||||
sctp_send_failed_event
|
||||
sctp_sendv
|
||||
sctp_sendv_spa
|
||||
sctp_shutdown_event
|
||||
sctp_sndinfo
|
||||
sctp_sndrcvinfo
|
||||
sctp_snd_all_completes
|
||||
sctp_stream_change_event
|
||||
sctp_stream_reset_event
|
||||
sctp_paramhdr
|
||||
sctp_pcbinfo
|
||||
sctp_setadaptation
|
||||
sctp_sockstat
|
||||
sdallocx
|
||||
seed48
|
||||
seekdir
|
||||
@@ -1893,6 +2171,7 @@ setgroups
|
||||
sethostid
|
||||
sethostname
|
||||
setitimer
|
||||
setlogin
|
||||
setpriority
|
||||
setproctitle
|
||||
setprogname
|
||||
@@ -1913,6 +2192,7 @@ shmid_ds
|
||||
sigaltstack
|
||||
sigevent
|
||||
siginfo_t
|
||||
sigsuspend
|
||||
sigtimedwait
|
||||
sigwait
|
||||
sigwaitinfo
|
||||
@@ -1924,6 +2204,9 @@ stack_t
|
||||
statfs
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strchrnul
|
||||
strftime
|
||||
strftime_l
|
||||
strncasecmp
|
||||
strndup
|
||||
strsignal
|
||||
@@ -1934,6 +2217,7 @@ sysctlbyname
|
||||
sysctlnametomib
|
||||
tcp_fastopen
|
||||
tcp_function_set
|
||||
tcp_info
|
||||
telldir
|
||||
thr_kill
|
||||
thr_kill2
|
||||
@@ -1963,3 +2247,7 @@ xucred
|
||||
eaccess
|
||||
dirname
|
||||
basename
|
||||
closefrom
|
||||
close_range
|
||||
eventfd_read
|
||||
eventfd_write
|
||||
|
||||
@@ -256,7 +256,85 @@ ERFKILL
|
||||
ESOCKTNOSUPPORT
|
||||
ESRMNT
|
||||
ESTRPIPE
|
||||
ETH_P_LOOP
|
||||
ETH_P_PUP
|
||||
ETH_P_PUPAT
|
||||
ETH_P_IP
|
||||
ETH_P_X25
|
||||
ETH_P_ARP
|
||||
ETH_P_BPQ
|
||||
ETH_P_IEEEPUP
|
||||
ETH_P_IEEEPUPAT
|
||||
ETH_P_BATMAN
|
||||
ETH_P_DEC
|
||||
ETH_P_DNA_DL
|
||||
ETH_P_DNA_RC
|
||||
ETH_P_DNA_RT
|
||||
ETH_P_LAT
|
||||
ETH_P_DIAG
|
||||
ETH_P_CUST
|
||||
ETH_P_SCA
|
||||
ETH_P_TEB
|
||||
ETH_P_RARP
|
||||
ETH_P_ATALK
|
||||
ETH_P_AARP
|
||||
ETH_P_8021Q
|
||||
ETH_P_IPX
|
||||
ETH_P_IPV6
|
||||
ETH_P_PAUSE
|
||||
ETH_P_SLOW
|
||||
ETH_P_WCCP
|
||||
ETH_P_MPLS_UC
|
||||
ETH_P_MPLS_MC
|
||||
ETH_P_ATMMPOA
|
||||
ETH_P_PPP_DISC
|
||||
ETH_P_PPP_SES
|
||||
ETH_P_LINK_CTL
|
||||
ETH_P_ATMFATE
|
||||
ETH_P_PAE
|
||||
ETH_P_AOE
|
||||
ETH_P_8021AD
|
||||
ETH_P_802_EX1
|
||||
ETH_P_TIPC
|
||||
ETH_P_8021AH
|
||||
ETH_P_MVRP
|
||||
ETH_P_1588
|
||||
ETH_P_PRP
|
||||
ETH_P_FCOE
|
||||
ETH_P_TDLS
|
||||
ETH_P_FIP
|
||||
ETH_P_80221
|
||||
ETH_P_LOOPBACK
|
||||
ETH_P_QINQ1
|
||||
ETH_P_QINQ2
|
||||
ETH_P_QINQ3
|
||||
ETH_P_EDSA
|
||||
ETH_P_AF_IUCV
|
||||
ETH_P_802_3_MIN
|
||||
ETH_P_802_3
|
||||
ETH_P_AX25
|
||||
ETH_P_ALL
|
||||
ETH_P_802_2
|
||||
ETH_P_SNAP
|
||||
ETH_P_DDCMP
|
||||
ETH_P_WAN_PPP
|
||||
ETH_P_PPP_MP
|
||||
ETH_P_LOCALTALK
|
||||
ETH_P_CAN
|
||||
ETH_P_CANFD
|
||||
ETH_P_PPPTALK
|
||||
ETH_P_TR_802_2
|
||||
ETH_P_MOBITEX
|
||||
ETH_P_CONTROL
|
||||
ETH_P_IRDA
|
||||
ETH_P_ECONET
|
||||
ETH_P_HDLC
|
||||
ETH_P_ARCNET
|
||||
ETH_P_DSA
|
||||
ETH_P_TRAILER
|
||||
ETH_P_PHONET
|
||||
ETH_P_IEEE802154
|
||||
ETH_P_CAIF
|
||||
ETIME
|
||||
ETOOMANYREFS
|
||||
EUCLEAN
|
||||
@@ -671,6 +749,7 @@ PR_SET_NAME
|
||||
PR_SET_NO_NEW_PRIVS
|
||||
PR_SET_PDEATHSIG
|
||||
PR_SET_PTRACER
|
||||
PR_SET_PTRACER_ANY
|
||||
PR_SET_SECCOMP
|
||||
PR_SET_SECUREBITS
|
||||
PR_SET_THP_DISABLE
|
||||
@@ -1293,12 +1372,15 @@ ppoll
|
||||
preadv
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getstack
|
||||
pthread_attr_setguardsize
|
||||
pthread_cancel
|
||||
pthread_condattr_getclock
|
||||
pthread_condattr_setclock
|
||||
pthread_getattr_np
|
||||
pthread_getname_np
|
||||
pthread_kill
|
||||
pthread_mutex_timedlock
|
||||
pthread_setname_np
|
||||
ptsname_r
|
||||
pwritev
|
||||
quotactl
|
||||
@@ -1392,3 +1474,5 @@ utimensat
|
||||
vhangup
|
||||
vmsplice
|
||||
waitid
|
||||
HUGETLB_FLAG_ENCODE_SHIFT
|
||||
MAP_HUGE_SHIFT
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
PTRACE_GETFPREGS
|
||||
PTRACE_SETFPREGS
|
||||
PTRACE_GETFPXREGS
|
||||
PTRACE_SETFPXREGS
|
||||
PTRACE_GETREGS
|
||||
PTRACE_SETREGS
|
||||
@@ -31,25 +31,11 @@ BPF_FS_MAGIC
|
||||
BTRFS_SUPER_MAGIC
|
||||
CGROUP2_SUPER_MAGIC
|
||||
CGROUP_SUPER_MAGIC
|
||||
CLONE_NEWTIME
|
||||
CLONE_CLEAR_SIGHAND
|
||||
CLONE_INTO_CGROUP
|
||||
CODA_SUPER_MAGIC
|
||||
CRAMFS_MAGIC
|
||||
DCCP_SERVICE_LIST_MAX_LEN
|
||||
DCCP_SOCKOPT_AVAILABLE_CCIDS
|
||||
DCCP_SOCKOPT_CCID
|
||||
DCCP_SOCKOPT_CCID_RX_INFO
|
||||
DCCP_SOCKOPT_CCID_TX_INFO
|
||||
DCCP_SOCKOPT_CHANGE_L
|
||||
DCCP_SOCKOPT_CHANGE_R
|
||||
DCCP_SOCKOPT_GET_CUR_MPS
|
||||
DCCP_SOCKOPT_PACKET_SIZE
|
||||
DCCP_SOCKOPT_QPOLICY_ID
|
||||
DCCP_SOCKOPT_QPOLICY_TXQLEN
|
||||
DCCP_SOCKOPT_RECV_CSCOV
|
||||
DCCP_SOCKOPT_RX_CCID
|
||||
DCCP_SOCKOPT_SEND_CSCOV
|
||||
DCCP_SOCKOPT_SERVER_TIMEWAIT
|
||||
DCCP_SOCKOPT_SERVICE
|
||||
DCCP_SOCKOPT_TX_CCID
|
||||
DEAD_PROCESS
|
||||
DEBUGFS_MAGIC
|
||||
DEVPTS_SUPER_MAGIC
|
||||
@@ -68,6 +54,13 @@ FUTEXFS_SUPER_MAGIC
|
||||
GENL_ID_PMCRAID
|
||||
GENL_ID_VFS_DQUOT
|
||||
GENL_UNS_ADMIN_PERM
|
||||
GLOB_ALTDIRFUNC
|
||||
GLOB_BRACE
|
||||
GLOB_NOMAGIC
|
||||
GLOB_ONLYDIR
|
||||
GLOB_PERIOD
|
||||
GLOB_TILDE
|
||||
GLOB_TILDE_CHECK
|
||||
HOSTFS_SUPER_MAGIC
|
||||
HPFS_SUPER_MAGIC
|
||||
HUGETLBFS_MAGIC
|
||||
@@ -128,6 +121,7 @@ LM_ID_BASE
|
||||
LM_ID_NEWLM
|
||||
LOGIN_PROCESS
|
||||
Lmid_t
|
||||
MADV_COLLAPSE
|
||||
MAXTC
|
||||
MAX_LINKS
|
||||
MINIX2_SUPER_MAGIC
|
||||
@@ -146,6 +140,14 @@ MOD_OFFSET
|
||||
MOD_STATUS
|
||||
MOD_TAI
|
||||
MOD_TIMECONST
|
||||
MOVE_MOUNT_BENEATH
|
||||
MOVE_MOUNT_F_AUTOMOUNTS
|
||||
MOVE_MOUNT_F_EMPTY_PATH
|
||||
MOVE_MOUNT_F_SYMLINKS
|
||||
MOVE_MOUNT_SET_GROUP
|
||||
MOVE_MOUNT_T_AUTOMOUNTS
|
||||
MOVE_MOUNT_T_EMPTY_PATH
|
||||
MOVE_MOUNT_T_SYMLINKS
|
||||
MPOL_BIND
|
||||
MPOL_DEFAULT
|
||||
MPOL_F_NUMA_BALANCING
|
||||
@@ -362,6 +364,10 @@ PR_SET_VMA_ANON_NAME
|
||||
PROC_SUPER_MAGIC
|
||||
PTHREAD_MUTEX_ADAPTIVE_NP
|
||||
PTRACE_GET_SYSCALL_INFO
|
||||
PTRACE_SYSCALL_INFO_ENTRY
|
||||
PTRACE_SYSCALL_INFO_EXIT
|
||||
PTRACE_SYSCALL_INFO_NONE
|
||||
PTRACE_SYSCALL_INFO_SECCOMP
|
||||
QNX4_SUPER_MAGIC
|
||||
QNX6_SUPER_MAGIC
|
||||
RDTGROUP_SUPER_MAGIC
|
||||
@@ -431,6 +437,7 @@ STATX_BASIC_STATS
|
||||
STATX_BLOCKS
|
||||
STATX_BTIME
|
||||
STATX_CTIME
|
||||
STATX_DIOALIGN
|
||||
STATX_GID
|
||||
STATX_INO
|
||||
STATX_MNT_ID
|
||||
@@ -479,6 +486,29 @@ UDF_SUPER_MAGIC
|
||||
UNAME26
|
||||
USBDEVICE_SUPER_MAGIC
|
||||
USER_PROCESS
|
||||
XDP_SHARED_UMEM
|
||||
XDP_COPY
|
||||
XDP_ZEROCOPY
|
||||
XDP_USE_NEED_WAKEUP
|
||||
XDP_USE_SG
|
||||
XDP_UMEM_UNALIGNED_CHUNK_FLAG
|
||||
XDP_RING_NEED_WAKEUP
|
||||
XDP_MMAP_OFFSETS
|
||||
XDP_RX_RING
|
||||
XDP_TX_RING
|
||||
XDP_UMEM_REG
|
||||
XDP_UMEM_FILL_RING
|
||||
XDP_UMEM_COMPLETION_RING
|
||||
XDP_STATISTICS
|
||||
XDP_OPTIONS
|
||||
XDP_OPTIONS_ZEROCOPY
|
||||
XDP_PGOFF_RX_RING
|
||||
XDP_PGOFF_TX_RING
|
||||
XDP_UMEM_PGOFF_FILL_RING
|
||||
XDP_UMEM_PGOFF_COMPLETION_RING
|
||||
XSK_UNALIGNED_BUF_OFFSET_SHIFT
|
||||
XSK_UNALIGNED_BUF_ADDR_MASK
|
||||
XDP_PKT_CONTD
|
||||
XENFS_SUPER_MAGIC
|
||||
XFS_SUPER_MAGIC
|
||||
_SC_2_C_VERSION
|
||||
@@ -608,6 +638,7 @@ glob64
|
||||
glob64_t
|
||||
globfree
|
||||
globfree64
|
||||
iocb
|
||||
lio_listio
|
||||
mallinfo
|
||||
mallinfo2
|
||||
@@ -622,6 +653,10 @@ ntp_adjtime
|
||||
ntp_gettime
|
||||
ntptimeval
|
||||
open_wmemstream
|
||||
posix_spawn_file_actions_addchdir_np
|
||||
posix_spawn_file_actions_addfchdir_np
|
||||
posix_spawn_file_actions_addclosefrom_np
|
||||
posix_spawn_file_actions_addtcsetpgrp_np
|
||||
preadv2
|
||||
preadv64
|
||||
prlimit
|
||||
@@ -657,7 +692,13 @@ eaccess
|
||||
asctime_r
|
||||
ctime_r
|
||||
strftime
|
||||
strftime_l
|
||||
strptime
|
||||
dirname
|
||||
posix_basename
|
||||
gnu_basename
|
||||
gnu_basename
|
||||
getmntent_r
|
||||
putpwent
|
||||
putgrent
|
||||
execveat
|
||||
close_range
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
B2500000
|
||||
B3000000
|
||||
B3500000
|
||||
B4000000
|
||||
BPF_ABS
|
||||
BPF_ADD
|
||||
BPF_ALU
|
||||
BPF_B
|
||||
BPF_DIV
|
||||
BPF_H
|
||||
BPF_IMM
|
||||
BPF_IND
|
||||
BPF_JA
|
||||
BPF_JEQ
|
||||
BPF_JGE
|
||||
BPF_JGT
|
||||
BPF_JMP
|
||||
BPF_JUMP
|
||||
BPF_K
|
||||
BPF_LD
|
||||
BPF_LDX
|
||||
BPF_LEN
|
||||
BPF_LL_OFF
|
||||
BPF_MEM
|
||||
BPF_MISC
|
||||
BPF_MISCOP
|
||||
BPF_MOD
|
||||
BPF_MSH
|
||||
BPF_NEG
|
||||
BPF_NET_OFF
|
||||
BPF_RET
|
||||
BPF_RVAL
|
||||
BPF_ST
|
||||
BPF_STMT
|
||||
BPF_STX
|
||||
BPF_SUB
|
||||
BPF_W
|
||||
BPF_X
|
||||
BPF_XOR
|
||||
CIBAUD
|
||||
FICLONE
|
||||
FICLONERANGE
|
||||
flock64
|
||||
KEYCTL_CAPABILITIES
|
||||
KEYCTL_CAPS0_BIG_KEY
|
||||
KEYCTL_CAPS0_CAPABILITIES
|
||||
KEYCTL_CAPS0_DIFFIE_HELLMAN
|
||||
KEYCTL_CAPS0_INVALIDATE
|
||||
KEYCTL_CAPS0_MOVE
|
||||
KEYCTL_CAPS0_PERSISTENT_KEYRINGS
|
||||
KEYCTL_CAPS0_PUBLIC_KEY
|
||||
KEYCTL_CAPS0_RESTRICT_KEYRING
|
||||
KEYCTL_CAPS1_NS_KEYRING_NAME
|
||||
KEYCTL_CAPS1_NS_KEY_TAG
|
||||
KEYCTL_MOVE
|
||||
MADV_SOFT_OFFLINE
|
||||
MAP_SYNC
|
||||
NFT_MSG_DELOBJ
|
||||
NFT_MSG_GETOBJ
|
||||
NFT_MSG_GETOBJ_RESET
|
||||
NFT_MSG_NEWOBJ
|
||||
PTRACE_SYSEMU
|
||||
PTRACE_SYSEMU_SINGLESTEP
|
||||
SCM_TIMESTAMPNS
|
||||
SCM_WIFI_STATUS
|
||||
SIGSTKFLT
|
||||
SIGUNUSED
|
||||
SKF_AD_ALU_XOR_X
|
||||
SKF_AD_CPU
|
||||
SKF_AD_HATYPE
|
||||
SKF_AD_MARK
|
||||
SKF_AD_MAX
|
||||
SKF_AD_NLATTR
|
||||
SKF_AD_NLATTR_NEST
|
||||
SKF_AD_OFF
|
||||
SKF_AD_PAY_OFFSET
|
||||
SKF_AD_PKTTYPE
|
||||
SKF_AD_PROTOCOL
|
||||
SKF_AD_QUEUE
|
||||
SKF_AD_RANDOM
|
||||
SKF_AD_RXHASH
|
||||
SKF_AD_VLAN_TAG
|
||||
SKF_AD_VLAN_TAG_PRESENT
|
||||
SKF_AD_VLAN_TPID
|
||||
SKF_LL_OFF
|
||||
SKF_NET_OFF
|
||||
SO_ATTACH_BPF
|
||||
SO_ATTACH_FILTER
|
||||
SO_BPF_EXTENSIONS
|
||||
SO_BSDCOMPAT
|
||||
SO_DETACH_BPF
|
||||
SO_DETACH_FILTER
|
||||
SO_GET_FILTER
|
||||
SO_INCOMING_CPU
|
||||
SO_LOCK_FILTER
|
||||
SO_MAX_PACING_RATE
|
||||
SO_NO_CHECK
|
||||
SO_NOFCS
|
||||
SO_PEERNAME
|
||||
SO_PRIORITY
|
||||
SO_PROTOCOL
|
||||
SO_SECURITY_AUTHENTICATION
|
||||
SO_SECURITY_ENCRYPTION_NETWORK
|
||||
SO_SECURITY_ENCRYPTION_TRANSPORT
|
||||
SO_SELECT_ERR_QUEUE
|
||||
SO_TIMESTAMPNS
|
||||
SO_WIFI_STATUS
|
||||
SYS_accept
|
||||
SYS_msgctl
|
||||
SYS_msgget
|
||||
SYS_msgrcv
|
||||
SYS_msgsnd
|
||||
SYS_pkey_alloc
|
||||
SYS_pkey_free
|
||||
SYS_pkey_mprotect
|
||||
SYS_semctl
|
||||
SYS_semget
|
||||
SYS_semop
|
||||
SYS_semtimedop
|
||||
SYS_sendfile
|
||||
SYS_shmat
|
||||
SYS_shmctl
|
||||
SYS_shmdt
|
||||
SYS_shmget
|
||||
SYS_sync_file_range
|
||||
termios2
|
||||
TIOCCBRK
|
||||
TIOCGRS485
|
||||
TIOCSBRK
|
||||
TIOCSRS485
|
||||
XCASE
|
||||
max_align_t
|
||||
mcontext_t
|
||||
ucontext_t
|
||||
user_regs_struct
|
||||
user_fp_struct
|
||||
@@ -23,6 +23,30 @@ PF_XDP
|
||||
PIDFD_NONBLOCK
|
||||
PR_SET_VMA
|
||||
PR_SET_VMA_ANON_NAME
|
||||
SOL_XDP
|
||||
XDP_SHARED_UMEM
|
||||
XDP_COPY
|
||||
XDP_ZEROCOPY
|
||||
XDP_USE_NEED_WAKEUP
|
||||
XDP_USE_SG
|
||||
XDP_UMEM_UNALIGNED_CHUNK_FLAG
|
||||
XDP_RING_NEED_WAKEUP
|
||||
XDP_MMAP_OFFSETS
|
||||
XDP_RX_RING
|
||||
XDP_TX_RING
|
||||
XDP_UMEM_REG
|
||||
XDP_UMEM_FILL_RING
|
||||
XDP_UMEM_COMPLETION_RING
|
||||
XDP_STATISTICS
|
||||
XDP_OPTIONS
|
||||
XDP_OPTIONS_ZEROCOPY
|
||||
XDP_PGOFF_RX_RING
|
||||
XDP_PGOFF_TX_RING
|
||||
XDP_UMEM_PGOFF_FILL_RING
|
||||
XDP_UMEM_PGOFF_COMPLETION_RING
|
||||
XSK_UNALIGNED_BUF_OFFSET_SHIFT
|
||||
XSK_UNALIGNED_BUF_ADDR_MASK
|
||||
XDP_PKT_CONTD
|
||||
adjtimex
|
||||
aio_cancel
|
||||
aio_error
|
||||
@@ -33,6 +57,7 @@ aio_suspend
|
||||
aio_write
|
||||
aiocb
|
||||
clock_adjtime
|
||||
copy_file_range
|
||||
ctermid
|
||||
explicit_bzero
|
||||
futimes
|
||||
@@ -53,6 +78,7 @@ euidaccess
|
||||
eaccess
|
||||
asctime_r
|
||||
strftime
|
||||
strftime_l
|
||||
strptime
|
||||
dirname
|
||||
basename
|
||||
|
||||
+568
-2
@@ -71,8 +71,10 @@ ALG_OP_DECRYPT
|
||||
ALG_OP_ENCRYPT
|
||||
ALG_SET_AEAD_ASSOCLEN
|
||||
ALG_SET_AEAD_AUTHSIZE
|
||||
ALG_SET_DRBG_ENTROPY
|
||||
ALG_SET_IV
|
||||
ALG_SET_KEY
|
||||
ALG_SET_KEY_BY_KEY_SERIAL
|
||||
ALG_SET_OP
|
||||
ALT_DIGITS
|
||||
AM_STR
|
||||
@@ -176,6 +178,7 @@ AT_PHENT
|
||||
AT_PHNUM
|
||||
AT_PLATFORM
|
||||
AT_RANDOM
|
||||
AT_RECURSIVE
|
||||
AT_REMOVEDIR
|
||||
AT_SECURE
|
||||
AT_SYMLINK_FOLLOW
|
||||
@@ -236,6 +239,20 @@ CAN_RAW_LOOPBACK
|
||||
CAN_RAW_RECV_OWN_MSGS
|
||||
CAN_RAW_FD_FRAMES
|
||||
CAN_RAW_JOIN_FILTERS
|
||||
CAN_RAW_XL_FRAMES
|
||||
CANXL_HDR_SIZE
|
||||
CANXL_MAX_DLC
|
||||
CANXL_MAX_DLC_MASK
|
||||
CANXL_MAX_DLEN
|
||||
CANXL_MAX_MTU
|
||||
CANXL_MIN_DLC
|
||||
CANXL_MIN_DLEN
|
||||
CANXL_MIN_MTU
|
||||
CANXL_MTU
|
||||
CANXL_PRIO_BITS
|
||||
CANXL_PRIO_MASK
|
||||
CANXL_SEC
|
||||
CANXL_XLF
|
||||
CBAUD
|
||||
CBAUDEX
|
||||
CLD_CONTINUED
|
||||
@@ -333,6 +350,23 @@ DAY_4
|
||||
DAY_5
|
||||
DAY_6
|
||||
DAY_7
|
||||
DCCP_SERVICE_LIST_MAX_LEN
|
||||
DCCP_SOCKOPT_AVAILABLE_CCIDS
|
||||
DCCP_SOCKOPT_CCID
|
||||
DCCP_SOCKOPT_CCID_RX_INFO
|
||||
DCCP_SOCKOPT_CCID_TX_INFO
|
||||
DCCP_SOCKOPT_CHANGE_L
|
||||
DCCP_SOCKOPT_CHANGE_R
|
||||
DCCP_SOCKOPT_GET_CUR_MPS
|
||||
DCCP_SOCKOPT_PACKET_SIZE
|
||||
DCCP_SOCKOPT_QPOLICY_ID
|
||||
DCCP_SOCKOPT_QPOLICY_TXQLEN
|
||||
DCCP_SOCKOPT_RECV_CSCOV
|
||||
DCCP_SOCKOPT_RX_CCID
|
||||
DCCP_SOCKOPT_SEND_CSCOV
|
||||
DCCP_SOCKOPT_SERVER_TIMEWAIT
|
||||
DCCP_SOCKOPT_SERVICE
|
||||
DCCP_SOCKOPT_TX_CCID
|
||||
DT_UNKNOWN
|
||||
D_FMT
|
||||
D_T_FMT
|
||||
@@ -685,6 +719,8 @@ FANOTIFY_METADATA_VERSION
|
||||
FAN_ACCESS
|
||||
FAN_ACCESS_PERM
|
||||
FAN_ALLOW
|
||||
FAN_ATTRIB
|
||||
FAN_AUDIT
|
||||
FAN_CLASS_CONTENT
|
||||
FAN_CLASS_NOTIF
|
||||
FAN_CLASS_PRE_CONTENT
|
||||
@@ -692,25 +728,60 @@ FAN_CLOEXEC
|
||||
FAN_CLOSE
|
||||
FAN_CLOSE_NOWRITE
|
||||
FAN_CLOSE_WRITE
|
||||
FAN_CREATE
|
||||
FAN_DELETE
|
||||
FAN_DELETE_SELF
|
||||
FAN_DENY
|
||||
FAN_ENABLE_AUDIT
|
||||
FAN_EPIDFD
|
||||
FAN_EVENT_INFO_TYPE_DFID
|
||||
FAN_EVENT_INFO_TYPE_DFID_NAME
|
||||
FAN_EVENT_INFO_TYPE_ERROR
|
||||
FAN_EVENT_INFO_TYPE_FID
|
||||
FAN_EVENT_INFO_TYPE_NEW_DFID_NAME
|
||||
FAN_EVENT_INFO_TYPE_OLD_DFID_NAME
|
||||
FAN_EVENT_INFO_TYPE_PIDFD
|
||||
FAN_EVENT_ON_CHILD
|
||||
FAN_FS_ERROR
|
||||
FAN_INFO
|
||||
FAN_MARK_ADD
|
||||
FAN_MARK_DONT_FOLLOW
|
||||
FAN_MARK_EVICTABLE
|
||||
FAN_MARK_FILESYSTEM
|
||||
FAN_MARK_FLUSH
|
||||
FAN_MARK_IGNORE
|
||||
FAN_MARK_IGNORED_MASK
|
||||
FAN_MARK_IGNORED_SURV_MODIFY
|
||||
FAN_MARK_IGNORE_SURV
|
||||
FAN_MARK_INODE
|
||||
FAN_MARK_MOUNT
|
||||
FAN_MARK_ONLYDIR
|
||||
FAN_MARK_REMOVE
|
||||
FAN_MODIFY
|
||||
FAN_MOVE
|
||||
FAN_MOVED_FROM
|
||||
FAN_MOVED_TO
|
||||
FAN_MOVE_SELF
|
||||
FAN_NOFD
|
||||
FAN_NONBLOCK
|
||||
FAN_NOPIDFD
|
||||
FAN_ONDIR
|
||||
FAN_OPEN
|
||||
FAN_OPEN_EXEC
|
||||
FAN_OPEN_EXEC_PERM
|
||||
FAN_OPEN_PERM
|
||||
FAN_Q_OVERFLOW
|
||||
FAN_RENAME
|
||||
FAN_REPORT_DFID_NAME
|
||||
FAN_REPORT_DFID_NAME_TARGET
|
||||
FAN_REPORT_DIR_FID
|
||||
FAN_REPORT_FID
|
||||
FAN_REPORT_NAME
|
||||
FAN_REPORT_PIDFD
|
||||
FAN_REPORT_TARGET_FID
|
||||
FAN_REPORT_TID
|
||||
FAN_RESPONSE_INFO_AUDIT_RULE
|
||||
FAN_RESPONSE_INFO_NONE
|
||||
FAN_UNLIMITED_MARKS
|
||||
FAN_UNLIMITED_QUEUE
|
||||
FF0
|
||||
@@ -723,6 +794,15 @@ FIONCLEX
|
||||
FIONREAD
|
||||
FLUSHO
|
||||
FOPEN_MAX
|
||||
FS_IOC_GETFLAGS
|
||||
FS_IOC_SETFLAGS
|
||||
FS_IOC_GETVERSION
|
||||
FS_IOC_SETVERSION
|
||||
FS_IOC32_GETFLAGS
|
||||
FS_IOC32_SETFLAGS
|
||||
FS_IOC32_GETVERSION
|
||||
FS_IOC32_SETVERSION
|
||||
FUTEX_BITSET_MATCH_ANY
|
||||
FUTEX_CLOCK_REALTIME
|
||||
FUTEX_CMD_MASK
|
||||
FUTEX_CMP_REQUEUE
|
||||
@@ -730,6 +810,19 @@ FUTEX_CMP_REQUEUE_PI
|
||||
FUTEX_FD
|
||||
FUTEX_LOCK_PI
|
||||
FUTEX_LOCK_PI2
|
||||
FUTEX_OP
|
||||
FUTEX_OP_ADD
|
||||
FUTEX_OP_ANDN
|
||||
FUTEX_OP_CMP_EQ
|
||||
FUTEX_OP_CMP_GE
|
||||
FUTEX_OP_CMP_GT
|
||||
FUTEX_OP_CMP_LE
|
||||
FUTEX_OP_CMP_LT
|
||||
FUTEX_OP_CMP_NE
|
||||
FUTEX_OP_OPARG_SHIFT
|
||||
FUTEX_OP_OR
|
||||
FUTEX_OP_SET
|
||||
FUTEX_OP_XOR
|
||||
FUTEX_PRIVATE_FLAG
|
||||
FUTEX_REQUEUE
|
||||
FUTEX_TRYLOCK_PI
|
||||
@@ -786,7 +879,37 @@ GLOB_NOSPACE
|
||||
GRND_NONBLOCK
|
||||
GRND_RANDOM
|
||||
GRND_INSECURE
|
||||
HWTSTAMP_TX_OFF
|
||||
HWTSTAMP_TX_ON
|
||||
HWTSTAMP_TX_ONESTEP_SYNC
|
||||
HWTSTAMP_TX_ONESTEP_P2P
|
||||
HWTSTAMP_FILTER_NONE
|
||||
HWTSTAMP_FILTER_ALL
|
||||
HWTSTAMP_FILTER_SOME
|
||||
HWTSTAMP_FILTER_PTP_V1_L4_EVENT
|
||||
HWTSTAMP_FILTER_PTP_V1_L4_SYNC
|
||||
HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ
|
||||
HWTSTAMP_FILTER_PTP_V2_L4_EVENT
|
||||
HWTSTAMP_FILTER_PTP_V2_L4_SYNC
|
||||
HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ
|
||||
HWTSTAMP_FILTER_PTP_V2_L2_EVENT
|
||||
HWTSTAMP_FILTER_PTP_V2_L2_SYNC
|
||||
HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ
|
||||
HWTSTAMP_FILTER_PTP_V2_EVENT
|
||||
HWTSTAMP_FILTER_PTP_V2_SYNC
|
||||
HWTSTAMP_FILTER_PTP_V2_DELAY_REQ
|
||||
HWTSTAMP_FILTER_NTP_ALL
|
||||
IBSHIFT
|
||||
IF_LINK_MODE_DEFAULT
|
||||
IF_LINK_MODE_DORMANT
|
||||
IF_LINK_MODE_TESTING
|
||||
IF_OPER_DORMANT
|
||||
IF_OPER_DOWN
|
||||
IF_OPER_LOWERLAYERDOWN
|
||||
IF_OPER_NOTPRESENT
|
||||
IF_OPER_TESTING
|
||||
IF_OPER_UNKNOWN
|
||||
IF_OPER_UP
|
||||
IFA_ADDRESS
|
||||
IFA_ANYCAST
|
||||
IFA_BROADCAST
|
||||
@@ -817,8 +940,19 @@ IFF_LOWER_UP
|
||||
IFF_MASTER
|
||||
IFF_MULTICAST
|
||||
IFF_MULTI_QUEUE
|
||||
IFF_NO_CARRIER
|
||||
IFF_NOARP
|
||||
IFF_NOFILTER
|
||||
TUN_TX_TIMESTAMP
|
||||
TUN_F_CSUM
|
||||
TUN_F_TSO4
|
||||
TUN_F_TSO6
|
||||
TUN_F_TSO_ECN
|
||||
TUN_F_UFO
|
||||
TUN_F_USO4
|
||||
TUN_F_USO6
|
||||
TUN_PKT_STRIP
|
||||
TUN_FLT_ALLMULTI
|
||||
IFF_NOTRAILERS
|
||||
IFF_NO_PI
|
||||
IFF_ONE_QUEUE
|
||||
@@ -830,11 +964,14 @@ IFF_RUNNING
|
||||
IFF_SLAVE
|
||||
IFF_TAP
|
||||
IFF_TUN
|
||||
IFF_NAPI
|
||||
IFF_NAPI_FRAGS
|
||||
IFF_TUN_EXCL
|
||||
IFF_UP
|
||||
IFF_VNET_HDR
|
||||
IFLA_ADDRESS
|
||||
IFLA_AF_SPEC
|
||||
IFLA_ALLMULTI
|
||||
IFLA_ALT_IFNAME
|
||||
IFLA_BROADCAST
|
||||
IFLA_CARRIER
|
||||
@@ -844,6 +981,7 @@ IFLA_CARRIER_UP_COUNT
|
||||
IFLA_COST
|
||||
IFLA_EVENT
|
||||
IFLA_EXT_MASK
|
||||
IFLA_GRO_MAX_SIZE
|
||||
IFLA_GROUP
|
||||
IFLA_GSO_MAX_SEGS
|
||||
IFLA_GSO_MAX_SIZE
|
||||
@@ -874,6 +1012,8 @@ IFLA_NUM_TX_QUEUES
|
||||
IFLA_NUM_VF
|
||||
IFLA_OPERSTATE
|
||||
IFLA_PAD
|
||||
IFLA_PARENT_DEV_BUS_NAME
|
||||
IFLA_PARENT_DEV_NAME
|
||||
IFLA_PERM_ADDRESS
|
||||
IFLA_PHYS_PORT_ID
|
||||
IFLA_PHYS_PORT_NAME
|
||||
@@ -889,6 +1029,8 @@ IFLA_QDISC
|
||||
IFLA_STATS
|
||||
IFLA_STATS64
|
||||
IFLA_TARGET_NETNSID
|
||||
IFLA_TSO_MAX_SEGS
|
||||
IFLA_TSO_MAX_SIZE
|
||||
IFLA_TXQLEN
|
||||
IFLA_UNSPEC
|
||||
IFLA_VFINFO_LIST
|
||||
@@ -973,6 +1115,7 @@ IPPROTO_DSTOPTS
|
||||
IPPROTO_EGP
|
||||
IPPROTO_ENCAP
|
||||
IPPROTO_ESP
|
||||
IPPROTO_ETHERNET
|
||||
IPPROTO_FRAGMENT
|
||||
IPPROTO_GRE
|
||||
IPPROTO_HOPOPTS
|
||||
@@ -1147,6 +1290,12 @@ J1939_PGN_MAX
|
||||
J1939_PGN_PDU1_MAX
|
||||
J1939_PGN_REQUEST
|
||||
KERNEL_VERSION
|
||||
KEXEC_ARCH_MASK
|
||||
KEXEC_FILE_NO_INITRAMFS
|
||||
KEXEC_FILE_ON_CRASH
|
||||
KEXEC_FILE_UNLOAD
|
||||
KEXEC_ON_CRASH
|
||||
KEXEC_PRESERVE_CONTEXT
|
||||
KEYCTL_ASSUME_AUTHORITY
|
||||
KEYCTL_CHOWN
|
||||
KEYCTL_CLEAR
|
||||
@@ -1222,22 +1371,29 @@ LOG_FTP
|
||||
LOG_NFACILITIES
|
||||
LOG_PERROR
|
||||
L_tmpnam
|
||||
MADV_COLD
|
||||
MADV_DODUMP
|
||||
MADV_DOFORK
|
||||
MADV_DONTDUMP
|
||||
MADV_DONTFORK
|
||||
MADV_DONTNEED
|
||||
MADV_DONTNEED_LOCKED
|
||||
MADV_FREE
|
||||
MADV_HUGEPAGE
|
||||
MADV_HWPOISON
|
||||
MADV_KEEPONFORK
|
||||
MADV_MERGEABLE
|
||||
MADV_NOHUGEPAGE
|
||||
MADV_NORMAL
|
||||
MADV_PAGEOUT
|
||||
MADV_POPULATE_READ
|
||||
MADV_POPULATE_WRITE
|
||||
MADV_RANDOM
|
||||
MADV_REMOVE
|
||||
MADV_SEQUENTIAL
|
||||
MADV_UNMERGEABLE
|
||||
MADV_WILLNEED
|
||||
MADV_WIPEONFORK
|
||||
MAP_DENYWRITE
|
||||
MAP_EXECUTABLE
|
||||
MAP_FILE
|
||||
@@ -1279,9 +1435,22 @@ MCAST_MSFILTER
|
||||
MCAST_UNBLOCK_SOURCE
|
||||
MCL_CURRENT
|
||||
MCL_FUTURE
|
||||
MCL_ONFAULT
|
||||
MEMBARRIER_CMD_GLOBAL
|
||||
MEMBARRIER_CMD_GLOBAL_EXPEDITED
|
||||
MEMBARRIER_CMD_QUERY
|
||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED
|
||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE
|
||||
MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
|
||||
MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
|
||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED
|
||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
|
||||
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ
|
||||
MFD_ALLOW_SEALING
|
||||
MFD_CLOEXEC
|
||||
MFD_EXEC
|
||||
MFD_HUGETLB
|
||||
MFD_NOEXEC_SEAL
|
||||
MINSIGSTKSZ
|
||||
MMAP_PAGE_ZERO
|
||||
MNT_DETACH
|
||||
@@ -1317,6 +1486,7 @@ MSG_INFO
|
||||
MSG_MORE
|
||||
MSG_NOERROR
|
||||
MSG_NOSIGNAL
|
||||
MSG_NOTIFICATION
|
||||
MSG_RST
|
||||
MSG_STAT
|
||||
MSG_SYN
|
||||
@@ -1617,6 +1787,8 @@ NUD_STALE
|
||||
OFDEL
|
||||
OFILL
|
||||
OLCUC
|
||||
OPEN_TREE_CLOEXEC
|
||||
OPEN_TREE_CLONE
|
||||
O_ASYNC
|
||||
O_DIRECT
|
||||
O_DSYNC
|
||||
@@ -1755,6 +1927,15 @@ PR_MCE_KILL_LATE
|
||||
PR_MCE_KILL_SET
|
||||
PR_MPX_DISABLE_MANAGEMENT
|
||||
PR_MPX_ENABLE_MANAGEMENT
|
||||
PR_SCHED_CORE
|
||||
PR_SCHED_CORE_CREATE
|
||||
PR_SCHED_CORE_GET
|
||||
PR_SCHED_CORE_MAX
|
||||
PR_SCHED_CORE_SCOPE_PROCESS_GROUP
|
||||
PR_SCHED_CORE_SCOPE_THREAD
|
||||
PR_SCHED_CORE_SCOPE_THREAD_GROUP
|
||||
PR_SCHED_CORE_SHARE_FROM
|
||||
PR_SCHED_CORE_SHARE_TO
|
||||
PR_SET_CHILD_SUBREAPER
|
||||
PR_SET_DUMPABLE
|
||||
PR_SET_ENDIAN
|
||||
@@ -1782,6 +1963,7 @@ PR_SET_NAME
|
||||
PR_SET_NO_NEW_PRIVS
|
||||
PR_SET_PDEATHSIG
|
||||
PR_SET_PTRACER
|
||||
PR_SET_PTRACER_ANY
|
||||
PR_SET_SECCOMP
|
||||
PR_SET_SECUREBITS
|
||||
PR_SET_THP_DISABLE
|
||||
@@ -1806,7 +1988,10 @@ PTHREAD_PRIO_INHERIT
|
||||
PTHREAD_PRIO_PROTECT
|
||||
PTHREAD_PROCESS_PRIVATE
|
||||
PTHREAD_PROCESS_SHARED
|
||||
PTHREAD_INHERIT_SCHED
|
||||
PTHREAD_EXPLICIT_SCHED
|
||||
PTHREAD_STACK_MIN
|
||||
PTHREAD_ONCE_INIT
|
||||
PTRACE_ATTACH
|
||||
PTRACE_CONT
|
||||
PTRACE_DETACH
|
||||
@@ -1821,6 +2006,7 @@ PTRACE_EVENT_VFORK_DONE
|
||||
PTRACE_GETEVENTMSG
|
||||
PTRACE_GETREGSET
|
||||
PTRACE_GETSIGINFO
|
||||
PTRACE_GETSIGMASK
|
||||
PTRACE_INTERRUPT
|
||||
PTRACE_KILL
|
||||
PTRACE_LISTEN
|
||||
@@ -1846,6 +2032,7 @@ PTRACE_SEIZE
|
||||
PTRACE_SETOPTIONS
|
||||
PTRACE_SETREGSET
|
||||
PTRACE_SETSIGINFO
|
||||
PTRACE_SETSIGMASK
|
||||
PTRACE_SINGLESTEP
|
||||
PTRACE_SYSCALL
|
||||
PTRACE_TRACEME
|
||||
@@ -1938,6 +2125,7 @@ RESOLVE_IN_ROOT
|
||||
RESOLVE_NO_MAGICLINKS
|
||||
RESOLVE_NO_SYMLINKS
|
||||
RESOLVE_NO_XDEV
|
||||
RLIM64_INFINITY
|
||||
RLIMIT_AS
|
||||
RLIMIT_CORE
|
||||
RLIMIT_CPU
|
||||
@@ -1980,6 +2168,13 @@ RTCF_LOG
|
||||
RTCF_MASQ
|
||||
RTCF_NAT
|
||||
RTCF_VALVE
|
||||
RTEXT_FILTER_BRVLAN
|
||||
RTEXT_FILTER_BRVLAN_COMPRESSED
|
||||
RTEXT_FILTER_CFM_CONFIG
|
||||
RTEXT_FILTER_CFM_STATUS
|
||||
RTEXT_FILTER_MRP
|
||||
RTEXT_FILTER_SKIP_STATS
|
||||
RTEXT_FILTER_VF
|
||||
RTF_ADDRCLASSMASK
|
||||
RTF_ADDRCONF
|
||||
RTF_ALLONLINK
|
||||
@@ -2126,23 +2321,97 @@ SCM_J1939_ERRQUEUE
|
||||
SCM_J1939_PRIO
|
||||
SCM_TIMESTAMP
|
||||
SCM_TIMESTAMPING
|
||||
SCTP_ABORT
|
||||
SCTP_ADDR_OVER
|
||||
SCTP_ALL_ASSOC
|
||||
SCTP_ASSOCINFO
|
||||
SCTP_AUTH_CHUNK
|
||||
SCTP_AUTH_ACTIVE_KEY
|
||||
SCTP_AUTH_DEACTIVATE_KEY
|
||||
SCTP_AUTH_DELETE_KEY
|
||||
SCTP_AUTH_KEY
|
||||
SCTP_AUTO_ASCONF
|
||||
SCTP_AUTOCLOSE
|
||||
SCTP_CONTEXT
|
||||
SCTP_CURRENT_ASSOC
|
||||
SCTP_DELAYED_ACK
|
||||
SCTP_DELAYED_ACK_TIME
|
||||
SCTP_DELAYED_SACK
|
||||
SCTP_DEFAULT_SEND_PARAM
|
||||
SCTP_DEFAULT_SNDINFO
|
||||
SCTP_ENABLE_CHANGE_ASSOC_REQ
|
||||
SCTP_ENABLE_RESET_ASSOC_REQ
|
||||
SCTP_ENABLE_RESET_STREAM_REQ
|
||||
SCTP_ENABLE_STRRESET_MASK
|
||||
SCTP_EOF
|
||||
SCTP_EVENTS
|
||||
SCTP_FRAGMENT_INTERLEAVE
|
||||
SCTP_FUTURE_ASSOC
|
||||
SCTP_GET_ASSOC_ID_LIST
|
||||
SCTP_GET_ASSOC_NUMBER
|
||||
SCTP_GET_PEER_ADDR_INFO
|
||||
SCTP_HMAC_IDENT
|
||||
SCTP_I_WANT_MAPPED_V4_ADDR
|
||||
SCTP_INIT
|
||||
SCTP_INITMSG
|
||||
SCTP_LOCAL_AUTH_CHUNKS
|
||||
SCTP_MAX_BURST
|
||||
SCTP_MAXSEG
|
||||
SCTP_NODELAY
|
||||
SCTP_NOTIFICATION
|
||||
SCTP_NXTINFO
|
||||
SCTP_PARTIAL_DELIVERY_POINT
|
||||
SCTP_PEER_ADDR_PARAMS
|
||||
SCTP_PEER_ADDR_THLDS
|
||||
SCTP_PEER_ADDR_THLDS_V2
|
||||
SCTP_PEER_AUTH_CHUNKS
|
||||
SCTP_PR_SCTP_ALL
|
||||
SCTP_PR_SCTP_NONE
|
||||
SCTP_PR_SCTP_MASK
|
||||
SCTP_PR_SCTP_MAX
|
||||
SCTP_PR_SCTP_PRIO
|
||||
SCTP_PR_SCTP_RTX
|
||||
SCTP_PR_SCTP_TTL
|
||||
SCTP_PRIMARY_ADDR
|
||||
SCTP_RECVNXTINFO
|
||||
SCTP_RECVRCVINFO
|
||||
SCTP_REUSE_PORT
|
||||
SCTP_RTOINFO
|
||||
SCTP_SACK_IMMEDIATELY
|
||||
SCTP_SENDALL
|
||||
SCTP_SET_PEER_PRIMARY_ADDR
|
||||
SCTP_SNDRCV
|
||||
SCTP_STATUS
|
||||
SCTP_STREAM_RESET_INCOMING
|
||||
SCTP_STREAM_RESET_OUTGOING
|
||||
SCTP_UNORDERED
|
||||
SECCOMP_ADDFD_FLAG_SEND
|
||||
SECCOMP_ADDFD_FLAG_SETFD
|
||||
SECCOMP_FILTER_FLAG_LOG
|
||||
SECCOMP_FILTER_FLAG_NEW_LISTENER
|
||||
SECCOMP_FILTER_FLAG_SPEC_ALLOW
|
||||
SECCOMP_FILTER_FLAG_TSYNC
|
||||
SECCOMP_FILTER_FLAG_TSYNC_ESRCH
|
||||
SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV
|
||||
SECCOMP_GET_ACTION_AVAIL
|
||||
SECCOMP_GET_NOTIF_SIZES
|
||||
SECCOMP_MODE_DISABLED
|
||||
SECCOMP_MODE_FILTER
|
||||
SECCOMP_MODE_STRICT
|
||||
SECCOMP_MODE_FILTER
|
||||
SECCOMP_RET_ACTION
|
||||
SECCOMP_RET_ACTION_FULL
|
||||
SECCOMP_RET_ALLOW
|
||||
SECCOMP_RET_DATA
|
||||
SECCOMP_RET_ERRNO
|
||||
SECCOMP_RET_KILL
|
||||
SECCOMP_RET_KILL_PROCESS
|
||||
SECCOMP_RET_KILL_THREAD
|
||||
SECCOMP_RET_KILL
|
||||
SECCOMP_RET_LOG
|
||||
SECCOMP_RET_TRACE
|
||||
SECCOMP_RET_TRAP
|
||||
SECCOMP_SET_MODE_FILTER
|
||||
SECCOMP_SET_MODE_STRICT
|
||||
SECCOMP_USER_NOTIF_FLAG_CONTINUE
|
||||
SEEK_DATA
|
||||
SEEK_HOLE
|
||||
SELFMAG
|
||||
@@ -2178,6 +2447,7 @@ SIOCDIFADDR
|
||||
SIOCDRARP
|
||||
SIOCETHTOOL
|
||||
SIOCGARP
|
||||
SIOCGHWTSTAMP
|
||||
SIOCGIFADDR
|
||||
SIOCGIFBR
|
||||
SIOCGIFBRDADDR
|
||||
@@ -2203,6 +2473,7 @@ SIOGIFINDEX
|
||||
SIOCGMIIPHY
|
||||
SIOCGMIIREG
|
||||
SIOCSARP
|
||||
SIOCSHWTSTAMP
|
||||
SIOCSIFADDR
|
||||
SIOCSIFBR
|
||||
SIOCSIFBRDADDR
|
||||
@@ -2216,6 +2487,7 @@ SIOCSIFMAP
|
||||
SIOCSIFMEM
|
||||
SIOCSIFMETRIC
|
||||
SIOCSIFMTU
|
||||
SIOCSIFNAME
|
||||
SIOCSIFNETMASK
|
||||
SIOCSIFPFLAGS
|
||||
SIOCSIFSLAVE
|
||||
@@ -2224,6 +2496,237 @@ SIOCSMIIREG
|
||||
SIOCSRARP
|
||||
SIOCOUTQNSD
|
||||
SIOCWANDEV
|
||||
WIRELESS_EXT
|
||||
SIOCSIWCOMMIT
|
||||
SIOCGIWNAME
|
||||
SIOCSIWNWID
|
||||
SIOCGIWNWID
|
||||
SIOCSIWFREQ
|
||||
SIOCGIWFREQ
|
||||
SIOCSIWMODE
|
||||
SIOCGIWMODE
|
||||
SIOCSIWSENS
|
||||
SIOCGIWSENS
|
||||
SIOCSIWRANGE
|
||||
SIOCGIWRANGE
|
||||
SIOCSIWPRIV
|
||||
SIOCGIWPRIV
|
||||
SIOCSIWSTATS
|
||||
SIOCGIWSTATS
|
||||
SIOCSIWSPY
|
||||
SIOCGIWSPY
|
||||
SIOCSIWTHRSPY
|
||||
SIOCGIWTHRSPY
|
||||
SIOCSIWAP
|
||||
SIOCGIWAP
|
||||
SIOCGIWAPLIST
|
||||
SIOCSIWSCAN
|
||||
SIOCGIWSCAN
|
||||
SIOCSIWESSID
|
||||
SIOCGIWESSID
|
||||
SIOCSIWNICKN
|
||||
SIOCGIWNICKN
|
||||
SIOCSIWRATE
|
||||
SIOCGIWRATE
|
||||
SIOCSIWRTS
|
||||
SIOCGIWRTS
|
||||
SIOCSIWFRAG
|
||||
SIOCGIWFRAG
|
||||
SIOCSIWTXPOW
|
||||
SIOCGIWTXPOW
|
||||
SIOCSIWRETRY
|
||||
SIOCGIWRETRY
|
||||
SIOCSIWENCODE
|
||||
SIOCGIWENCODE
|
||||
SIOCSIWPOWER
|
||||
SIOCGIWPOWER
|
||||
SIOCSIWGENIE
|
||||
SIOCGIWGENIE
|
||||
SIOCSIWMLME
|
||||
SIOCSIWAUTH
|
||||
SIOCGIWAUTH
|
||||
SIOCSIWENCODEEXT
|
||||
SIOCGIWENCODEEXT
|
||||
SIOCSIWPMKSA
|
||||
SIOCIWFIRSTPRIV
|
||||
SIOCIWLASTPRIV
|
||||
SIOCIWFIRST
|
||||
SIOCIWLAST
|
||||
IWEVTXDROP
|
||||
IWEVQUAL
|
||||
IWEVCUSTOM
|
||||
IWEVREGISTERED
|
||||
IWEVEXPIRED
|
||||
IWEVGENIE
|
||||
IWEVMICHAELMICFAILURE
|
||||
IWEVASSOCREQIE
|
||||
IWEVASSOCRESPIE
|
||||
IWEVPMKIDCAND
|
||||
IWEVFIRST
|
||||
IW_PRIV_TYPE_MASK
|
||||
IW_PRIV_TYPE_NONE
|
||||
IW_PRIV_TYPE_BYTE
|
||||
IW_PRIV_TYPE_CHAR
|
||||
IW_PRIV_TYPE_INT
|
||||
IW_PRIV_TYPE_FLOAT
|
||||
IW_PRIV_TYPE_ADDR
|
||||
IW_PRIV_SIZE_FIXED
|
||||
IW_PRIV_SIZE_MASK
|
||||
IW_MAX_FREQUENCIES
|
||||
IW_MAX_BITRATES
|
||||
IW_MAX_TXPOWER
|
||||
IW_MAX_SPY
|
||||
IW_MAX_AP
|
||||
IW_ESSID_MAX_SIZE
|
||||
IW_MODE_AUTO
|
||||
IW_MODE_ADHOC
|
||||
IW_MODE_INFRA
|
||||
IW_MODE_MASTER
|
||||
IW_MODE_REPEAT
|
||||
IW_MODE_SECOND
|
||||
IW_MODE_MONITOR
|
||||
IW_MODE_MESH
|
||||
IW_QUAL_QUAL_UPDATED
|
||||
IW_QUAL_LEVEL_UPDATED
|
||||
IW_QUAL_NOISE_UPDATED
|
||||
IW_QUAL_ALL_UPDATED
|
||||
IW_QUAL_DBM
|
||||
IW_QUAL_QUAL_INVALID
|
||||
IW_QUAL_LEVEL_INVALID
|
||||
IW_QUAL_NOISE_INVALID
|
||||
IW_QUAL_RCPI
|
||||
IW_QUAL_ALL_INVALID
|
||||
IW_FREQ_AUTO
|
||||
IW_FREQ_FIXED
|
||||
IW_MAX_ENCODING_SIZES
|
||||
IW_ENCODING_TOKEN_MAX
|
||||
IW_ENCODE_INDEX
|
||||
IW_ENCODE_FLAGS
|
||||
IW_ENCODE_MODE
|
||||
IW_ENCODE_DISABLED
|
||||
IW_ENCODE_ENABLED
|
||||
IW_ENCODE_RESTRICTED
|
||||
IW_ENCODE_OPEN
|
||||
IW_ENCODE_NOKEY
|
||||
IW_ENCODE_TEMP
|
||||
IW_POWER_ON
|
||||
IW_POWER_TYPE
|
||||
IW_POWER_PERIOD
|
||||
IW_POWER_TIMEOUT
|
||||
IW_POWER_MODE
|
||||
IW_POWER_UNICAST_R
|
||||
IW_POWER_MULTICAST_R
|
||||
IW_POWER_ALL_R
|
||||
IW_POWER_FORCE_S
|
||||
IW_POWER_REPEATER
|
||||
IW_POWER_MODIFIER
|
||||
IW_POWER_MIN
|
||||
IW_POWER_MAX
|
||||
IW_POWER_RELATIVE
|
||||
IW_TXPOW_TYPE
|
||||
IW_TXPOW_DBM
|
||||
IW_TXPOW_MWATT
|
||||
IW_TXPOW_RELATIVE
|
||||
IW_TXPOW_RANGE
|
||||
IW_RETRY_ON
|
||||
IW_RETRY_TYPE
|
||||
IW_RETRY_LIMIT
|
||||
IW_RETRY_LIFETIME
|
||||
IW_RETRY_MODIFIER
|
||||
IW_RETRY_MIN
|
||||
IW_RETRY_MAX
|
||||
IW_RETRY_RELATIVE
|
||||
IW_RETRY_SHORT
|
||||
IW_RETRY_LONG
|
||||
IW_SCAN_DEFAULT
|
||||
IW_SCAN_ALL_ESSID
|
||||
IW_SCAN_THIS_ESSID
|
||||
IW_SCAN_ALL_FREQ
|
||||
IW_SCAN_THIS_FREQ
|
||||
IW_SCAN_ALL_MODE
|
||||
IW_SCAN_THIS_MODE
|
||||
IW_SCAN_ALL_RATE
|
||||
IW_SCAN_THIS_RATE
|
||||
IW_SCAN_TYPE_ACTIVE
|
||||
IW_SCAN_TYPE_PASSIVE
|
||||
IW_SCAN_MAX_DATA
|
||||
IW_SCAN_CAPA_NONE
|
||||
IW_SCAN_CAPA_ESSID
|
||||
IW_SCAN_CAPA_BSSID
|
||||
IW_SCAN_CAPA_CHANNEL
|
||||
IW_SCAN_CAPA_MODE
|
||||
IW_SCAN_CAPA_RATE
|
||||
IW_SCAN_CAPA_TYPE
|
||||
IW_SCAN_CAPA_TIME
|
||||
IW_CUSTOM_MAX
|
||||
IW_GENERIC_IE_MAX
|
||||
IW_MLME_DEAUTH
|
||||
IW_MLME_DISASSOC
|
||||
IW_MLME_AUTH
|
||||
IW_MLME_ASSOC
|
||||
IW_AUTH_INDEX
|
||||
IW_AUTH_FLAGS
|
||||
IW_AUTH_WPA_VERSION
|
||||
IW_AUTH_CIPHER_PAIRWISE
|
||||
IW_AUTH_CIPHER_GROUP
|
||||
IW_AUTH_KEY_MGMT
|
||||
IW_AUTH_TKIP_COUNTERMEASURES
|
||||
IW_AUTH_DROP_UNENCRYPTED
|
||||
IW_AUTH_80211_AUTH_ALG
|
||||
IW_AUTH_WPA_ENABLED
|
||||
IW_AUTH_RX_UNENCRYPTED_EAPOL
|
||||
IW_AUTH_ROAMING_CONTROL
|
||||
IW_AUTH_PRIVACY_INVOKED
|
||||
IW_AUTH_CIPHER_GROUP_MGMT
|
||||
IW_AUTH_MFP
|
||||
IW_AUTH_WPA_VERSION_DISABLED
|
||||
IW_AUTH_WPA_VERSION_WPA
|
||||
IW_AUTH_WPA_VERSION_WPA2
|
||||
IW_AUTH_CIPHER_NONE
|
||||
IW_AUTH_CIPHER_WEP40
|
||||
IW_AUTH_CIPHER_TKIP
|
||||
IW_AUTH_CIPHER_CCMP
|
||||
IW_AUTH_CIPHER_WEP104
|
||||
IW_AUTH_CIPHER_AES_CMAC
|
||||
IW_AUTH_KEY_MGMT_802_1X
|
||||
IW_AUTH_KEY_MGMT_PSK
|
||||
IW_AUTH_ALG_OPEN_SYSTEM
|
||||
IW_AUTH_ALG_SHARED_KEY
|
||||
IW_AUTH_ALG_LEAP
|
||||
IW_AUTH_ROAMING_ENABLE
|
||||
IW_AUTH_ROAMING_DISABLE
|
||||
IW_AUTH_MFP_DISABLED
|
||||
IW_AUTH_MFP_OPTIONAL
|
||||
IW_AUTH_MFP_REQUIRED
|
||||
IW_ENCODE_SEQ_MAX_SIZE
|
||||
IW_ENCODE_ALG_NONE
|
||||
IW_ENCODE_ALG_WEP
|
||||
IW_ENCODE_ALG_TKIP
|
||||
IW_ENCODE_ALG_CCMP
|
||||
IW_ENCODE_ALG_PMK
|
||||
IW_ENCODE_ALG_AES_CMAC
|
||||
IW_ENCODE_EXT_TX_SEQ_VALID
|
||||
IW_ENCODE_EXT_RX_SEQ_VALID
|
||||
IW_ENCODE_EXT_GROUP_KEY
|
||||
IW_ENCODE_EXT_SET_TX_KEY
|
||||
IW_MICFAILURE_KEY_ID
|
||||
IW_MICFAILURE_GROUP
|
||||
IW_MICFAILURE_PAIRWISE
|
||||
IW_MICFAILURE_STAKEY
|
||||
IW_MICFAILURE_COUNT
|
||||
IW_ENC_CAPA_WPA
|
||||
IW_ENC_CAPA_WPA2
|
||||
IW_ENC_CAPA_CIPHER_TKIP
|
||||
IW_ENC_CAPA_CIPHER_CCMP
|
||||
IW_ENC_CAPA_4WAY_HANDSHAKE
|
||||
IW_PMKSA_ADD
|
||||
IW_PMKSA_REMOVE
|
||||
IW_PMKSA_FLUSH
|
||||
IW_PMKID_LEN
|
||||
IW_PMKID_CAND_PREAUTH
|
||||
IW_EV_CHAR_PK_LEN
|
||||
IW_EV_LCP_PK_LEN
|
||||
IW_EV_POINT_PK_LEN
|
||||
SI_LOAD_SHIFT
|
||||
SND_CNT
|
||||
SND_MAX
|
||||
@@ -2268,6 +2771,7 @@ SOL_NETBEUI
|
||||
SOL_NETLINK
|
||||
SOL_TCP
|
||||
SOL_TIPC
|
||||
SOL_TLS
|
||||
SOL_UDP
|
||||
SOL_X25
|
||||
SOMAXCONN
|
||||
@@ -2660,6 +3164,34 @@ TIOCSCTTY
|
||||
TIOCSPGRP
|
||||
TIOCSSOFTCAR
|
||||
TIOCSTI
|
||||
TLS_1_2_VERSION
|
||||
TLS_1_2_VERSION_MAJOR
|
||||
TLS_1_2_VERSION_MINOR
|
||||
TLS_1_3_VERSION
|
||||
TLS_1_3_VERSION_MAJOR
|
||||
TLS_1_3_VERSION_MINOR
|
||||
TLS_CIPHER_AES_GCM_128
|
||||
TLS_CIPHER_AES_GCM_128_IV_SIZE
|
||||
TLS_CIPHER_AES_GCM_128_KEY_SIZE
|
||||
TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE
|
||||
TLS_CIPHER_AES_GCM_128_SALT_SIZE
|
||||
TLS_CIPHER_AES_GCM_128_TAG_SIZE
|
||||
TLS_CIPHER_AES_GCM_256
|
||||
TLS_CIPHER_AES_GCM_256_IV_SIZE
|
||||
TLS_CIPHER_AES_GCM_256_KEY_SIZE
|
||||
TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE
|
||||
TLS_CIPHER_AES_GCM_256_SALT_SIZE
|
||||
TLS_CIPHER_AES_GCM_256_TAG_SIZE
|
||||
TLS_CIPHER_CHACHA20_POLY1305
|
||||
TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE
|
||||
TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE
|
||||
TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE
|
||||
TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE
|
||||
TLS_CIPHER_CHACHA20_POLY1305_TAG_SIZE
|
||||
TLS_GET_RECORD_TYPE
|
||||
TLS_RX
|
||||
TLS_SET_RECORD_TYPE
|
||||
TLS_TX
|
||||
TUN_READQ_SIZE
|
||||
TUN_TAP_DEV
|
||||
TUN_TUN_DEV
|
||||
@@ -2846,6 +3378,8 @@ __SIZEOF_PTHREAD_MUTEXATTR_T
|
||||
__SIZEOF_PTHREAD_MUTEX_T
|
||||
__SIZEOF_PTHREAD_RWLOCKATTR_T
|
||||
__SIZEOF_PTHREAD_RWLOCK_T
|
||||
__SIZEOF_PTHREAD_BARRIERATTR_T
|
||||
__SIZEOF_PTHREAD_BARRIER_T
|
||||
__WALL
|
||||
__WCLONE
|
||||
__WNOTHREAD
|
||||
@@ -2876,6 +3410,7 @@ can_err_mask_t
|
||||
can_filter
|
||||
can_frame
|
||||
canfd_frame
|
||||
canxl_frame
|
||||
canid_t
|
||||
chroot
|
||||
clearenv
|
||||
@@ -2988,6 +3523,7 @@ getspnam_r
|
||||
gettid
|
||||
getxattr
|
||||
hasmntopt
|
||||
hwtstamp_config
|
||||
iconv
|
||||
iconv_close
|
||||
iconv_open
|
||||
@@ -2998,6 +3534,7 @@ if_freenameindex
|
||||
if_nameindex
|
||||
ifaddrs
|
||||
ifreq
|
||||
ifconf
|
||||
in6_ifreq
|
||||
in6_pktinfo
|
||||
in6_rtmsg
|
||||
@@ -3133,7 +3670,14 @@ priority_t
|
||||
pread64
|
||||
preadv
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getinheritsched
|
||||
pthread_attr_setinheritsched
|
||||
pthread_attr_getschedpolicy
|
||||
pthread_attr_setschedpolicy
|
||||
pthread_attr_getschedparam
|
||||
pthread_attr_setschedparam
|
||||
pthread_attr_getstack
|
||||
pthread_attr_setguardsize
|
||||
pthread_cancel
|
||||
pthread_condattr_getclock
|
||||
pthread_condattr_getpshared
|
||||
@@ -3164,6 +3708,17 @@ pthread_spin_lock
|
||||
pthread_spin_trylock
|
||||
pthread_spin_unlock
|
||||
pthread_spinlock_t
|
||||
pthread_barrierattr_init
|
||||
pthread_barrierattr_setpshared
|
||||
pthread_barrierattr_getpshared
|
||||
pthread_barrierattr_destroy
|
||||
pthread_barrier_init
|
||||
pthread_barrier_wait
|
||||
pthread_barrier_destroy
|
||||
pthread_barrierattr_t
|
||||
pthread_barrier_t
|
||||
pthread_once
|
||||
pthread_once_t
|
||||
ptrace
|
||||
ptsname_r
|
||||
pwrite64
|
||||
@@ -3203,7 +3758,12 @@ sched_rr_get_interval
|
||||
sched_setaffinity
|
||||
sched_setparam
|
||||
sched_setscheduler
|
||||
sctp_assoc_t
|
||||
seccomp_data
|
||||
seccomp_notif
|
||||
seccomp_notif_addfd
|
||||
seccomp_notif_resp
|
||||
seccomp_notif_sizes
|
||||
seed48
|
||||
seekdir
|
||||
sem_close
|
||||
@@ -3273,6 +3833,7 @@ statfs64
|
||||
statvfs64
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strchrnul
|
||||
strncasecmp
|
||||
strndup
|
||||
strsignal
|
||||
@@ -3314,3 +3875,8 @@ vhangup
|
||||
vmsplice
|
||||
wait4
|
||||
waitid
|
||||
eventfd_read
|
||||
eventfd_write
|
||||
__c_anonymous_ifru_map
|
||||
__c_anonymous_ifr_ifru
|
||||
__c_anonymous_ifc_ifcu
|
||||
|
||||
@@ -1,3 +1,60 @@
|
||||
_REG_CPSR
|
||||
_REG_ELR
|
||||
_REG_FP
|
||||
_REG_LR
|
||||
_REG_PC
|
||||
_REG_R0
|
||||
_REG_R1
|
||||
_REG_R10
|
||||
_REG_R11
|
||||
_REG_R12
|
||||
_REG_R13
|
||||
_REG_R14
|
||||
_REG_R15
|
||||
_REG_R2
|
||||
_REG_R3
|
||||
_REG_R4
|
||||
_REG_R5
|
||||
_REG_R6
|
||||
_REG_R7
|
||||
_REG_R8
|
||||
_REG_R9
|
||||
_REG_RV
|
||||
_REG_SP
|
||||
_REG_SPSR
|
||||
_REG_TIPDR
|
||||
_REG_X0
|
||||
_REG_X1
|
||||
_REG_X2
|
||||
_REG_X3
|
||||
_REG_X4
|
||||
_REG_X5
|
||||
_REG_X6
|
||||
_REG_X7
|
||||
_REG_X8
|
||||
_REG_X9
|
||||
_REG_X10
|
||||
_REG_X11
|
||||
_REG_X12
|
||||
_REG_X13
|
||||
_REG_X14
|
||||
_REG_X15
|
||||
_REG_X16
|
||||
_REG_X17
|
||||
_REG_X18
|
||||
_REG_X19
|
||||
_REG_X20
|
||||
_REG_X21
|
||||
_REG_X22
|
||||
_REG_X23
|
||||
_REG_X24
|
||||
_REG_X25
|
||||
_REG_X26
|
||||
_REG_X27
|
||||
_REG_X28
|
||||
_REG_X29
|
||||
_REG_X30
|
||||
_REG_X31
|
||||
PT_GETFPREGS
|
||||
PT_GETREGS
|
||||
PT_SETFPREGS
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
PT_GETREGS
|
||||
PT_SETREGS
|
||||
PT_GETFPREGS
|
||||
PT_SETFPREGS
|
||||
@@ -1,4 +1,28 @@
|
||||
Aux64Info
|
||||
_REG_DS
|
||||
_REG_ERR
|
||||
_REG_ES
|
||||
_REG_FS
|
||||
_REG_GS
|
||||
_REG_R10
|
||||
_REG_R11
|
||||
_REG_R12
|
||||
_REG_R13
|
||||
_REG_R14
|
||||
_REG_R15
|
||||
_REG_R8
|
||||
_REG_R9
|
||||
_REG_RAX
|
||||
_REG_RBP
|
||||
_REG_RBX
|
||||
_REG_RCX
|
||||
_REG_RDI
|
||||
_REG_RFLAGS
|
||||
_REG_RIP
|
||||
_REG_RSI
|
||||
_REG_RSP
|
||||
_REG_SS
|
||||
_REG_TRAPNO
|
||||
PT_GETFPREGS
|
||||
PT_GETREGS
|
||||
PT_SETFPREGS
|
||||
|
||||
@@ -298,10 +298,13 @@ ETIME
|
||||
ETOOMANYREFS
|
||||
EUSERS
|
||||
EVFILT_AIO
|
||||
EVFILT_EMPTY
|
||||
EVFILT_FS
|
||||
EVFILT_PROC
|
||||
EVFILT_READ
|
||||
EVFILT_SIGNAL
|
||||
EVFILT_TIMER
|
||||
EVFILT_USER
|
||||
EVFILT_VNODE
|
||||
EVFILT_WRITE
|
||||
EV_ADD
|
||||
@@ -396,6 +399,9 @@ GLOB_NOMATCH
|
||||
GLOB_NOSORT
|
||||
GLOB_NOSPACE
|
||||
GLOB_NOSYS
|
||||
GRND_INSECURE
|
||||
GRND_NONBLOCK
|
||||
GRND_RANDOM
|
||||
HW_NCPU
|
||||
IFF_ALLMULTI
|
||||
IFF_BROADCAST
|
||||
@@ -622,6 +628,7 @@ MADV_NORMAL
|
||||
MADV_RANDOM
|
||||
MADV_SEQUENTIAL
|
||||
MADV_WILLNEED
|
||||
MAP_ALIGNED
|
||||
MAP_ALIGNMENT_16MB
|
||||
MAP_ALIGNMENT_1TB
|
||||
MAP_ALIGNMENT_256TB
|
||||
@@ -636,6 +643,7 @@ MAP_NORESERVE
|
||||
MAP_REMAPDUP
|
||||
MAP_RENAME
|
||||
MAP_STACK
|
||||
MAP_TRYFIXED
|
||||
MAP_WIRED
|
||||
MAXFREQ
|
||||
MAXPHASE
|
||||
@@ -664,6 +672,9 @@ MNT_RELATIME
|
||||
MNT_SOFTDEP
|
||||
MNT_SYMPERM
|
||||
MNT_UNION
|
||||
MNT_WAIT
|
||||
MNT_NOWAIT
|
||||
MNT_LAZY
|
||||
MOD_CLKA
|
||||
MOD_CLKB
|
||||
MOD_ESTERROR
|
||||
@@ -717,21 +728,32 @@ NI_WITHSCOPEID
|
||||
NOEXPR
|
||||
NOKERNINFO
|
||||
NOSTR
|
||||
NOTE_ABSTIME
|
||||
NOTE_ATTRIB
|
||||
NOTE_CHILD
|
||||
NOTE_DELETE
|
||||
NOTE_EXEC
|
||||
NOTE_EXIT
|
||||
NOTE_EXTEND
|
||||
NOTE_FFAND
|
||||
NOTE_FFCOPY
|
||||
NOTE_FFCTRLMASK
|
||||
NOTE_FFLAGSMASK
|
||||
NOTE_FFNOP
|
||||
NOTE_FFOR
|
||||
NOTE_FORK
|
||||
NOTE_LINK
|
||||
NOTE_LOWAT
|
||||
NOTE_MSECONDS
|
||||
NOTE_NSECONDS
|
||||
NOTE_PCTRLMASK
|
||||
NOTE_PDATAMASK
|
||||
NOTE_RENAME
|
||||
NOTE_REVOKE
|
||||
NOTE_TRACK
|
||||
NOTE_TRACKERR
|
||||
NOTE_TRIGGER
|
||||
NOTE_USECONDS
|
||||
NOTE_WRITE
|
||||
NTP_API
|
||||
OFIOGETBMAP
|
||||
@@ -842,6 +864,19 @@ Q_SETQUOTA
|
||||
Q_SYNC
|
||||
RADIXCHAR
|
||||
RAND_MAX
|
||||
RB_ASKNAME
|
||||
RB_AUTOBOOT
|
||||
RB_DUMP
|
||||
RB_HALT
|
||||
RB_INITNAME
|
||||
RB_KDB
|
||||
RB_MINIROOT
|
||||
RB_NOSYNC
|
||||
RB_POWERDOWN
|
||||
RB_RDONLY
|
||||
RB_SINGLE
|
||||
RB_STRING
|
||||
RB_USERCONF
|
||||
REG_ASSERT
|
||||
REG_ATOI
|
||||
REG_BACKR
|
||||
@@ -936,6 +971,7 @@ SOCK_RDM
|
||||
SOMAXCONN
|
||||
SO_ACCEPTFILTER
|
||||
SO_NOHEADER
|
||||
SO_NOSIGPIPE
|
||||
SO_OVERFLOWED
|
||||
SO_REUSEPORT
|
||||
SO_TIMESTAMP
|
||||
@@ -1037,9 +1073,13 @@ VM_PROC_MAP
|
||||
VREPRINT
|
||||
VSTATUS
|
||||
VWERASE
|
||||
WALLSIG
|
||||
WALTSIG
|
||||
WEXITED
|
||||
WNOWAIT
|
||||
WNOZOMBIE
|
||||
WSTOPPED
|
||||
WTRAPPED
|
||||
YESEXPR
|
||||
YESSTR
|
||||
_IOFBF
|
||||
@@ -1166,6 +1206,11 @@ arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
arphdr
|
||||
backtrace
|
||||
backtrace_symbols
|
||||
backtrace_symbols_fd
|
||||
backtrace_symbols_fmt
|
||||
backtrace_symbols_fd_fmt
|
||||
bsearch
|
||||
chflags
|
||||
chroot
|
||||
@@ -1238,6 +1283,7 @@ getdiskrawname
|
||||
getdistcookedname
|
||||
getdomainname
|
||||
getdtablesize
|
||||
getentropy
|
||||
getfsspecname
|
||||
getgrent
|
||||
getgrent_r
|
||||
@@ -1252,6 +1298,7 @@ getitimer
|
||||
getlastlogx
|
||||
getline
|
||||
getloadavg
|
||||
getmntinfo
|
||||
getnameinfo
|
||||
getopt_long
|
||||
getpeereid
|
||||
@@ -1260,6 +1307,7 @@ getprogname
|
||||
getpwent
|
||||
getpwent_r
|
||||
getpwnam_r
|
||||
getrandom
|
||||
getrlimit
|
||||
getrusage
|
||||
getservbyport
|
||||
@@ -1271,6 +1319,7 @@ getutmpx
|
||||
getutxent
|
||||
getutxid
|
||||
getutxline
|
||||
getvfsstat
|
||||
getxattr
|
||||
glob
|
||||
glob_t
|
||||
@@ -1391,6 +1440,7 @@ posix_spawnattr_setschedpolicy
|
||||
posix_spawnattr_setsigdefault
|
||||
posix_spawnattr_setsigmask
|
||||
posix_spawnattr_t
|
||||
ppoll
|
||||
preadv
|
||||
pseudo_AF_HDRCMPLT
|
||||
pseudo_AF_KEY
|
||||
@@ -1400,6 +1450,7 @@ pseudo_AF_XTP
|
||||
pthread_attr_get_np
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getstack
|
||||
pthread_attr_setguardsize
|
||||
pthread_cancel
|
||||
pthread_condattr_setclock
|
||||
pthread_getattr_np
|
||||
@@ -1429,6 +1480,7 @@ readdir_r
|
||||
readlinkat
|
||||
reallocarr
|
||||
reallocarray
|
||||
reboot
|
||||
recvmmsg
|
||||
recvmsg
|
||||
regcomp
|
||||
@@ -1466,6 +1518,7 @@ setgroups
|
||||
sethostid
|
||||
sethostname
|
||||
setitimer
|
||||
setlogin
|
||||
setpriority
|
||||
setproctitle
|
||||
setprogname
|
||||
@@ -1485,6 +1538,7 @@ shmid_ds
|
||||
sigaltstack
|
||||
sigevent
|
||||
siginfo_t
|
||||
sigsuspend
|
||||
sigtimedwait
|
||||
sigwait
|
||||
sigwaitinfo
|
||||
@@ -1498,6 +1552,8 @@ stack_t
|
||||
strcasecmp
|
||||
strcasestr
|
||||
string_to_flags
|
||||
strftime
|
||||
strftime_l
|
||||
strncasecmp
|
||||
strndup
|
||||
strpct
|
||||
@@ -1508,6 +1564,7 @@ syscall
|
||||
sysctl
|
||||
sysctlbyname
|
||||
sysctldesc
|
||||
tcp_info
|
||||
telldir
|
||||
timer_create
|
||||
timer_delete
|
||||
@@ -1541,3 +1598,5 @@ EXTATTR_NAMESPACE_EMPTY
|
||||
extattr_list_fd
|
||||
extattr_list_file
|
||||
extattr_list_link
|
||||
EOWNERDEAD
|
||||
ENOTRECOVERABLE
|
||||
|
||||
@@ -98,6 +98,10 @@ CLD_EXITED
|
||||
CLD_KILLED
|
||||
CLD_STOPPED
|
||||
CLD_TRAPPED
|
||||
CLOCK_BOOTTIME
|
||||
CLOCK_PROCESS_CPUTIME_ID
|
||||
CLOCK_THREAD_CPUTIME_ID
|
||||
CLOCK_UPTIME
|
||||
CMSG_DATA
|
||||
CMSG_FIRSTHDR
|
||||
CMSG_LEN
|
||||
@@ -172,6 +176,8 @@ ESOCKTNOSUPPORT
|
||||
ETOOMANYREFS
|
||||
EUSERS
|
||||
EVFILT_AIO
|
||||
EVFILT_DEVICE
|
||||
EVFILT_EXCEPT
|
||||
EVFILT_PROC
|
||||
EVFILT_READ
|
||||
EVFILT_SIGNAL
|
||||
@@ -480,6 +486,7 @@ MAP_NOEXTEND
|
||||
MAP_NORESERVE
|
||||
MAP_RENAME
|
||||
MAP_STACK
|
||||
MAP_TRYFIXED
|
||||
MCL_CURRENT
|
||||
MCL_FUTURE
|
||||
MDMBUF
|
||||
@@ -521,6 +528,7 @@ MSG_CMSG_CLOEXEC
|
||||
MSG_DONTWAIT
|
||||
MSG_MCAST
|
||||
MSG_NOSIGNAL
|
||||
MSG_WAITFORONE
|
||||
MNT_LAZY
|
||||
MNT_NOWAIT
|
||||
MNT_WAIT
|
||||
@@ -578,6 +586,7 @@ NOEXPR
|
||||
NOKERNINFO
|
||||
NOSTR
|
||||
NOTE_ATTRIB
|
||||
NOTE_CHANGE
|
||||
NOTE_CHILD
|
||||
NOTE_DELETE
|
||||
NOTE_EOF
|
||||
@@ -587,6 +596,7 @@ NOTE_EXTEND
|
||||
NOTE_FORK
|
||||
NOTE_LINK
|
||||
NOTE_LOWAT
|
||||
NOTE_OOB
|
||||
NOTE_PCTRLMASK
|
||||
NOTE_PDATAMASK
|
||||
NOTE_RENAME
|
||||
@@ -610,6 +620,9 @@ O_RSYNC
|
||||
O_SHLOCK
|
||||
O_SYNC
|
||||
PENDIN
|
||||
P_ALL
|
||||
P_PGID
|
||||
P_PID
|
||||
PF_APPLETALK
|
||||
PF_BLUETOOTH
|
||||
PF_BPF
|
||||
@@ -692,6 +705,20 @@ Q_SETQUOTA
|
||||
Q_SYNC
|
||||
RADIXCHAR
|
||||
RAND_MAX
|
||||
RB_ASKNAME
|
||||
RB_AUTOBOOT
|
||||
RB_CONFIG
|
||||
RB_DUMP
|
||||
RB_GOODRANDOM
|
||||
RB_HALT
|
||||
RB_KDB
|
||||
RB_INITNAME
|
||||
RB_POWERDOWN
|
||||
RB_RESET
|
||||
RB_SERCONS
|
||||
RB_TIMEBAD
|
||||
RB_UNHIBERNATE
|
||||
RB_USERREQ
|
||||
REG_ASSERT
|
||||
REG_ATOI
|
||||
REG_BACKR
|
||||
@@ -766,8 +793,10 @@ SOCK_RAW
|
||||
SOCK_RDM
|
||||
SOMAXCONN
|
||||
SO_BINDANY
|
||||
SO_DOMAIN
|
||||
SO_NETPROC
|
||||
SO_PEERCRED
|
||||
SO_PROTOCOL
|
||||
SO_RTABLE
|
||||
SO_SPLICE
|
||||
SO_TIMESTAMP
|
||||
@@ -779,6 +808,7 @@ ST_RDONLY
|
||||
S_IEXEC
|
||||
S_IREAD
|
||||
S_IWRITE
|
||||
TCP_INFO
|
||||
TCP_MAXSEG
|
||||
TCP_MD5SIG
|
||||
TCP_NOPUSH
|
||||
@@ -827,6 +857,10 @@ UTIME_OMIT
|
||||
UT_HOSTSIZE
|
||||
UT_LINESIZE
|
||||
UT_NAMESIZE
|
||||
WEXITED
|
||||
WNOWAIT
|
||||
WSTOPPED
|
||||
WTRAPPED
|
||||
VDISCARD
|
||||
VDSUSP
|
||||
VLNEXT
|
||||
@@ -981,6 +1015,7 @@ backtrace
|
||||
backtrace_symbols
|
||||
backtrace_symbols_fd
|
||||
backtrace_symbols_fmt
|
||||
basename
|
||||
bsearch
|
||||
caddr_t
|
||||
calloc_conceal
|
||||
@@ -994,6 +1029,7 @@ cmsghdr
|
||||
daemon
|
||||
difftime
|
||||
dirfd
|
||||
dirname
|
||||
dl_iterate_phdr
|
||||
dl_phdr_info
|
||||
drand48
|
||||
@@ -1065,6 +1101,7 @@ if_freenameindex
|
||||
if_msghdr
|
||||
if_nameindex
|
||||
ifaddrs
|
||||
ifreq
|
||||
in6_pktinfo
|
||||
initgroups
|
||||
ip_mreqn
|
||||
@@ -1091,6 +1128,7 @@ malloc_conceal
|
||||
memmem
|
||||
memrchr
|
||||
mfs_args
|
||||
mimmutable
|
||||
mincore
|
||||
mkdirat
|
||||
mkfifoat
|
||||
@@ -1118,6 +1156,27 @@ pipe2
|
||||
pledge
|
||||
popen
|
||||
posix_madvise
|
||||
posix_spawn
|
||||
posix_spawn_file_actions_addclose
|
||||
posix_spawn_file_actions_adddup2
|
||||
posix_spawn_file_actions_addopen
|
||||
posix_spawn_file_actions_destroy
|
||||
posix_spawn_file_actions_init
|
||||
posix_spawnattr_destroy
|
||||
posix_spawnattr_getflags
|
||||
posix_spawnattr_getpgroup
|
||||
posix_spawnattr_getschedparam
|
||||
posix_spawnattr_getschedpolicy
|
||||
posix_spawnattr_getsigdefault
|
||||
posix_spawnattr_getsigmask
|
||||
posix_spawnattr_init
|
||||
posix_spawnattr_setflags
|
||||
posix_spawnattr_setpgroup
|
||||
posix_spawnattr_setschedparam
|
||||
posix_spawnattr_setschedpolicy
|
||||
posix_spawnattr_setsigdefault
|
||||
posix_spawnattr_setsigmask
|
||||
posix_spawnp
|
||||
preadv
|
||||
pseudo_AF_HDRCMPLT
|
||||
pseudo_AF_PFLOW
|
||||
@@ -1127,6 +1186,7 @@ pseudo_AF_RTIP
|
||||
pseudo_AF_XTP
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getstack
|
||||
pthread_attr_setguardsize
|
||||
pthread_cancel
|
||||
pthread_condattr_setclock
|
||||
pthread_get_name_np
|
||||
@@ -1153,6 +1213,7 @@ rand
|
||||
readdir_r
|
||||
readlinkat
|
||||
reallocarray
|
||||
reboot
|
||||
recvmsg
|
||||
regcomp
|
||||
regerror
|
||||
@@ -1182,6 +1243,7 @@ setgroups
|
||||
sethostid
|
||||
sethostname
|
||||
setitimer
|
||||
setlogin
|
||||
setpriority
|
||||
setproctitle
|
||||
setprogname
|
||||
@@ -1198,6 +1260,7 @@ shmget
|
||||
shmid_ds
|
||||
sigaltstack
|
||||
siginfo_t
|
||||
sigsuspend
|
||||
sigwait
|
||||
sockaddr_dl
|
||||
sockpeercred
|
||||
@@ -1209,6 +1272,8 @@ stack_t
|
||||
statfs
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strftime
|
||||
strftime_l
|
||||
strncasecmp
|
||||
strndup
|
||||
strsignal
|
||||
@@ -1216,6 +1281,7 @@ strtonum
|
||||
sync
|
||||
syscall
|
||||
sysctl
|
||||
tcp_info
|
||||
telldir
|
||||
tmpfs_args
|
||||
truncate
|
||||
@@ -1230,6 +1296,5 @@ utimensat
|
||||
utmp
|
||||
utrace
|
||||
wait4
|
||||
waitid
|
||||
xucred
|
||||
dirname
|
||||
basename
|
||||
|
||||
@@ -137,14 +137,15 @@ SO_PEERCRED
|
||||
SO_PEERSEC
|
||||
SO_PRIORITY
|
||||
SO_PROTOCOL
|
||||
SO_REUSEPORT
|
||||
SO_RCVBUFFORCE
|
||||
SO_REUSEPORT
|
||||
SO_SNDBUFFORCE
|
||||
TCFLSH
|
||||
TCGETS
|
||||
TCP_KEEPIDLE
|
||||
TCSETS
|
||||
TIOCGPGRP
|
||||
TIOCSCTTY
|
||||
TIOCSPGRP
|
||||
UTSLENGTH
|
||||
VDISCARD
|
||||
@@ -180,33 +181,54 @@ bsearch
|
||||
chroot
|
||||
clearerr
|
||||
difftime
|
||||
endgrent
|
||||
endpwent
|
||||
endservent
|
||||
epoll_create
|
||||
epoll_create1
|
||||
epoll_ctl
|
||||
epoll_event
|
||||
epoll_wait
|
||||
explicit_bzero
|
||||
fchdir
|
||||
fmemopen
|
||||
getdtablesize
|
||||
getgrent
|
||||
getgrgid
|
||||
getgrgid_r
|
||||
getgrnam
|
||||
getgrnam_r
|
||||
getgrouplist
|
||||
getline
|
||||
getpwent
|
||||
getpwnam_r
|
||||
getrlimit
|
||||
getrusage
|
||||
getservbyport
|
||||
getservent
|
||||
killpg
|
||||
lockf
|
||||
login_tty
|
||||
madvise
|
||||
memalign
|
||||
nice
|
||||
open_memstream
|
||||
open_wmemstream
|
||||
openpty
|
||||
pipe2
|
||||
pthread_condattr_setclock
|
||||
qsort
|
||||
reallocarray
|
||||
setgrent
|
||||
setpwent
|
||||
setrlimit
|
||||
setservent
|
||||
sigtimedwait
|
||||
sigwait
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strlcat
|
||||
strlcpy
|
||||
strncasecmp
|
||||
strndup
|
||||
strsignal
|
||||
|
||||
@@ -671,6 +671,7 @@ protoent
|
||||
pselect
|
||||
pthread_attr_destroy
|
||||
pthread_attr_init
|
||||
pthread_attr_getstacksize
|
||||
pthread_attr_setdetachstate
|
||||
pthread_attr_setstacksize
|
||||
pthread_attr_t
|
||||
|
||||
@@ -247,6 +247,7 @@ localtime_s
|
||||
lseek
|
||||
lseek64
|
||||
malloc
|
||||
_msize
|
||||
memchr
|
||||
memcmp
|
||||
memcpy
|
||||
|
||||
+11
-10
@@ -57,29 +57,30 @@ mod t {
|
||||
#[test]
|
||||
fn test_cmsg_nxthdr() {
|
||||
use std::ptr;
|
||||
// Helps to align the buffer on the stack.
|
||||
#[repr(align(8))]
|
||||
struct Align8<T>(T);
|
||||
|
||||
let mut buffer = [0u8; 256];
|
||||
const CAPACITY: usize = 512;
|
||||
let mut buffer = Align8([0_u8; CAPACITY]);
|
||||
let mut mhdr: msghdr = unsafe { mem::zeroed() };
|
||||
let pmhdr = &mhdr as *const msghdr;
|
||||
for start_ofs in 0..64 {
|
||||
let pcmsghdr = &mut buffer[start_ofs] as *mut u8 as *mut cmsghdr;
|
||||
let pcmsghdr = buffer.0.as_mut_ptr().cast::<cmsghdr>();
|
||||
mhdr.msg_control = pcmsghdr as *mut c_void;
|
||||
mhdr.msg_controllen = (160 - start_ofs) as _;
|
||||
for cmsg_len in 0..64 {
|
||||
for next_cmsg_len in 0..32 {
|
||||
for i in buffer[start_ofs..].iter_mut() {
|
||||
*i = 0;
|
||||
}
|
||||
unsafe {
|
||||
pcmsghdr.cast::<u8>().write_bytes(0, CAPACITY);
|
||||
(*pcmsghdr).cmsg_len = cmsg_len;
|
||||
let libc_next = libc::CMSG_NXTHDR(pmhdr, pcmsghdr);
|
||||
let next = cmsg_nxthdr(pmhdr, pcmsghdr);
|
||||
let libc_next = libc::CMSG_NXTHDR(&mhdr, pcmsghdr);
|
||||
let next = cmsg_nxthdr(&mhdr, pcmsghdr);
|
||||
assert_eq!(libc_next, next);
|
||||
|
||||
if libc_next != ptr::null_mut() {
|
||||
(*libc_next).cmsg_len = next_cmsg_len;
|
||||
let libc_next = libc::CMSG_NXTHDR(pmhdr, pcmsghdr);
|
||||
let next = cmsg_nxthdr(pmhdr, pcmsghdr);
|
||||
let libc_next = libc::CMSG_NXTHDR(&mhdr, pcmsghdr);
|
||||
let next = cmsg_nxthdr(&mhdr, pcmsghdr);
|
||||
assert_eq!(libc_next, next);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,5 +62,6 @@ s! {
|
||||
}
|
||||
}
|
||||
|
||||
// From https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/third_party/ulib/musl/include/bits/signal.h;l=20-21;drc=0827b18ab9540c46f8037f407d17ea15a79e9ba7
|
||||
pub const MINSIGSTKSZ: ::size_t = 6144;
|
||||
pub const SIGSTKSZ: ::size_t = 12288;
|
||||
|
||||
+99
-2
@@ -2602,6 +2602,7 @@ pub const PR_SET_MM_MAP: ::c_int = 14;
|
||||
pub const PR_SET_MM_MAP_SIZE: ::c_int = 15;
|
||||
|
||||
pub const PR_SET_PTRACER: ::c_int = 0x59616d61;
|
||||
pub const PR_SET_PTRACER_ANY: ::c_ulong = 0xffffffffffffffff;
|
||||
|
||||
pub const PR_SET_CHILD_SUBREAPER: ::c_int = 36;
|
||||
pub const PR_GET_CHILD_SUBREAPER: ::c_int = 37;
|
||||
@@ -2678,7 +2679,87 @@ pub const PT_GNU_STACK: u32 = 0x6474e551;
|
||||
pub const PT_GNU_RELRO: u32 = 0x6474e552;
|
||||
|
||||
// Ethernet protocol IDs.
|
||||
pub const ETH_P_LOOP: ::c_int = 0x0060;
|
||||
pub const ETH_P_PUP: ::c_int = 0x0200;
|
||||
pub const ETH_P_PUPAT: ::c_int = 0x0201;
|
||||
pub const ETH_P_IP: ::c_int = 0x0800;
|
||||
pub const ETH_P_X25: ::c_int = 0x0805;
|
||||
pub const ETH_P_ARP: ::c_int = 0x0806;
|
||||
pub const ETH_P_BPQ: ::c_int = 0x08FF;
|
||||
pub const ETH_P_IEEEPUP: ::c_int = 0x0a00;
|
||||
pub const ETH_P_IEEEPUPAT: ::c_int = 0x0a01;
|
||||
pub const ETH_P_BATMAN: ::c_int = 0x4305;
|
||||
pub const ETH_P_DEC: ::c_int = 0x6000;
|
||||
pub const ETH_P_DNA_DL: ::c_int = 0x6001;
|
||||
pub const ETH_P_DNA_RC: ::c_int = 0x6002;
|
||||
pub const ETH_P_DNA_RT: ::c_int = 0x6003;
|
||||
pub const ETH_P_LAT: ::c_int = 0x6004;
|
||||
pub const ETH_P_DIAG: ::c_int = 0x6005;
|
||||
pub const ETH_P_CUST: ::c_int = 0x6006;
|
||||
pub const ETH_P_SCA: ::c_int = 0x6007;
|
||||
pub const ETH_P_TEB: ::c_int = 0x6558;
|
||||
pub const ETH_P_RARP: ::c_int = 0x8035;
|
||||
pub const ETH_P_ATALK: ::c_int = 0x809B;
|
||||
pub const ETH_P_AARP: ::c_int = 0x80F3;
|
||||
pub const ETH_P_8021Q: ::c_int = 0x8100;
|
||||
pub const ETH_P_IPX: ::c_int = 0x8137;
|
||||
pub const ETH_P_IPV6: ::c_int = 0x86DD;
|
||||
pub const ETH_P_PAUSE: ::c_int = 0x8808;
|
||||
pub const ETH_P_SLOW: ::c_int = 0x8809;
|
||||
pub const ETH_P_WCCP: ::c_int = 0x883E;
|
||||
pub const ETH_P_MPLS_UC: ::c_int = 0x8847;
|
||||
pub const ETH_P_MPLS_MC: ::c_int = 0x8848;
|
||||
pub const ETH_P_ATMMPOA: ::c_int = 0x884c;
|
||||
pub const ETH_P_PPP_DISC: ::c_int = 0x8863;
|
||||
pub const ETH_P_PPP_SES: ::c_int = 0x8864;
|
||||
pub const ETH_P_LINK_CTL: ::c_int = 0x886c;
|
||||
pub const ETH_P_ATMFATE: ::c_int = 0x8884;
|
||||
pub const ETH_P_PAE: ::c_int = 0x888E;
|
||||
pub const ETH_P_AOE: ::c_int = 0x88A2;
|
||||
pub const ETH_P_8021AD: ::c_int = 0x88A8;
|
||||
pub const ETH_P_802_EX1: ::c_int = 0x88B5;
|
||||
pub const ETH_P_TIPC: ::c_int = 0x88CA;
|
||||
pub const ETH_P_8021AH: ::c_int = 0x88E7;
|
||||
pub const ETH_P_MVRP: ::c_int = 0x88F5;
|
||||
pub const ETH_P_1588: ::c_int = 0x88F7;
|
||||
pub const ETH_P_PRP: ::c_int = 0x88FB;
|
||||
pub const ETH_P_FCOE: ::c_int = 0x8906;
|
||||
pub const ETH_P_TDLS: ::c_int = 0x890D;
|
||||
pub const ETH_P_FIP: ::c_int = 0x8914;
|
||||
pub const ETH_P_80221: ::c_int = 0x8917;
|
||||
pub const ETH_P_LOOPBACK: ::c_int = 0x9000;
|
||||
pub const ETH_P_QINQ1: ::c_int = 0x9100;
|
||||
pub const ETH_P_QINQ2: ::c_int = 0x9200;
|
||||
pub const ETH_P_QINQ3: ::c_int = 0x9300;
|
||||
pub const ETH_P_EDSA: ::c_int = 0xDADA;
|
||||
pub const ETH_P_AF_IUCV: ::c_int = 0xFBFB;
|
||||
|
||||
pub const ETH_P_802_3_MIN: ::c_int = 0x0600;
|
||||
|
||||
pub const ETH_P_802_3: ::c_int = 0x0001;
|
||||
pub const ETH_P_AX25: ::c_int = 0x0002;
|
||||
pub const ETH_P_ALL: ::c_int = 0x0003;
|
||||
pub const ETH_P_802_2: ::c_int = 0x0004;
|
||||
pub const ETH_P_SNAP: ::c_int = 0x0005;
|
||||
pub const ETH_P_DDCMP: ::c_int = 0x0006;
|
||||
pub const ETH_P_WAN_PPP: ::c_int = 0x0007;
|
||||
pub const ETH_P_PPP_MP: ::c_int = 0x0008;
|
||||
pub const ETH_P_LOCALTALK: ::c_int = 0x0009;
|
||||
pub const ETH_P_CAN: ::c_int = 0x000C;
|
||||
pub const ETH_P_CANFD: ::c_int = 0x000D;
|
||||
pub const ETH_P_PPPTALK: ::c_int = 0x0010;
|
||||
pub const ETH_P_TR_802_2: ::c_int = 0x0011;
|
||||
pub const ETH_P_MOBITEX: ::c_int = 0x0015;
|
||||
pub const ETH_P_CONTROL: ::c_int = 0x0016;
|
||||
pub const ETH_P_IRDA: ::c_int = 0x0017;
|
||||
pub const ETH_P_ECONET: ::c_int = 0x0018;
|
||||
pub const ETH_P_HDLC: ::c_int = 0x0019;
|
||||
pub const ETH_P_ARCNET: ::c_int = 0x001A;
|
||||
pub const ETH_P_DSA: ::c_int = 0x001B;
|
||||
pub const ETH_P_TRAILER: ::c_int = 0x001C;
|
||||
pub const ETH_P_PHONET: ::c_int = 0x00F5;
|
||||
pub const ETH_P_IEEE802154: ::c_int = 0x00F6;
|
||||
pub const ETH_P_CAIF: ::c_int = 0x00F7;
|
||||
|
||||
pub const SFD_CLOEXEC: ::c_int = 0x080000;
|
||||
|
||||
@@ -2730,7 +2811,10 @@ pub const POSIX_MADV_DONTNEED: ::c_int = 4;
|
||||
|
||||
pub const RLIM_INFINITY: ::rlim_t = !0;
|
||||
pub const RLIMIT_RTTIME: ::c_int = 15;
|
||||
#[deprecated(since = "0.2.64", note = "Not stable across OS versions")]
|
||||
pub const RLIMIT_NLIMITS: ::c_int = 16;
|
||||
#[allow(deprecated)]
|
||||
#[deprecated(since = "0.2.64", note = "Not stable across OS versions")]
|
||||
pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
|
||||
|
||||
pub const MAP_ANONYMOUS: ::c_int = MAP_ANON;
|
||||
@@ -3149,6 +3233,9 @@ pub const O_DIRECT: ::c_int = 0x00000800;
|
||||
pub const O_LARGEFILE: ::c_int = 0x00001000;
|
||||
pub const O_NOFOLLOW: ::c_int = 0x00000080;
|
||||
|
||||
pub const HUGETLB_FLAG_ENCODE_SHIFT: u32 = 26;
|
||||
pub const MAP_HUGE_SHIFT: u32 = 26;
|
||||
|
||||
// intentionally not public, only used for fd_set
|
||||
cfg_if! {
|
||||
if #[cfg(target_pointer_width = "32")] {
|
||||
@@ -3270,7 +3357,7 @@ f! {
|
||||
as ::c_uint
|
||||
}
|
||||
|
||||
pub fn CMSG_LEN(len: ::c_uint) -> ::c_uint {
|
||||
pub {const} fn CMSG_LEN(len: ::c_uint) -> ::c_uint {
|
||||
(CMSG_ALIGN(::mem::size_of::<cmsghdr>()) + len as ::size_t) as ::c_uint
|
||||
}
|
||||
}
|
||||
@@ -3686,6 +3773,10 @@ extern "C" {
|
||||
pub fn pthread_exit(value: *mut ::c_void) -> !;
|
||||
pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int;
|
||||
pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int;
|
||||
pub fn pthread_attr_getstacksize(
|
||||
attr: *const ::pthread_attr_t,
|
||||
stacksize: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_attr_setstacksize(attr: *mut ::pthread_attr_t, stack_size: ::size_t) -> ::c_int;
|
||||
pub fn pthread_attr_setdetachstate(attr: *mut ::pthread_attr_t, state: ::c_int) -> ::c_int;
|
||||
pub fn pthread_detach(thread: ::pthread_t) -> ::c_int;
|
||||
@@ -3735,6 +3826,8 @@ extern "C" {
|
||||
pub fn pthread_rwlock_unlock(lock: *mut pthread_rwlock_t) -> ::c_int;
|
||||
pub fn pthread_rwlockattr_init(attr: *mut pthread_rwlockattr_t) -> ::c_int;
|
||||
pub fn pthread_rwlockattr_destroy(attr: *mut pthread_rwlockattr_t) -> ::c_int;
|
||||
pub fn pthread_getname_np(thread: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int;
|
||||
pub fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int;
|
||||
pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int;
|
||||
|
||||
pub fn getsockopt(
|
||||
@@ -4016,7 +4109,7 @@ extern "C" {
|
||||
host: *mut ::c_char,
|
||||
hostlen: ::socklen_t,
|
||||
serv: *mut ::c_char,
|
||||
sevlen: ::socklen_t,
|
||||
servlen: ::socklen_t,
|
||||
flags: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn reboot(how_to: ::c_int) -> ::c_int;
|
||||
@@ -4160,6 +4253,7 @@ extern "C" {
|
||||
attr: *const ::pthread_attr_t,
|
||||
guardsize: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int;
|
||||
pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int;
|
||||
pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int;
|
||||
pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int;
|
||||
@@ -4259,6 +4353,9 @@ cfg_if! {
|
||||
} else if #[cfg(any(target_arch = "x86_64"))] {
|
||||
mod x86_64;
|
||||
pub use self::x86_64::*;
|
||||
} else if #[cfg(any(target_arch = "riscv64"))] {
|
||||
mod riscv64;
|
||||
pub use self::riscv64::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
// From psABI Calling Convention for RV64
|
||||
pub type c_char = u8;
|
||||
pub type __u64 = ::c_ulonglong;
|
||||
pub type wchar_t = i32;
|
||||
|
||||
pub type nlink_t = ::c_ulong;
|
||||
pub type blksize_t = ::c_long;
|
||||
|
||||
pub type stat64 = stat;
|
||||
s! {
|
||||
pub struct stat {
|
||||
pub st_dev: ::dev_t,
|
||||
pub st_ino: ::ino_t,
|
||||
pub st_nlink: ::nlink_t,
|
||||
pub st_mode: ::mode_t,
|
||||
pub st_uid: ::uid_t,
|
||||
pub st_gid: ::gid_t,
|
||||
__pad0: ::c_int,
|
||||
pub st_rdev: ::dev_t,
|
||||
pub st_size: ::off_t,
|
||||
pub st_blksize: ::blksize_t,
|
||||
pub st_blocks: ::blkcnt_t,
|
||||
pub st_atime: ::time_t,
|
||||
pub st_atime_nsec: ::c_long,
|
||||
pub st_mtime: ::time_t,
|
||||
pub st_mtime_nsec: ::c_long,
|
||||
pub st_ctime: ::time_t,
|
||||
pub st_ctime_nsec: ::c_long,
|
||||
__unused: [::c_long; 3],
|
||||
}
|
||||
|
||||
// Not actually used, IPC calls just return ENOSYS
|
||||
pub struct ipc_perm {
|
||||
pub __ipc_perm_key: ::key_t,
|
||||
pub uid: ::uid_t,
|
||||
pub gid: ::gid_t,
|
||||
pub cuid: ::uid_t,
|
||||
pub cgid: ::gid_t,
|
||||
pub mode: ::mode_t,
|
||||
pub __seq: ::c_ushort,
|
||||
__unused1: ::c_ulong,
|
||||
__unused2: ::c_ulong,
|
||||
}
|
||||
}
|
||||
+1
-4
@@ -1,7 +1,4 @@
|
||||
// libc port for HermitCore (https://hermitcore.org)
|
||||
//
|
||||
// Ported by Colin Fink <colin.finck@rwth-aachen.de>
|
||||
// and Stefan Lankes <slankes@eonerc.rwth-aachen.de>
|
||||
//! Hermit C types definition
|
||||
|
||||
pub type c_schar = i8;
|
||||
pub type c_uchar = u8;
|
||||
|
||||
+12
-4
@@ -1,8 +1,4 @@
|
||||
//! libc - Raw FFI bindings to platforms' system libraries
|
||||
//!
|
||||
//! [Documentation for other platforms][pd].
|
||||
//!
|
||||
//! [pd]: https://rust-lang.github.io/libc/#platform-specific-documentation
|
||||
#![crate_name = "libc"]
|
||||
#![crate_type = "rlib"]
|
||||
#![allow(
|
||||
@@ -139,6 +135,12 @@ cfg_if! {
|
||||
|
||||
mod hermit;
|
||||
pub use hermit::*;
|
||||
} else if #[cfg(target_os = "teeos")] {
|
||||
mod fixed_width_ints;
|
||||
pub use fixed_width_ints::*;
|
||||
|
||||
mod teeos;
|
||||
pub use teeos::*;
|
||||
} else if #[cfg(all(target_env = "sgx", target_vendor = "fortanix"))] {
|
||||
mod fixed_width_ints;
|
||||
pub use fixed_width_ints::*;
|
||||
@@ -151,6 +153,12 @@ cfg_if! {
|
||||
|
||||
mod wasi;
|
||||
pub use wasi::*;
|
||||
} else if #[cfg(target_os = "xous")] {
|
||||
mod fixed_width_ints;
|
||||
pub use fixed_width_ints::*;
|
||||
|
||||
mod xous;
|
||||
pub use xous::*;
|
||||
} else {
|
||||
// non-supported targets: empty...
|
||||
}
|
||||
|
||||
@@ -120,6 +120,12 @@ macro_rules! s_no_extra_traits {
|
||||
);
|
||||
}
|
||||
|
||||
macro_rules! missing {
|
||||
($($(#[$attr:meta])* pub enum $i:ident {})*) => ($(
|
||||
$(#[$attr])* #[allow(missing_copy_implementations)] pub enum $i { }
|
||||
)*);
|
||||
}
|
||||
|
||||
macro_rules! e {
|
||||
($($(#[$attr:meta])* pub enum $i:ident { $($field:tt)* })*) => ($(
|
||||
__item! {
|
||||
|
||||
@@ -1382,15 +1382,18 @@ s_paren! {
|
||||
pub struct SceUid(pub i32);
|
||||
|
||||
#[repr(transparent)]
|
||||
#[allow(dead_code)]
|
||||
pub struct SceMpeg(*mut *mut c_void);
|
||||
|
||||
#[repr(transparent)]
|
||||
#[allow(dead_code)]
|
||||
pub struct SceMpegStream(*mut c_void);
|
||||
|
||||
#[repr(transparent)]
|
||||
pub struct Mp3Handle(pub i32);
|
||||
|
||||
#[repr(transparent)]
|
||||
#[allow(dead_code)]
|
||||
pub struct RegHandle(u32);
|
||||
}
|
||||
|
||||
|
||||
+1385
File diff suppressed because it is too large
Load Diff
+3362
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,644 @@
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
|
||||
s! {
|
||||
pub struct sigset_t {
|
||||
pub ss_set: [c_ulong; 4],
|
||||
}
|
||||
|
||||
pub struct fd_set {
|
||||
pub fds_bits: [c_long; 1024],
|
||||
}
|
||||
|
||||
pub struct flock {
|
||||
pub l_type: ::c_short,
|
||||
pub l_whence: ::c_short,
|
||||
pub l_sysid: ::c_uint,
|
||||
pub l_pid: ::pid_t,
|
||||
pub l_vfs: ::c_int,
|
||||
pub l_start: ::off_t,
|
||||
pub l_len: ::off_t,
|
||||
}
|
||||
|
||||
pub struct statvfs {
|
||||
pub f_bsize: ::c_ulong,
|
||||
pub f_frsize: ::c_ulong,
|
||||
pub f_blocks: ::fsblkcnt_t,
|
||||
pub f_bfree: ::fsblkcnt_t,
|
||||
pub f_bavail: ::fsblkcnt_t,
|
||||
pub f_files: ::fsfilcnt_t,
|
||||
pub f_ffree: ::fsfilcnt_t,
|
||||
pub f_favail: ::fsfilcnt_t,
|
||||
pub f_fsid: ::c_ulong,
|
||||
pub f_basetype: [::c_char; 16],
|
||||
pub f_flag: ::c_ulong,
|
||||
pub f_namemax: ::c_ulong,
|
||||
pub f_fstr: [::c_char; 32],
|
||||
pub f_filler: [::c_ulong; 16]
|
||||
}
|
||||
|
||||
pub struct pthread_rwlock_t {
|
||||
__rw_word: [::c_long; 10],
|
||||
}
|
||||
|
||||
pub struct pthread_cond_t {
|
||||
__cv_word: [::c_long; 6],
|
||||
}
|
||||
|
||||
pub struct pthread_mutex_t {
|
||||
__mt_word: [::c_long; 8],
|
||||
}
|
||||
|
||||
pub struct stat {
|
||||
pub st_dev: ::dev_t,
|
||||
pub st_ino: ::ino_t,
|
||||
pub st_mode: ::mode_t,
|
||||
pub st_nlink: ::nlink_t,
|
||||
pub st_flag: ::c_ushort,
|
||||
pub st_uid: ::uid_t,
|
||||
pub st_gid: ::gid_t,
|
||||
pub st_rdev: ::dev_t,
|
||||
pub st_ssize: ::c_int,
|
||||
pub st_atime: ::st_timespec,
|
||||
pub st_mtime: ::st_timespec,
|
||||
pub st_ctime: ::st_timespec,
|
||||
pub st_blksize: ::blksize_t,
|
||||
pub st_blocks: ::blkcnt_t,
|
||||
pub st_vfstype: ::c_int,
|
||||
pub st_vfs: ::c_uint,
|
||||
pub st_type: ::c_uint,
|
||||
pub st_gen: ::c_uint,
|
||||
pub st_reserved: [::c_uint; 9],
|
||||
pub st_padto_ll: ::c_uint,
|
||||
pub st_size: ::off_t,
|
||||
}
|
||||
|
||||
pub struct statfs {
|
||||
pub f_version: ::c_int,
|
||||
pub f_type: ::c_int,
|
||||
pub f_bsize: ::c_ulong,
|
||||
pub f_blocks: ::fsblkcnt_t,
|
||||
pub f_bfree: ::fsblkcnt_t,
|
||||
pub f_bavail: ::fsblkcnt_t,
|
||||
pub f_files: ::fsblkcnt_t,
|
||||
pub f_ffree: ::fsblkcnt_t,
|
||||
pub f_fsid: ::fsid64_t,
|
||||
pub f_vfstype: ::c_int,
|
||||
pub f_fsize: ::c_ulong,
|
||||
pub f_vfsnumber: ::c_int,
|
||||
pub f_vfsoff: ::c_int,
|
||||
pub f_vfslen: ::c_int,
|
||||
pub f_vfsvers: ::c_int,
|
||||
pub f_fname: [::c_char; 32],
|
||||
pub f_fpack: [::c_char; 32],
|
||||
pub f_name_max: ::c_int,
|
||||
}
|
||||
|
||||
pub struct aiocb {
|
||||
pub aio_lio_opcode: ::c_int,
|
||||
pub aio_fildes: ::c_int,
|
||||
pub aio_word1: ::c_int,
|
||||
pub aio_offset: ::off_t,
|
||||
pub aio_buf: *mut ::c_void,
|
||||
pub aio_return: ::ssize_t,
|
||||
pub aio_errno: ::c_int,
|
||||
pub aio_nbytes: ::size_t,
|
||||
pub aio_reqprio: ::c_int,
|
||||
pub aio_sigevent: ::sigevent,
|
||||
pub aio_word2: ::c_int,
|
||||
pub aio_fp: ::c_int,
|
||||
pub aio_handle: *mut aiocb,
|
||||
pub aio_reserved: [::c_uint; 2],
|
||||
pub aio_sigev_tid: c_long,
|
||||
}
|
||||
|
||||
pub struct ucontext_t {
|
||||
pub __sc_onstack: ::c_int,
|
||||
pub uc_sigmask: ::sigset_t,
|
||||
pub __sc_uerror: ::c_int,
|
||||
pub uc_mcontext: ::mcontext_t,
|
||||
pub uc_link: *mut ucontext_t,
|
||||
pub uc_stack: ::stack_t,
|
||||
// Should be pointer to __extctx_t
|
||||
pub __extctx: *mut ::c_void,
|
||||
pub __extctx_magic: ::c_int,
|
||||
pub __pad: [::c_int; 1],
|
||||
}
|
||||
|
||||
pub struct mcontext_t {
|
||||
pub gpr: [::c_ulonglong; 32],
|
||||
pub msr: ::c_ulonglong,
|
||||
pub iar: ::c_ulonglong,
|
||||
pub lr: ::c_ulonglong,
|
||||
pub ctr: ::c_ulonglong,
|
||||
pub cr: ::c_uint,
|
||||
pub xer: ::c_uint,
|
||||
pub fpscr: ::c_uint,
|
||||
pub fpscrx: ::c_uint,
|
||||
pub except: [::c_ulonglong; 1],
|
||||
// Should be array of double type
|
||||
pub fpr: [::uint64_t; 32],
|
||||
pub fpeu: ::c_char,
|
||||
pub fpinfo: ::c_char,
|
||||
pub fpscr24_31: ::c_char,
|
||||
pub pad: [::c_char; 1],
|
||||
pub excp_type: ::c_int,
|
||||
}
|
||||
|
||||
pub struct utmpx {
|
||||
pub ut_user: [::c_char; 256],
|
||||
pub ut_id: [::c_char; 14],
|
||||
pub ut_line: [::c_char; 64],
|
||||
pub ut_pid: ::pid_t,
|
||||
pub ut_type: ::c_short,
|
||||
pub ut_tv: ::timeval,
|
||||
pub ut_host: [::c_char; 256],
|
||||
pub __dbl_word_pad: ::c_int,
|
||||
pub __reservedA: [::c_int; 2],
|
||||
pub __reservedV: [::c_int; 6],
|
||||
}
|
||||
|
||||
pub struct pthread_spinlock_t {
|
||||
pub __sp_word: [::c_long; 3],
|
||||
}
|
||||
|
||||
pub struct pthread_barrier_t {
|
||||
pub __br_word: [::c_long; 5],
|
||||
}
|
||||
|
||||
pub struct msqid_ds {
|
||||
pub msg_perm: ::ipc_perm,
|
||||
pub msg_first: ::c_uint,
|
||||
pub msg_last: ::c_uint,
|
||||
pub msg_cbytes: ::c_uint,
|
||||
pub msg_qnum: ::c_uint,
|
||||
pub msg_qbytes: ::c_ulong,
|
||||
pub msg_lspid: ::pid_t,
|
||||
pub msg_lrpid: ::pid_t,
|
||||
pub msg_stime: ::time_t,
|
||||
pub msg_rtime: ::time_t,
|
||||
pub msg_ctime: ::time_t,
|
||||
pub msg_rwait: ::c_int,
|
||||
pub msg_wwait: ::c_int,
|
||||
pub msg_reqevents: ::c_ushort,
|
||||
}
|
||||
}
|
||||
|
||||
s_no_extra_traits! {
|
||||
pub struct siginfo_t {
|
||||
pub si_signo: ::c_int,
|
||||
pub si_errno: ::c_int,
|
||||
pub si_code: ::c_int,
|
||||
pub si_pid: ::pid_t,
|
||||
pub si_uid: ::uid_t,
|
||||
pub si_status: ::c_int,
|
||||
pub si_addr: *mut ::c_void,
|
||||
pub si_band: ::c_long,
|
||||
pub si_value: ::sigval,
|
||||
pub __si_flags: ::c_int,
|
||||
pub __pad: [::c_int; 3],
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union _kernel_simple_lock {
|
||||
pub _slock: ::c_long,
|
||||
// Should be pointer to 'lock_data_instrumented'
|
||||
pub _slockp: *mut ::c_void,
|
||||
}
|
||||
|
||||
pub struct fileops_t {
|
||||
pub fo_rw: extern fn(file: *mut file, rw: ::uio_rw, io: *mut ::c_void, ext: ::c_long,
|
||||
secattr: *mut ::c_void) -> ::c_int,
|
||||
pub fo_ioctl: extern fn(file: *mut file, a: ::c_long, b: ::caddr_t, c: ::c_long,
|
||||
d: ::c_long) -> ::c_int,
|
||||
pub fo_select: extern fn(file: *mut file, a: ::c_int, b: *mut ::c_ushort,
|
||||
c: extern fn()) -> ::c_int,
|
||||
pub fo_close: extern fn(file: *mut file) -> ::c_int,
|
||||
pub fo_fstat: extern fn(file: *mut file, sstat: *mut ::stat) -> ::c_int,
|
||||
}
|
||||
|
||||
pub struct file {
|
||||
pub f_flag: ::c_long,
|
||||
pub f_count: ::c_int,
|
||||
pub f_options: ::c_short,
|
||||
pub f_type: ::c_short,
|
||||
// Should be pointer to 'vnode'
|
||||
pub f_data: *mut ::c_void,
|
||||
pub f_offset: ::c_longlong,
|
||||
pub f_dir_off: ::c_long,
|
||||
// Should be pointer to 'cred'
|
||||
pub f_cred: *mut ::c_void,
|
||||
#[cfg(libc_union)]
|
||||
pub f_lock: _kernel_simple_lock,
|
||||
#[cfg(libc_union)]
|
||||
pub f_offset_lock: _kernel_simple_lock,
|
||||
pub f_vinfo: ::caddr_t,
|
||||
pub f_ops: *mut fileops_t,
|
||||
pub f_parentp: ::caddr_t,
|
||||
pub f_fnamep: ::caddr_t,
|
||||
pub f_fdata: [::c_char; 160],
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union __ld_info_file {
|
||||
pub _ldinfo_fd: ::c_int,
|
||||
pub _ldinfo_fp: *mut file,
|
||||
pub _core_offset: ::c_long,
|
||||
}
|
||||
|
||||
pub struct ld_info {
|
||||
pub ldinfo_next: ::c_uint,
|
||||
pub ldinfo_flags: ::c_uint,
|
||||
#[cfg(libc_union)]
|
||||
pub _file: __ld_info_file,
|
||||
pub ldinfo_textorg: *mut ::c_void,
|
||||
pub ldinfo_textsize: ::c_ulong,
|
||||
pub ldinfo_dataorg: *mut ::c_void,
|
||||
pub ldinfo_datasize: ::c_ulong,
|
||||
pub ldinfo_filename: [::c_char; 2],
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union __pollfd_ext_u {
|
||||
pub addr: *mut ::c_void,
|
||||
pub data32: u32,
|
||||
pub data: u64,
|
||||
}
|
||||
|
||||
pub struct pollfd_ext {
|
||||
pub fd: ::c_int,
|
||||
pub events: ::c_ushort,
|
||||
pub revents: ::c_ushort,
|
||||
#[cfg(libc_union)]
|
||||
pub data: __pollfd_ext_u,
|
||||
}
|
||||
}
|
||||
|
||||
impl siginfo_t {
|
||||
pub unsafe fn si_addr(&self) -> *mut ::c_void {
|
||||
self.si_addr
|
||||
}
|
||||
|
||||
pub unsafe fn si_value(&self) -> ::sigval {
|
||||
self.si_value
|
||||
}
|
||||
|
||||
pub unsafe fn si_pid(&self) -> ::pid_t {
|
||||
self.si_pid
|
||||
}
|
||||
|
||||
pub unsafe fn si_uid(&self) -> ::uid_t {
|
||||
self.si_uid
|
||||
}
|
||||
|
||||
pub unsafe fn si_status(&self) -> ::c_int {
|
||||
self.si_status
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "extra_traits")] {
|
||||
impl PartialEq for siginfo_t {
|
||||
fn eq(&self, other: &siginfo_t) -> bool {
|
||||
#[cfg(libc_union)]
|
||||
let value_eq = self.si_value == other.si_value;
|
||||
#[cfg(not(libc_union))]
|
||||
let value_eq = true;
|
||||
self.si_signo == other.si_signo
|
||||
&& self.si_errno == other.si_errno
|
||||
&& self.si_code == other.si_code
|
||||
&& self.si_pid == other.si_pid
|
||||
&& self.si_uid == other.si_uid
|
||||
&& self.si_status == other.si_status
|
||||
&& self.si_addr == other.si_addr
|
||||
&& self.si_band == other.si_band
|
||||
&& self.__si_flags == other.__si_flags
|
||||
&& value_eq
|
||||
}
|
||||
}
|
||||
impl Eq for siginfo_t {}
|
||||
impl ::fmt::Debug for siginfo_t {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let mut struct_formatter = f.debug_struct("siginfo_t");
|
||||
struct_formatter.field("si_signo", &self.si_signo);
|
||||
struct_formatter.field("si_errno", &self.si_errno);
|
||||
struct_formatter.field("si_code", &self.si_code);
|
||||
struct_formatter.field("si_pid", &self.si_pid);
|
||||
struct_formatter.field("si_uid", &self.si_uid);
|
||||
struct_formatter.field("si_status", &self.si_status);
|
||||
struct_formatter.field("si_addr", &self.si_addr);
|
||||
struct_formatter.field("si_band", &self.si_band);
|
||||
#[cfg(libc_union)]
|
||||
struct_formatter.field("si_value", &self.si_value);
|
||||
struct_formatter.field("__si_flags", &self.__si_flags);
|
||||
struct_formatter.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for siginfo_t {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.si_signo.hash(state);
|
||||
self.si_errno.hash(state);
|
||||
self.si_code.hash(state);
|
||||
self.si_pid.hash(state);
|
||||
self.si_uid.hash(state);
|
||||
self.si_status.hash(state);
|
||||
self.si_addr.hash(state);
|
||||
self.si_band.hash(state);
|
||||
#[cfg(libc_union)]
|
||||
self.si_value.hash(state);
|
||||
self.__si_flags.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for _kernel_simple_lock {
|
||||
fn eq(&self, other: &_kernel_simple_lock) -> bool {
|
||||
unsafe {
|
||||
self._slock == other._slock
|
||||
&& self._slockp == other._slockp
|
||||
}
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for _kernel_simple_lock {}
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for _kernel_simple_lock {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("_kernel_simple_lock")
|
||||
.field("_slock", unsafe { &self._slock })
|
||||
.field("_slockp", unsafe { &self._slockp })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for _kernel_simple_lock {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe {
|
||||
self._slock.hash(state);
|
||||
self._slockp.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for fileops_t {
|
||||
fn eq(&self, other: &fileops_t) -> bool {
|
||||
self.fo_rw == other.fo_rw
|
||||
&& self.fo_ioctl == other.fo_ioctl
|
||||
&& self.fo_select == other.fo_select
|
||||
&& self.fo_close == other.fo_close
|
||||
&& self.fo_fstat == other.fo_fstat
|
||||
}
|
||||
}
|
||||
impl Eq for fileops_t {}
|
||||
impl ::fmt::Debug for fileops_t {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let mut struct_formatter = f.debug_struct("fileops_t");
|
||||
struct_formatter.field("fo_rw", &self.fo_rw);
|
||||
struct_formatter.field("fo_ioctl", &self.fo_ioctl);
|
||||
struct_formatter.field("fo_select", &self.fo_select);
|
||||
struct_formatter.field("fo_close", &self.fo_close);
|
||||
struct_formatter.field("fo_fstat", &self.fo_fstat);
|
||||
struct_formatter.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for fileops_t {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.fo_rw.hash(state);
|
||||
self.fo_ioctl.hash(state);
|
||||
self.fo_select.hash(state);
|
||||
self.fo_close.hash(state);
|
||||
self.fo_fstat.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for file {
|
||||
fn eq(&self, other: &file) -> bool {
|
||||
#[cfg(libc_union)]
|
||||
let lock_eq = self.f_lock == other.f_lock
|
||||
&& self.f_offset_lock == other.f_offset_lock;
|
||||
#[cfg(not(libc_union))]
|
||||
let lock_eq = true;
|
||||
self.f_flag == other.f_flag
|
||||
&& self.f_count == other.f_count
|
||||
&& self.f_options == other.f_options
|
||||
&& self.f_type == other.f_type
|
||||
&& self.f_data == other.f_data
|
||||
&& self.f_offset == other.f_offset
|
||||
&& self.f_dir_off == other.f_dir_off
|
||||
&& self.f_cred == other.f_cred
|
||||
&& self.f_vinfo == other.f_vinfo
|
||||
&& self.f_ops == other.f_ops
|
||||
&& self.f_parentp == other.f_parentp
|
||||
&& self.f_fnamep == other.f_fnamep
|
||||
&& self.f_fdata == other.f_fdata
|
||||
&& lock_eq
|
||||
}
|
||||
}
|
||||
impl Eq for file {}
|
||||
impl ::fmt::Debug for file {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let mut struct_formatter = f.debug_struct("file");
|
||||
struct_formatter.field("f_flag", &self.f_flag);
|
||||
struct_formatter.field("f_count", &self.f_count);
|
||||
struct_formatter.field("f_options", &self.f_options);
|
||||
struct_formatter.field("f_type", &self.f_type);
|
||||
struct_formatter.field("f_data", &self.f_data);
|
||||
struct_formatter.field("f_offset", &self.f_offset);
|
||||
struct_formatter.field("f_dir_off", &self.f_dir_off);
|
||||
struct_formatter.field("f_cred", &self.f_cred);
|
||||
#[cfg(libc_union)]
|
||||
struct_formatter.field("f_lock", &self.f_lock);
|
||||
#[cfg(libc_union)]
|
||||
struct_formatter.field("f_offset_lock", &self.f_offset_lock);
|
||||
struct_formatter.field("f_vinfo", &self.f_vinfo);
|
||||
struct_formatter.field("f_ops", &self.f_ops);
|
||||
struct_formatter.field("f_parentp", &self.f_parentp);
|
||||
struct_formatter.field("f_fnamep", &self.f_fnamep);
|
||||
struct_formatter.field("f_fdata", &self.f_fdata);
|
||||
struct_formatter.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for file {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.f_flag.hash(state);
|
||||
self.f_count.hash(state);
|
||||
self.f_options.hash(state);
|
||||
self.f_type.hash(state);
|
||||
self.f_data.hash(state);
|
||||
self.f_offset.hash(state);
|
||||
self.f_dir_off.hash(state);
|
||||
self.f_cred.hash(state);
|
||||
#[cfg(libc_union)]
|
||||
self.f_lock.hash(state);
|
||||
#[cfg(libc_union)]
|
||||
self.f_offset_lock.hash(state);
|
||||
self.f_vinfo.hash(state);
|
||||
self.f_ops.hash(state);
|
||||
self.f_parentp.hash(state);
|
||||
self.f_fnamep.hash(state);
|
||||
self.f_fdata.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for __ld_info_file {
|
||||
fn eq(&self, other: &__ld_info_file) -> bool {
|
||||
unsafe {
|
||||
self._ldinfo_fd == other._ldinfo_fd
|
||||
&& self._ldinfo_fp == other._ldinfo_fp
|
||||
&& self._core_offset == other._core_offset
|
||||
}
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for __ld_info_file {}
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for __ld_info_file {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("__ld_info_file")
|
||||
.field("_ldinfo_fd", unsafe { &self._ldinfo_fd })
|
||||
.field("_ldinfo_fp", unsafe { &self._ldinfo_fp })
|
||||
.field("_core_offset", unsafe { &self._core_offset })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for __ld_info_file {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe {
|
||||
self._ldinfo_fd.hash(state);
|
||||
self._ldinfo_fp.hash(state);
|
||||
self._core_offset.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for ld_info {
|
||||
fn eq(&self, other: &ld_info) -> bool {
|
||||
#[cfg(libc_union)]
|
||||
let file_eq = self._file == other._file;
|
||||
#[cfg(not(libc_union))]
|
||||
let file_eq = true;
|
||||
self.ldinfo_next == other.ldinfo_next
|
||||
&& self.ldinfo_flags == other.ldinfo_flags
|
||||
&& self.ldinfo_textorg == other.ldinfo_textorg
|
||||
&& self.ldinfo_textsize == other.ldinfo_textsize
|
||||
&& self.ldinfo_dataorg == other.ldinfo_dataorg
|
||||
&& self.ldinfo_datasize == other.ldinfo_datasize
|
||||
&& self.ldinfo_filename == other.ldinfo_filename
|
||||
&& file_eq
|
||||
}
|
||||
}
|
||||
impl Eq for ld_info {}
|
||||
impl ::fmt::Debug for ld_info {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let mut struct_formatter = f.debug_struct("ld_info");
|
||||
struct_formatter.field("ldinfo_next", &self.ldinfo_next);
|
||||
struct_formatter.field("ldinfo_flags", &self.ldinfo_flags);
|
||||
struct_formatter.field("ldinfo_textorg", &self.ldinfo_textorg);
|
||||
struct_formatter.field("ldinfo_textsize", &self.ldinfo_textsize);
|
||||
struct_formatter.field("ldinfo_dataorg", &self.ldinfo_dataorg);
|
||||
struct_formatter.field("ldinfo_datasize", &self.ldinfo_datasize);
|
||||
struct_formatter.field("ldinfo_filename", &self.ldinfo_filename);
|
||||
#[cfg(libc_union)]
|
||||
struct_formatter.field("_file", &self._file);
|
||||
struct_formatter.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for ld_info {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.ldinfo_next.hash(state);
|
||||
self.ldinfo_flags.hash(state);
|
||||
self.ldinfo_textorg.hash(state);
|
||||
self.ldinfo_textsize.hash(state);
|
||||
self.ldinfo_dataorg.hash(state);
|
||||
self.ldinfo_datasize.hash(state);
|
||||
self.ldinfo_filename.hash(state);
|
||||
#[cfg(libc_union)]
|
||||
self._file.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for __pollfd_ext_u {
|
||||
fn eq(&self, other: &__pollfd_ext_u) -> bool {
|
||||
unsafe {
|
||||
self.addr == other.addr
|
||||
&& self.data32 == other.data32
|
||||
&& self.data == other.data
|
||||
}
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for __pollfd_ext_u {}
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for __pollfd_ext_u {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("__pollfd_ext_u")
|
||||
.field("addr", unsafe { &self.addr })
|
||||
.field("data32", unsafe { &self.data32 })
|
||||
.field("data", unsafe { &self.data })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for __pollfd_ext_u {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe {
|
||||
self.addr.hash(state);
|
||||
self.data.hash(state);
|
||||
self.data32.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for pollfd_ext {
|
||||
fn eq(&self, other: &pollfd_ext) -> bool {
|
||||
#[cfg(libc_union)]
|
||||
let data_eq = self.data == other.data;
|
||||
#[cfg(not(libc_union))]
|
||||
let data_eq = true;
|
||||
self.fd == other.fd
|
||||
&& self.events == other.events
|
||||
&& self.revents == other.revents
|
||||
&& data_eq
|
||||
}
|
||||
}
|
||||
impl Eq for pollfd_ext {}
|
||||
impl ::fmt::Debug for pollfd_ext {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let mut struct_formatter = f.debug_struct("pollfd_ext");
|
||||
struct_formatter.field("fd", &self.fd);
|
||||
struct_formatter.field("events", &self.events);
|
||||
struct_formatter.field("revents", &self.revents);
|
||||
#[cfg(libc_union)]
|
||||
struct_formatter.field("data", &self.data);
|
||||
struct_formatter.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for pollfd_ext {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.fd.hash(state);
|
||||
self.events.hash(state);
|
||||
self.revents.hash(state);
|
||||
#[cfg(libc_union)]
|
||||
self.data.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
|
||||
__mt_word: [0, 2, 0, 0, 0, 0, 0, 0],
|
||||
};
|
||||
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
|
||||
__cv_word: [0, 0, 0, 0, 2, 0],
|
||||
};
|
||||
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
|
||||
__rw_word: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
};
|
||||
pub const RLIM_INFINITY: ::c_ulong = 0x7fffffffffffffff;
|
||||
|
||||
extern "C" {
|
||||
pub fn getsystemcfg(label: ::c_int) -> ::c_ulong;
|
||||
}
|
||||
@@ -15,7 +15,6 @@ s! {
|
||||
pub uc_link: *mut ::ucontext_t,
|
||||
pub uc_mcsize: usize,
|
||||
pub uc_mcontext: mcontext_t,
|
||||
__mcontext_data: __darwin_mcontext64,
|
||||
}
|
||||
|
||||
pub struct __darwin_mcontext64 {
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
s! {
|
||||
pub struct ctl_info {
|
||||
pub ctl_id: u32,
|
||||
pub ctl_name: [::c_char; MAX_KCTL_NAME],
|
||||
}
|
||||
}
|
||||
|
||||
pub const MAX_KCTL_NAME: usize = 96;
|
||||
+609
-14
@@ -145,6 +145,16 @@ pub type CCRNGStatus = ::CCCryptorStatus;
|
||||
|
||||
pub type copyfile_state_t = *mut ::c_void;
|
||||
pub type copyfile_flags_t = u32;
|
||||
pub type copyfile_callback_t = ::Option<
|
||||
extern "C" fn(
|
||||
::c_int,
|
||||
::c_int,
|
||||
copyfile_state_t,
|
||||
*const ::c_char,
|
||||
*const ::c_char,
|
||||
*mut ::c_void,
|
||||
) -> ::c_int,
|
||||
>;
|
||||
|
||||
pub type attrgroup_t = u32;
|
||||
pub type vol_capabilities_set_t = [u32; 4];
|
||||
@@ -368,6 +378,25 @@ s! {
|
||||
pub fst_bytesalloc: ::off_t,
|
||||
}
|
||||
|
||||
pub struct fpunchhole_t {
|
||||
pub fp_flags: ::c_uint, /* unused */
|
||||
pub reserved: ::c_uint, /* (to maintain 8-byte alignment) */
|
||||
pub fp_offset: ::off_t, /* IN: start of the region */
|
||||
pub fp_length: ::off_t, /* IN: size of the region */
|
||||
}
|
||||
|
||||
pub struct ftrimactivefile_t {
|
||||
pub fta_offset: ::off_t,
|
||||
pub fta_length: ::off_t,
|
||||
}
|
||||
|
||||
pub struct fspecread_t {
|
||||
pub fsr_flags: ::c_uint,
|
||||
pub reserved: ::c_uint,
|
||||
pub fsr_offset: ::off_t,
|
||||
pub fsr_length: ::off_t,
|
||||
}
|
||||
|
||||
pub struct radvisory {
|
||||
pub ra_offset: ::off_t,
|
||||
pub ra_count: ::c_int,
|
||||
@@ -435,6 +464,80 @@ s! {
|
||||
pub ifm_data: if_data,
|
||||
}
|
||||
|
||||
pub struct ifa_msghdr {
|
||||
pub ifam_msglen: ::c_ushort,
|
||||
pub ifam_version: ::c_uchar,
|
||||
pub ifam_type: ::c_uchar,
|
||||
pub ifam_addrs: ::c_int,
|
||||
pub ifam_flags: ::c_int,
|
||||
pub ifam_index: ::c_ushort,
|
||||
pub ifam_metric: ::c_int,
|
||||
}
|
||||
|
||||
pub struct ifma_msghdr {
|
||||
pub ifmam_msglen: ::c_ushort,
|
||||
pub ifmam_version: ::c_uchar,
|
||||
pub ifmam_type: ::c_uchar,
|
||||
pub ifmam_addrs: ::c_int,
|
||||
pub ifmam_flags: ::c_int,
|
||||
pub ifmam_index: ::c_ushort,
|
||||
}
|
||||
|
||||
pub struct ifma_msghdr2 {
|
||||
pub ifmam_msglen: ::c_ushort,
|
||||
pub ifmam_version: ::c_uchar,
|
||||
pub ifmam_type: ::c_uchar,
|
||||
pub ifmam_addrs: ::c_int,
|
||||
pub ifmam_flags: ::c_int,
|
||||
pub ifmam_index: ::c_ushort,
|
||||
pub ifmam_refcount: i32,
|
||||
}
|
||||
|
||||
pub struct rt_metrics {
|
||||
pub rmx_locks: u32,
|
||||
pub rmx_mtu: u32,
|
||||
pub rmx_hopcount: u32,
|
||||
pub rmx_expire: i32,
|
||||
pub rmx_recvpipe: u32,
|
||||
pub rmx_sendpipe: u32,
|
||||
pub rmx_ssthresh: u32,
|
||||
pub rmx_rtt: u32,
|
||||
pub rmx_rttvar: u32,
|
||||
pub rmx_pksent: u32,
|
||||
pub rmx_state: u32,
|
||||
pub rmx_filler: [u32; 3],
|
||||
}
|
||||
|
||||
pub struct rt_msghdr {
|
||||
pub rtm_msglen: ::c_ushort,
|
||||
pub rtm_version: ::c_uchar,
|
||||
pub rtm_type: ::c_uchar,
|
||||
pub rtm_index: ::c_ushort,
|
||||
pub rtm_flags: ::c_int,
|
||||
pub rtm_addrs: ::c_int,
|
||||
pub rtm_pid: ::pid_t,
|
||||
pub rtm_seq: ::c_int,
|
||||
pub rtm_errno: ::c_int,
|
||||
pub rtm_use: ::c_int,
|
||||
pub rtm_inits: u32,
|
||||
pub rtm_rmx: rt_metrics,
|
||||
}
|
||||
|
||||
pub struct rt_msghdr2 {
|
||||
pub rtm_msglen: ::c_ushort,
|
||||
pub rtm_version: ::c_uchar,
|
||||
pub rtm_type: ::c_uchar,
|
||||
pub rtm_index: ::c_ushort,
|
||||
pub rtm_flags: ::c_int,
|
||||
pub rtm_addrs: ::c_int,
|
||||
pub rtm_refcnt: i32,
|
||||
pub rtm_parentflags: ::c_int,
|
||||
pub rtm_reserved: ::c_int,
|
||||
pub rtm_use: ::c_int,
|
||||
pub rtm_inits: u32,
|
||||
pub rtm_rmx: rt_metrics,
|
||||
}
|
||||
|
||||
pub struct termios {
|
||||
pub c_iflag: ::tcflag_t,
|
||||
pub c_oflag: ::tcflag_t,
|
||||
@@ -694,7 +797,7 @@ s! {
|
||||
pub struct sockaddr_ndrv {
|
||||
pub snd_len: ::c_uchar,
|
||||
pub snd_family: ::c_uchar,
|
||||
pub snd_name: [::c_uchar; 16] // IFNAMSIZ from if.h
|
||||
pub snd_name: [::c_uchar; ::IFNAMSIZ],
|
||||
}
|
||||
|
||||
// sys/socket.h
|
||||
@@ -1026,6 +1129,58 @@ s! {
|
||||
pub validattr: attribute_set_t,
|
||||
pub nativeattr: attribute_set_t,
|
||||
}
|
||||
|
||||
#[cfg_attr(libc_packedN, repr(packed(4)))]
|
||||
pub struct ifconf {
|
||||
pub ifc_len: ::c_int,
|
||||
#[cfg(libc_union)]
|
||||
pub ifc_ifcu: __c_anonymous_ifc_ifcu,
|
||||
#[cfg(not(libc_union))]
|
||||
pub ifc_ifcu: *mut ifreq,
|
||||
}
|
||||
|
||||
#[cfg_attr(libc_align, repr(align(8)))]
|
||||
pub struct tcp_connection_info {
|
||||
pub tcpi_state: u8,
|
||||
pub tcpi_snd_wscale: u8,
|
||||
pub tcpi_rcv_wscale: u8,
|
||||
__pad1: u8,
|
||||
pub tcpi_options: u32,
|
||||
pub tcpi_flags: u32,
|
||||
pub tcpi_rto: u32,
|
||||
pub tcpi_maxseg: u32,
|
||||
pub tcpi_snd_ssthresh: u32,
|
||||
pub tcpi_snd_cwnd: u32,
|
||||
pub tcpi_snd_wnd: u32,
|
||||
pub tcpi_snd_sbbytes: u32,
|
||||
pub tcpi_rcv_wnd: u32,
|
||||
pub tcpi_rttcur: u32,
|
||||
pub tcpi_srtt: u32,
|
||||
pub tcpi_rttvar: u32,
|
||||
pub tcpi_tfo_cookie_req: u32,
|
||||
pub tcpi_tfo_cookie_rcv: u32,
|
||||
pub tcpi_tfo_syn_loss: u32,
|
||||
pub tcpi_tfo_syn_data_sent: u32,
|
||||
pub tcpi_tfo_syn_data_acked: u32,
|
||||
pub tcpi_tfo_syn_data_rcv: u32,
|
||||
pub tcpi_tfo_cookie_req_rcv: u32,
|
||||
pub tcpi_tfo_cookie_sent: u32,
|
||||
pub tcpi_tfo_cookie_invalid: u32,
|
||||
pub tcpi_tfo_cookie_wrong: u32,
|
||||
pub tcpi_tfo_no_cookie_rcv: u32,
|
||||
pub tcpi_tfo_heuristics_disable: u32,
|
||||
pub tcpi_tfo_send_blackhole: u32,
|
||||
pub tcpi_tfo_recv_blackhole: u32,
|
||||
pub tcpi_tfo_onebyte_proxy: u32,
|
||||
__pad2: u32,
|
||||
pub tcpi_txpackets: u64,
|
||||
pub tcpi_txbytes: u64,
|
||||
pub tcpi_txretransmitbytes: u64,
|
||||
pub tcpi_rxpackets: u64,
|
||||
pub tcpi_rxbytes: u64,
|
||||
pub tcpi_rxoutoforderbytes: u64,
|
||||
pub tcpi_rxretransmitpackets: u64,
|
||||
}
|
||||
}
|
||||
|
||||
s_no_extra_traits! {
|
||||
@@ -1307,6 +1462,69 @@ s_no_extra_traits! {
|
||||
pub struct os_unfair_lock_s {
|
||||
_os_unfair_lock_opaque: u32,
|
||||
}
|
||||
|
||||
#[cfg_attr(libc_packedN, repr(packed(1)))]
|
||||
pub struct sockaddr_vm {
|
||||
pub svm_len: ::c_uchar,
|
||||
pub svm_family: ::sa_family_t,
|
||||
pub svm_reserved1: ::c_ushort,
|
||||
pub svm_port: ::c_uint,
|
||||
pub svm_cid: ::c_uint,
|
||||
}
|
||||
|
||||
pub struct ifdevmtu {
|
||||
pub ifdm_current: ::c_int,
|
||||
pub ifdm_min: ::c_int,
|
||||
pub ifdm_max: ::c_int,
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union __c_anonymous_ifk_data {
|
||||
pub ifk_ptr: *mut ::c_void,
|
||||
pub ifk_value: ::c_int,
|
||||
}
|
||||
|
||||
#[cfg_attr(libc_packedN, repr(packed(4)))]
|
||||
pub struct ifkpi {
|
||||
pub ifk_module_id: ::c_uint,
|
||||
pub ifk_type: ::c_uint,
|
||||
#[cfg(libc_union)]
|
||||
pub ifk_data: __c_anonymous_ifk_data,
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union __c_anonymous_ifr_ifru {
|
||||
pub ifru_addr: ::sockaddr,
|
||||
pub ifru_dstaddr: ::sockaddr,
|
||||
pub ifru_broadaddr: ::sockaddr,
|
||||
pub ifru_flags: ::c_short,
|
||||
pub ifru_metrics: ::c_int,
|
||||
pub ifru_mtu: ::c_int,
|
||||
pub ifru_phys: ::c_int,
|
||||
pub ifru_media: ::c_int,
|
||||
pub ifru_intval: ::c_int,
|
||||
pub ifru_data: *mut ::c_char,
|
||||
pub ifru_devmtu: ifdevmtu,
|
||||
pub ifru_kpi: ifkpi,
|
||||
pub ifru_wake_flags: u32,
|
||||
pub ifru_route_refcnt: u32,
|
||||
pub ifru_cap: [::c_int; 2],
|
||||
pub ifru_functional_type: u32,
|
||||
}
|
||||
|
||||
pub struct ifreq {
|
||||
pub ifr_name: [::c_char; ::IFNAMSIZ],
|
||||
#[cfg(libc_union)]
|
||||
pub ifr_ifru: __c_anonymous_ifr_ifru,
|
||||
#[cfg(not(libc_union))]
|
||||
pub ifr_ifru: ::sockaddr,
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union __c_anonymous_ifc_ifcu {
|
||||
pub ifcu_buf: *mut ::c_char,
|
||||
pub ifcu_req: *mut ifreq,
|
||||
}
|
||||
}
|
||||
|
||||
impl siginfo_t {
|
||||
@@ -2609,6 +2827,268 @@ cfg_if! {
|
||||
self._os_unfair_lock_opaque.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for sockaddr_vm {
|
||||
fn eq(&self, other: &sockaddr_vm) -> bool {
|
||||
self.svm_len == other.svm_len
|
||||
&& self.svm_family == other.svm_family
|
||||
&& self.svm_reserved1 == other.svm_reserved1
|
||||
&& self.svm_port == other.svm_port
|
||||
&& self.svm_cid == other.svm_cid
|
||||
}
|
||||
}
|
||||
|
||||
impl Eq for sockaddr_vm {}
|
||||
|
||||
impl ::fmt::Debug for sockaddr_vm {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let svm_len = self.svm_len;
|
||||
let svm_family = self.svm_family;
|
||||
let svm_reserved1 = self.svm_reserved1;
|
||||
let svm_port = self.svm_port;
|
||||
let svm_cid = self.svm_cid;
|
||||
|
||||
f.debug_struct("sockaddr_vm")
|
||||
.field("svm_len",&svm_len)
|
||||
.field("svm_family",&svm_family)
|
||||
.field("svm_reserved1",&svm_reserved1)
|
||||
.field("svm_port",&svm_port)
|
||||
.field("svm_cid",&svm_cid)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl ::hash::Hash for sockaddr_vm {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
let svm_len = self.svm_len;
|
||||
let svm_family = self.svm_family;
|
||||
let svm_reserved1 = self.svm_reserved1;
|
||||
let svm_port = self.svm_port;
|
||||
let svm_cid = self.svm_cid;
|
||||
|
||||
svm_len.hash(state);
|
||||
svm_family.hash(state);
|
||||
svm_reserved1.hash(state);
|
||||
svm_port.hash(state);
|
||||
svm_cid.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for ifdevmtu {
|
||||
fn eq(&self, other: &ifdevmtu) -> bool {
|
||||
self.ifdm_current == other.ifdm_current
|
||||
&& self.ifdm_min == other.ifdm_min
|
||||
&& self.ifdm_max == other.ifdm_max
|
||||
}
|
||||
}
|
||||
|
||||
impl Eq for ifdevmtu {}
|
||||
|
||||
impl ::fmt::Debug for ifdevmtu {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("ifdevmtu")
|
||||
.field("ifdm_current", &self.ifdm_current)
|
||||
.field("ifdm_min", &self.ifdm_min)
|
||||
.field("ifdm_max", &self.ifdm_max)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl ::hash::Hash for ifdevmtu {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.ifdm_current.hash(state);
|
||||
self.ifdm_min.hash(state);
|
||||
self.ifdm_max.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for __c_anonymous_ifk_data {
|
||||
fn eq(&self, other: &__c_anonymous_ifk_data) -> bool {
|
||||
unsafe {
|
||||
self.ifk_ptr == other.ifk_ptr
|
||||
&& self.ifk_value == other.ifk_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for __c_anonymous_ifk_data {}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for __c_anonymous_ifk_data {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("__c_anonymous_ifk_data")
|
||||
.field("ifk_ptr", unsafe { &self.ifk_ptr })
|
||||
.field("ifk_value", unsafe { &self.ifk_value })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for __c_anonymous_ifk_data {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe {
|
||||
self.ifk_ptr.hash(state);
|
||||
self.ifk_value.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for ifkpi {
|
||||
fn eq(&self, other: &ifkpi) -> bool {
|
||||
self.ifk_module_id == other.ifk_module_id
|
||||
&& self.ifk_type == other.ifk_type
|
||||
}
|
||||
}
|
||||
|
||||
impl Eq for ifkpi {}
|
||||
|
||||
impl ::fmt::Debug for ifkpi {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("ifkpi")
|
||||
.field("ifk_module_id", &self.ifk_module_id)
|
||||
.field("ifk_type", &self.ifk_type)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl ::hash::Hash for ifkpi {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.ifk_module_id.hash(state);
|
||||
self.ifk_type.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for __c_anonymous_ifr_ifru {
|
||||
fn eq(&self, other: &__c_anonymous_ifr_ifru) -> bool {
|
||||
unsafe {
|
||||
self.ifru_addr == other.ifru_addr
|
||||
&& self.ifru_dstaddr == other.ifru_dstaddr
|
||||
&& self.ifru_broadaddr == other.ifru_broadaddr
|
||||
&& self.ifru_flags == other.ifru_flags
|
||||
&& self.ifru_metrics == other.ifru_metrics
|
||||
&& self.ifru_mtu == other.ifru_mtu
|
||||
&& self.ifru_phys == other.ifru_phys
|
||||
&& self.ifru_media == other.ifru_media
|
||||
&& self.ifru_intval == other.ifru_intval
|
||||
&& self.ifru_data == other.ifru_data
|
||||
&& self.ifru_devmtu == other.ifru_devmtu
|
||||
&& self.ifru_kpi == other.ifru_kpi
|
||||
&& self.ifru_wake_flags == other.ifru_wake_flags
|
||||
&& self.ifru_route_refcnt == other.ifru_route_refcnt
|
||||
&& self.ifru_cap.iter().zip(other.ifru_cap.iter()).all(|(a,b)| a == b)
|
||||
&& self.ifru_functional_type == other.ifru_functional_type
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for __c_anonymous_ifr_ifru {}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for __c_anonymous_ifr_ifru {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("__c_anonymous_ifr_ifru")
|
||||
.field("ifru_addr", unsafe { &self.ifru_addr })
|
||||
.field("ifru_dstaddr", unsafe { &self.ifru_dstaddr })
|
||||
.field("ifru_broadaddr", unsafe { &self.ifru_broadaddr })
|
||||
.field("ifru_flags", unsafe { &self.ifru_flags })
|
||||
.field("ifru_metrics", unsafe { &self.ifru_metrics })
|
||||
.field("ifru_mtu", unsafe { &self.ifru_mtu })
|
||||
.field("ifru_phys", unsafe { &self.ifru_phys })
|
||||
.field("ifru_media", unsafe { &self.ifru_media })
|
||||
.field("ifru_intval", unsafe { &self.ifru_intval })
|
||||
.field("ifru_data", unsafe { &self.ifru_data })
|
||||
.field("ifru_devmtu", unsafe { &self.ifru_devmtu })
|
||||
.field("ifru_kpi", unsafe { &self.ifru_kpi })
|
||||
.field("ifru_wake_flags", unsafe { &self.ifru_wake_flags })
|
||||
.field("ifru_route_refcnt", unsafe { &self.ifru_route_refcnt })
|
||||
.field("ifru_cap", unsafe { &self.ifru_cap })
|
||||
.field("ifru_functional_type", unsafe { &self.ifru_functional_type })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for __c_anonymous_ifr_ifru {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe {
|
||||
self.ifru_addr.hash(state);
|
||||
self.ifru_dstaddr.hash(state);
|
||||
self.ifru_broadaddr.hash(state);
|
||||
self.ifru_flags.hash(state);
|
||||
self.ifru_metrics.hash(state);
|
||||
self.ifru_mtu.hash(state);
|
||||
self.ifru_phys.hash(state);
|
||||
self.ifru_media.hash(state);
|
||||
self.ifru_intval.hash(state);
|
||||
self.ifru_data.hash(state);
|
||||
self.ifru_devmtu.hash(state);
|
||||
self.ifru_kpi.hash(state);
|
||||
self.ifru_wake_flags.hash(state);
|
||||
self.ifru_route_refcnt.hash(state);
|
||||
self.ifru_cap.hash(state);
|
||||
self.ifru_functional_type.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for ifreq {
|
||||
fn eq(&self, other: &ifreq) -> bool {
|
||||
self.ifr_name == other.ifr_name
|
||||
&& self.ifr_ifru == other.ifr_ifru
|
||||
}
|
||||
}
|
||||
|
||||
impl Eq for ifreq {}
|
||||
|
||||
impl ::fmt::Debug for ifreq {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("ifreq")
|
||||
.field("ifr_name", &self.ifr_name)
|
||||
.field("ifr_ifru", &self.ifr_ifru)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl ::hash::Hash for ifreq {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.ifr_name.hash(state);
|
||||
self.ifr_ifru.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for __c_anonymous_ifc_ifcu {}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for __c_anonymous_ifc_ifcu {
|
||||
fn eq(&self, other: &__c_anonymous_ifc_ifcu) -> bool {
|
||||
unsafe {
|
||||
self.ifcu_buf == other.ifcu_buf &&
|
||||
self.ifcu_req == other.ifcu_req
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for __c_anonymous_ifc_ifcu {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("ifc_ifcu")
|
||||
.field("ifcu_buf", unsafe { &self.ifcu_buf })
|
||||
.field("ifcu_req", unsafe { &self.ifcu_req })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for __c_anonymous_ifc_ifcu {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe { self.ifcu_buf.hash(state) };
|
||||
unsafe { self.ifcu_req.hash(state) };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3102,6 +3582,9 @@ pub const F_GLOBAL_NOCACHE: ::c_int = 55;
|
||||
pub const F_NODIRECT: ::c_int = 62;
|
||||
pub const F_LOG2PHYS_EXT: ::c_int = 65;
|
||||
pub const F_BARRIERFSYNC: ::c_int = 85;
|
||||
pub const F_PUNCHHOLE: ::c_int = 99;
|
||||
pub const F_TRIM_ACTIVE_FILE: ::c_int = 100;
|
||||
pub const F_SPECULATIVE_READ: ::c_int = 101;
|
||||
pub const F_GETPATH_NOFIRMLINK: ::c_int = 102;
|
||||
|
||||
pub const F_ALLOCATECONTIG: ::c_uint = 0x02;
|
||||
@@ -3313,6 +3796,8 @@ pub const MINCORE_MODIFIED: ::c_int = 0x4;
|
||||
pub const MINCORE_REFERENCED_OTHER: ::c_int = 0x8;
|
||||
pub const MINCORE_MODIFIED_OTHER: ::c_int = 0x10;
|
||||
|
||||
pub const CTLIOCGINFO: c_ulong = 0xc0644e03;
|
||||
|
||||
//
|
||||
// sys/netinet/in.h
|
||||
// Protocols (RFC 1700)
|
||||
@@ -3568,6 +4053,9 @@ pub const AF_SYSTEM: ::c_int = 32;
|
||||
pub const AF_NETBIOS: ::c_int = 33;
|
||||
pub const AF_PPP: ::c_int = 34;
|
||||
pub const pseudo_AF_HDRCMPLT: ::c_int = 35;
|
||||
pub const AF_IEEE80211: ::c_int = 37;
|
||||
pub const AF_UTUN: ::c_int = 38;
|
||||
pub const AF_VSOCK: ::c_int = 40;
|
||||
pub const AF_SYS_CONTROL: ::c_int = 2;
|
||||
|
||||
pub const SYSPROTO_EVENT: ::c_int = 1;
|
||||
@@ -3609,6 +4097,7 @@ pub const PF_NATM: ::c_int = AF_NATM;
|
||||
pub const PF_SYSTEM: ::c_int = AF_SYSTEM;
|
||||
pub const PF_NETBIOS: ::c_int = AF_NETBIOS;
|
||||
pub const PF_PPP: ::c_int = AF_PPP;
|
||||
pub const PF_VSOCK: ::c_int = AF_VSOCK;
|
||||
|
||||
pub const NET_RT_DUMP: ::c_int = 1;
|
||||
pub const NET_RT_FLAGS: ::c_int = 2;
|
||||
@@ -3629,6 +4118,7 @@ pub const IP_RECVDSTADDR: ::c_int = 7;
|
||||
pub const IP_ADD_MEMBERSHIP: ::c_int = 12;
|
||||
pub const IP_DROP_MEMBERSHIP: ::c_int = 13;
|
||||
pub const IP_RECVIF: ::c_int = 20;
|
||||
pub const IP_RECVTTL: ::c_int = 24;
|
||||
pub const IP_BOUND_IF: ::c_int = 25;
|
||||
pub const IP_PKTINFO: ::c_int = 26;
|
||||
pub const IP_RECVTOS: ::c_int = 27;
|
||||
@@ -3638,6 +4128,7 @@ pub const IPV6_LEAVE_GROUP: ::c_int = 13;
|
||||
pub const IPV6_CHECKSUM: ::c_int = 26;
|
||||
pub const IPV6_RECVTCLASS: ::c_int = 35;
|
||||
pub const IPV6_TCLASS: ::c_int = 36;
|
||||
pub const IPV6_RECVHOPLIMIT: ::c_int = 37;
|
||||
pub const IPV6_PKTINFO: ::c_int = 46;
|
||||
pub const IPV6_HOPLIMIT: ::c_int = 47;
|
||||
pub const IPV6_RECVPKTINFO: ::c_int = 61;
|
||||
@@ -3655,6 +4146,7 @@ pub const TCP_KEEPINTVL: ::c_int = 0x101;
|
||||
pub const TCP_KEEPCNT: ::c_int = 0x102;
|
||||
/// Enable/Disable TCP Fastopen on this socket
|
||||
pub const TCP_FASTOPEN: ::c_int = 0x105;
|
||||
pub const TCP_CONNECTION_INFO: ::c_int = 0x106;
|
||||
|
||||
pub const SOL_LOCAL: ::c_int = 0;
|
||||
|
||||
@@ -3716,12 +4208,13 @@ pub const MSG_HOLD: ::c_int = 0x800;
|
||||
pub const MSG_SEND: ::c_int = 0x1000;
|
||||
pub const MSG_HAVEMORE: ::c_int = 0x2000;
|
||||
pub const MSG_RCVMORE: ::c_int = 0x4000;
|
||||
// pub const MSG_COMPAT: ::c_int = 0x8000;
|
||||
pub const MSG_NEEDSA: ::c_int = 0x10000;
|
||||
pub const MSG_NOSIGNAL: ::c_int = 0x80000;
|
||||
|
||||
pub const SCM_TIMESTAMP: ::c_int = 0x02;
|
||||
pub const SCM_CREDS: ::c_int = 0x03;
|
||||
|
||||
// https://github.com/aosm/xnu/blob/master/bsd/net/if.h#L140-L156
|
||||
// https://github.com/aosm/xnu/blob/HEAD/bsd/net/if.h#L140-L156
|
||||
pub const IFF_UP: ::c_int = 0x1; // interface is up
|
||||
pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
|
||||
pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging
|
||||
@@ -4053,6 +4546,7 @@ pub const RTLD_FIRST: ::c_int = 0x100;
|
||||
pub const RTLD_NODELETE: ::c_int = 0x80;
|
||||
pub const RTLD_NOLOAD: ::c_int = 0x10;
|
||||
pub const RTLD_GLOBAL: ::c_int = 0x8;
|
||||
pub const RTLD_MAIN_ONLY: *mut ::c_void = -5isize as *mut ::c_void;
|
||||
|
||||
pub const _WSTOPPED: ::c_int = 0o177;
|
||||
|
||||
@@ -4518,7 +5012,7 @@ pub const DLT_ATM_RFC1483: ::c_uint = 11; // LLC/SNAP encapsulated atm
|
||||
pub const DLT_RAW: ::c_uint = 12; // raw IP
|
||||
pub const DLT_LOOP: ::c_uint = 108;
|
||||
|
||||
// https://github.com/apple/darwin-xnu/blob/master/bsd/net/bpf.h#L100
|
||||
// https://github.com/apple/darwin-xnu/blob/HEAD/bsd/net/bpf.h#L100
|
||||
// sizeof(i32)
|
||||
pub const BPF_ALIGNMENT: ::c_int = 4;
|
||||
|
||||
@@ -4550,12 +5044,12 @@ pub const MNT_SNAPSHOT: ::c_int = 0x40000000;
|
||||
pub const MNT_NOBLOCK: ::c_int = 0x00020000;
|
||||
|
||||
// sys/spawn.h:
|
||||
pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01;
|
||||
pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02;
|
||||
pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x04;
|
||||
pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x08;
|
||||
pub const POSIX_SPAWN_SETEXEC: ::c_int = 0x40;
|
||||
pub const POSIX_SPAWN_START_SUSPENDED: ::c_int = 0x80;
|
||||
pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x0001;
|
||||
pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x0002;
|
||||
pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x0004;
|
||||
pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x0008;
|
||||
pub const POSIX_SPAWN_SETEXEC: ::c_int = 0x0040;
|
||||
pub const POSIX_SPAWN_START_SUSPENDED: ::c_int = 0x0080;
|
||||
pub const POSIX_SPAWN_CLOEXEC_DEFAULT: ::c_int = 0x4000;
|
||||
|
||||
// sys/ipc.h:
|
||||
@@ -4774,6 +5268,19 @@ pub const COPYFILE_PROGRESS: ::c_int = 4;
|
||||
pub const COPYFILE_CONTINUE: ::c_int = 0;
|
||||
pub const COPYFILE_SKIP: ::c_int = 1;
|
||||
pub const COPYFILE_QUIT: ::c_int = 2;
|
||||
pub const COPYFILE_STATE_SRC_FD: ::c_int = 1;
|
||||
pub const COPYFILE_STATE_SRC_FILENAME: ::c_int = 2;
|
||||
pub const COPYFILE_STATE_DST_FD: ::c_int = 3;
|
||||
pub const COPYFILE_STATE_DST_FILENAME: ::c_int = 4;
|
||||
pub const COPYFILE_STATE_QUARANTINE: ::c_int = 5;
|
||||
pub const COPYFILE_STATE_STATUS_CB: ::c_int = 6;
|
||||
pub const COPYFILE_STATE_STATUS_CTX: ::c_int = 7;
|
||||
pub const COPYFILE_STATE_COPIED: ::c_int = 8;
|
||||
pub const COPYFILE_STATE_XATTRNAME: ::c_int = 9;
|
||||
pub const COPYFILE_STATE_WAS_CLONED: ::c_int = 10;
|
||||
pub const COPYFILE_STATE_SRC_BSIZE: ::c_int = 11;
|
||||
pub const COPYFILE_STATE_DST_BSIZE: ::c_int = 12;
|
||||
pub const COPYFILE_STATE_BSIZE: ::c_int = 13;
|
||||
|
||||
// <sys/attr.h>
|
||||
pub const ATTR_BIT_MAP_COUNT: ::c_ushort = 5;
|
||||
@@ -4914,6 +5421,25 @@ pub const VOL_CAP_INT_RENAME_SWAP: attrgroup_t = 0x00040000;
|
||||
pub const VOL_CAP_INT_RENAME_EXCL: attrgroup_t = 0x00080000;
|
||||
pub const VOL_CAP_INT_RENAME_OPENFAIL: attrgroup_t = 0x00100000;
|
||||
|
||||
// <proc.h>
|
||||
/// Process being created by fork.
|
||||
pub const SIDL: u32 = 1;
|
||||
/// Currently runnable.
|
||||
pub const SRUN: u32 = 2;
|
||||
/// Sleeping on an address.
|
||||
pub const SSLEEP: u32 = 3;
|
||||
/// Process debugging or suspension.
|
||||
pub const SSTOP: u32 = 4;
|
||||
/// Awaiting collection by parent.
|
||||
pub const SZOMB: u32 = 5;
|
||||
|
||||
// sys/vsock.h
|
||||
pub const VMADDR_CID_ANY: ::c_uint = 0xFFFFFFFF;
|
||||
pub const VMADDR_CID_HYPERVISOR: ::c_uint = 0;
|
||||
pub const VMADDR_CID_RESERVED: ::c_uint = 1;
|
||||
pub const VMADDR_CID_HOST: ::c_uint = 2;
|
||||
pub const VMADDR_PORT_ANY: ::c_uint = 0xFFFFFFFF;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(libc_const_extern_fn)] {
|
||||
const fn __DARWIN_ALIGN32(p: usize) -> usize {
|
||||
@@ -5019,7 +5545,7 @@ f! {
|
||||
as ::c_uint
|
||||
}
|
||||
|
||||
pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
pub {const} fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
(__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) + length as usize)
|
||||
as ::c_uint
|
||||
}
|
||||
@@ -5119,13 +5645,24 @@ extern "C" {
|
||||
pub fn endutxent();
|
||||
pub fn utmpxname(file: *const ::c_char) -> ::c_int;
|
||||
|
||||
pub fn asctime(tm: *const ::tm) -> *mut ::c_char;
|
||||
pub fn ctime(clock: *const time_t) -> *mut ::c_char;
|
||||
pub fn getdate(datestr: *const ::c_char) -> *mut ::tm;
|
||||
pub fn strptime(
|
||||
buf: *const ::c_char,
|
||||
format: *const ::c_char,
|
||||
timeptr: *mut ::tm,
|
||||
) -> *mut ::c_char;
|
||||
pub fn asctime_r(tm: *const ::tm, result: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn ctime_r(clock: *const time_t, result: *mut ::c_char) -> *mut ::c_char;
|
||||
|
||||
pub fn getnameinfo(
|
||||
sa: *const ::sockaddr,
|
||||
salen: ::socklen_t,
|
||||
host: *mut ::c_char,
|
||||
hostlen: ::socklen_t,
|
||||
serv: *mut ::c_char,
|
||||
sevlen: ::socklen_t,
|
||||
servlen: ::socklen_t,
|
||||
flags: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn mincore(addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char) -> ::c_int;
|
||||
@@ -5188,6 +5725,10 @@ extern "C" {
|
||||
f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
|
||||
value: *mut ::c_void,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_stack_frame_decode_np(
|
||||
frame_addr: ::uintptr_t,
|
||||
return_addr: *mut ::uintptr_t,
|
||||
) -> ::uintptr_t;
|
||||
pub fn pthread_get_stackaddr_np(thread: ::pthread_t) -> *mut ::c_void;
|
||||
pub fn pthread_get_stacksize_np(thread: ::pthread_t) -> ::size_t;
|
||||
pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int;
|
||||
@@ -5195,6 +5736,7 @@ extern "C" {
|
||||
attr: *const pthread_condattr_t,
|
||||
pshared: *mut ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_main_np() -> ::c_int;
|
||||
pub fn pthread_mutexattr_setpshared(
|
||||
attr: *mut pthread_mutexattr_t,
|
||||
pshared: ::c_int,
|
||||
@@ -5556,6 +6098,26 @@ extern "C" {
|
||||
subpref: *mut ::cpu_subtype_t,
|
||||
ocount: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_getbinpref_np(
|
||||
attr: *const posix_spawnattr_t,
|
||||
count: ::size_t,
|
||||
pref: *mut ::cpu_type_t,
|
||||
ocount: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setbinpref_np(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
count: ::size_t,
|
||||
pref: *mut ::cpu_type_t,
|
||||
ocount: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_set_qos_class_np(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
qos_class: ::qos_class_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_get_qos_class_np(
|
||||
attr: *const posix_spawnattr_t,
|
||||
qos_class: *mut ::qos_class_t,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn posix_spawn_file_actions_init(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_destroy(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
|
||||
@@ -5633,6 +6195,10 @@ extern "C" {
|
||||
state: copyfile_state_t,
|
||||
flags: copyfile_flags_t,
|
||||
) -> ::c_int;
|
||||
pub fn copyfile_state_free(s: copyfile_state_t) -> ::c_int;
|
||||
pub fn copyfile_state_alloc() -> copyfile_state_t;
|
||||
pub fn copyfile_state_get(s: copyfile_state_t, flags: u32, dst: *mut ::c_void) -> ::c_int;
|
||||
pub fn copyfile_state_set(s: copyfile_state_t, flags: u32, src: *const ::c_void) -> ::c_int;
|
||||
|
||||
// Added in macOS 10.13
|
||||
// ISO/IEC 9899:2011 ("ISO C11") K.3.7.4.1
|
||||
@@ -5717,7 +6283,7 @@ extern "C" {
|
||||
buffersize: u32,
|
||||
) -> ::c_int;
|
||||
pub fn proc_kmsgbuf(buffer: *mut ::c_void, buffersize: u32) -> ::c_int;
|
||||
pub fn proc_libversion(major: *mut ::c_int, mintor: *mut ::c_int) -> ::c_int;
|
||||
pub fn proc_libversion(major: *mut ::c_int, minor: *mut ::c_int) -> ::c_int;
|
||||
pub fn proc_pid_rusage(pid: ::c_int, flavor: ::c_int, buffer: *mut rusage_info_t) -> ::c_int;
|
||||
|
||||
// Available from Big Sur
|
||||
@@ -5734,6 +6300,7 @@ extern "C" {
|
||||
pub fn sethostid(hostid: ::c_long);
|
||||
|
||||
pub fn CCRandomGenerateBytes(bytes: *mut ::c_void, size: ::size_t) -> ::CCRNGStatus;
|
||||
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
|
||||
|
||||
pub fn _NSGetExecutablePath(buf: *mut ::c_char, bufsize: *mut u32) -> ::c_int;
|
||||
pub fn _NSGetEnviron() -> *mut *mut *mut ::c_char;
|
||||
@@ -5752,6 +6319,13 @@ extern "C" {
|
||||
inheritance: ::vm_inherit_t,
|
||||
) -> ::kern_return_t;
|
||||
|
||||
pub fn vm_allocate(
|
||||
target_task: vm_map_t,
|
||||
address: *mut vm_address_t,
|
||||
size: vm_size_t,
|
||||
flags: ::c_int,
|
||||
) -> ::kern_return_t;
|
||||
|
||||
pub fn vm_deallocate(
|
||||
target_task: vm_map_t,
|
||||
address: vm_address_t,
|
||||
@@ -5873,6 +6447,20 @@ extern "C" {
|
||||
|
||||
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
|
||||
|
||||
pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int;
|
||||
pub fn mknodat(
|
||||
dirfd: ::c_int,
|
||||
pathname: *const ::c_char,
|
||||
mode: ::mode_t,
|
||||
dev: dev_t,
|
||||
) -> ::c_int;
|
||||
pub fn freadlink(fd: ::c_int, buf: *mut ::c_char, size: ::size_t) -> ::c_int;
|
||||
pub fn execvP(
|
||||
file: *const ::c_char,
|
||||
search_path: *const ::c_char,
|
||||
argv: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
pub unsafe fn mach_task_self() -> ::mach_port_t {
|
||||
@@ -5887,7 +6475,7 @@ cfg_if! {
|
||||
}
|
||||
}
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_os = "macos", target_os = "ios"))] {
|
||||
if #[cfg(any(target_os = "macos", target_os = "ios", target_os = "tvos"))] {
|
||||
extern "C" {
|
||||
pub fn memmem(
|
||||
haystack: *const ::c_void,
|
||||
@@ -5931,3 +6519,10 @@ cfg_if! {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(libc_long_array)] {
|
||||
mod long_array;
|
||||
pub use self::long_array::*;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1091,6 +1091,7 @@ pub const EV_NODATA: u16 = 0x1000;
|
||||
pub const EV_FLAG1: u16 = 0x2000;
|
||||
pub const EV_ERROR: u16 = 0x4000;
|
||||
pub const EV_EOF: u16 = 0x8000;
|
||||
pub const EV_HUP: u16 = 0x8000;
|
||||
pub const EV_SYSFLAGS: u16 = 0xf000;
|
||||
|
||||
pub const FIODNAME: ::c_ulong = 0x80106678;
|
||||
@@ -1132,7 +1133,7 @@ pub const PROC_REAP_STATUS: ::c_int = 0x0003;
|
||||
pub const PROC_PDEATHSIG_CTL: ::c_int = 0x0004;
|
||||
pub const PROC_PDEATHSIG_STATUS: ::c_int = 0x0005;
|
||||
|
||||
// https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/net/if.h#L101
|
||||
// https://github.com/DragonFlyBSD/DragonFlyBSD/blob/HEAD/sys/net/if.h#L101
|
||||
pub const IFF_UP: ::c_int = 0x1; // interface is up
|
||||
pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
|
||||
pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging
|
||||
@@ -1518,6 +1519,9 @@ pub const MAXCOMLEN: usize = 16;
|
||||
pub const MAXLOGNAME: usize = 33;
|
||||
pub const NGROUPS: usize = 16;
|
||||
|
||||
pub const RB_PAUSE: ::c_int = 0x40000;
|
||||
pub const RB_VIDEO: ::c_int = 0x20000000;
|
||||
|
||||
const_fn! {
|
||||
{const} fn _CMSG_ALIGN(n: usize) -> usize {
|
||||
(n + (::mem::size_of::<::c_long>() - 1)) & !(::mem::size_of::<::c_long>() - 1)
|
||||
@@ -1530,7 +1534,7 @@ f! {
|
||||
.offset(_CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) as isize)
|
||||
}
|
||||
|
||||
pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
pub {const} fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
(_CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) + length as usize)
|
||||
as ::c_uint
|
||||
}
|
||||
@@ -1577,6 +1581,14 @@ f! {
|
||||
let (idx, offset) = ((cpu >> 6) & 3, cpu & 63);
|
||||
0 != cpuset.ary[idx] & (1 << offset)
|
||||
}
|
||||
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
((dev >> 8) & 0xff) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
(dev & 0xffff00ff) as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
safe_f! {
|
||||
@@ -1666,6 +1678,12 @@ extern "C" {
|
||||
|
||||
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn getmntinfo(mntbufp: *mut *mut ::statfs, flags: ::c_int) -> ::c_int;
|
||||
pub fn getmntvinfo(
|
||||
mntbufp: *mut *mut ::statfs,
|
||||
mntvbufp: *mut *mut ::statvfs,
|
||||
flags: ::c_int,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
#[link(name = "rt")]
|
||||
|
||||
@@ -442,6 +442,16 @@ safe_f! {
|
||||
}
|
||||
}
|
||||
|
||||
f! {
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
((dev >> 8) & 0xff) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
(dev & 0xffff00ff) as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
// Return type ::c_int was removed in FreeBSD 12
|
||||
pub fn setgrent() -> ::c_int;
|
||||
@@ -462,8 +472,8 @@ extern "C" {
|
||||
msgflg: ::c_int,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn fdatasync(fd: ::c_int) -> ::c_int;
|
||||
|
||||
// Type of `path` argument changed from `const void*` to `void*`
|
||||
// in FreeBSD 12
|
||||
pub fn dirname(path: *const ::c_char) -> *mut ::c_char;
|
||||
pub fn basename(path: *const ::c_char) -> *mut ::c_char;
|
||||
}
|
||||
|
||||
@@ -462,6 +462,16 @@ safe_f! {
|
||||
}
|
||||
}
|
||||
|
||||
f! {
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 32) & 0xffffff00) | ((dev >> 8) & 0xff)) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 24) & 0xff00) | (dev & 0xffff00ff)) as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
pub fn setgrent();
|
||||
pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
|
||||
@@ -473,20 +483,6 @@ extern "C" {
|
||||
msgtyp: ::c_long,
|
||||
msgflg: ::c_int,
|
||||
) -> ::ssize_t;
|
||||
pub fn clock_nanosleep(
|
||||
clk_id: ::clockid_t,
|
||||
flags: ::c_int,
|
||||
rqtp: *const ::timespec,
|
||||
rmtp: *mut ::timespec,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn fdatasync(fd: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
|
||||
pub fn elf_aux_info(aux: ::c_int, buf: *mut ::c_void, buflen: ::c_int) -> ::c_int;
|
||||
pub fn setproctitle_fast(fmt: *const ::c_char, ...);
|
||||
pub fn timingsafe_bcmp(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
|
||||
pub fn timingsafe_memcmp(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
|
||||
|
||||
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// APIs in FreeBSD 14 that have changed since 11.
|
||||
// APIs in FreeBSD 13 that have changed since 11.
|
||||
|
||||
pub type nlink_t = u64;
|
||||
pub type dev_t = u64;
|
||||
@@ -481,6 +481,16 @@ safe_f! {
|
||||
}
|
||||
}
|
||||
|
||||
f! {
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 32) & 0xffffff00) | ((dev >> 8) & 0xff)) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 24) & 0xff00) | (dev & 0xffff00ff)) as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
pub fn setgrent();
|
||||
pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
|
||||
@@ -492,23 +502,6 @@ extern "C" {
|
||||
msgtyp: ::c_long,
|
||||
msgflg: ::c_int,
|
||||
) -> ::ssize_t;
|
||||
pub fn clock_nanosleep(
|
||||
clk_id: ::clockid_t,
|
||||
flags: ::c_int,
|
||||
rqtp: *const ::timespec,
|
||||
rmtp: *mut ::timespec,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn fdatasync(fd: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
|
||||
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
|
||||
pub fn elf_aux_info(aux: ::c_int, buf: *mut ::c_void, buflen: ::c_int) -> ::c_int;
|
||||
pub fn setproctitle_fast(fmt: *const ::c_char, ...);
|
||||
pub fn timingsafe_bcmp(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
|
||||
pub fn timingsafe_memcmp(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
|
||||
|
||||
pub fn cpuset_getdomain(
|
||||
level: ::cpulevel_t,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// APIs in FreeBSD 13 that have changed since 11.
|
||||
// APIs in FreeBSD 14 that have changed since 11.
|
||||
|
||||
pub type nlink_t = u64;
|
||||
pub type dev_t = u64;
|
||||
@@ -481,6 +481,16 @@ safe_f! {
|
||||
}
|
||||
}
|
||||
|
||||
f! {
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 32) & 0xffffff00) | ((dev >> 8) & 0xff)) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 24) & 0xff00) | (dev & 0xffff00ff)) as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
pub fn setgrent();
|
||||
pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
|
||||
@@ -492,23 +502,6 @@ extern "C" {
|
||||
msgtyp: ::c_long,
|
||||
msgflg: ::c_int,
|
||||
) -> ::ssize_t;
|
||||
pub fn clock_nanosleep(
|
||||
clk_id: ::clockid_t,
|
||||
flags: ::c_int,
|
||||
rqtp: *const ::timespec,
|
||||
rmtp: *mut ::timespec,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn fdatasync(fd: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
|
||||
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
|
||||
pub fn elf_aux_info(aux: ::c_int, buf: *mut ::c_void, buflen: ::c_int) -> ::c_int;
|
||||
pub fn setproctitle_fast(fmt: *const ::c_char, ...);
|
||||
pub fn timingsafe_bcmp(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
|
||||
pub fn timingsafe_memcmp(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
|
||||
|
||||
pub fn cpuset_getdomain(
|
||||
level: ::cpulevel_t,
|
||||
|
||||
@@ -3,3 +3,10 @@ pub const PROC_KPTI_CTL_ENABLE_ON_EXEC: ::c_int = 1;
|
||||
pub const PROC_KPTI_CTL_DISABLE_ON_EXEC: ::c_int = 2;
|
||||
pub const PROC_KPTI_STATUS: ::c_int = ::PROC_PROCCTL_MD_MIN + 1;
|
||||
pub const PROC_KPTI_STATUS_ACTIVE: ::c_int = 0x80000000;
|
||||
pub const PROC_LA_CTL: ::c_int = ::PROC_PROCCTL_MD_MIN + 2;
|
||||
pub const PROC_LA_STATUS: ::c_int = ::PROC_PROCCTL_MD_MIN + 3;
|
||||
pub const PROC_LA_CTL_LA48_ON_EXEC: ::c_int = 1;
|
||||
pub const PROC_LA_CTL_LA57_ON_EXEC: ::c_int = 2;
|
||||
pub const PROC_LA_CTL_DEFAULT_ON_EXEC: ::c_int = 3;
|
||||
pub const PROC_LA_STATUS_LA48: ::c_int = 0x01000000;
|
||||
pub const PROC_LA_STATUS_LA57: ::c_int = 0x02000000;
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))]
|
||||
pub struct stat {
|
||||
pub st_dev: ::dev_t,
|
||||
pub st_ino: ::ino_t,
|
||||
pub st_nlink: ::nlink_t,
|
||||
pub st_mode: ::mode_t,
|
||||
st_padding0: i16,
|
||||
pub st_uid: ::uid_t,
|
||||
pub st_gid: ::gid_t,
|
||||
st_padding1: i32,
|
||||
pub st_rdev: ::dev_t,
|
||||
pub st_atime: ::time_t,
|
||||
pub st_atime_nsec: ::c_long,
|
||||
pub st_mtime: ::time_t,
|
||||
pub st_mtime_nsec: ::c_long,
|
||||
pub st_ctime: ::time_t,
|
||||
pub st_ctime_nsec: ::c_long,
|
||||
pub st_birthtime: ::time_t,
|
||||
pub st_birthtime_nsec: ::c_long,
|
||||
pub st_size: ::off_t,
|
||||
pub st_blocks: ::blkcnt_t,
|
||||
pub st_blksize: ::blksize_t,
|
||||
pub st_flags: ::fflags_t,
|
||||
pub st_gen: u64,
|
||||
pub st_spare: [u64; 10],
|
||||
}
|
||||
|
||||
impl ::Copy for ::stat {}
|
||||
impl ::Clone for ::stat {
|
||||
fn clone(&self) -> ::stat {
|
||||
*self
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,546 @@
|
||||
// APIs in FreeBSD 15 that have changed since 11.
|
||||
|
||||
pub type nlink_t = u64;
|
||||
pub type dev_t = u64;
|
||||
pub type ino_t = ::c_ulong;
|
||||
pub type shmatt_t = ::c_uint;
|
||||
pub type kpaddr_t = u64;
|
||||
pub type kssize_t = i64;
|
||||
pub type domainset_t = __c_anonymous_domainset;
|
||||
|
||||
s! {
|
||||
pub struct shmid_ds {
|
||||
pub shm_perm: ::ipc_perm,
|
||||
pub shm_segsz: ::size_t,
|
||||
pub shm_lpid: ::pid_t,
|
||||
pub shm_cpid: ::pid_t,
|
||||
pub shm_nattch: ::shmatt_t,
|
||||
pub shm_atime: ::time_t,
|
||||
pub shm_dtime: ::time_t,
|
||||
pub shm_ctime: ::time_t,
|
||||
}
|
||||
|
||||
pub struct kevent {
|
||||
pub ident: ::uintptr_t,
|
||||
pub filter: ::c_short,
|
||||
pub flags: ::c_ushort,
|
||||
pub fflags: ::c_uint,
|
||||
pub data: i64,
|
||||
pub udata: *mut ::c_void,
|
||||
pub ext: [u64; 4],
|
||||
}
|
||||
|
||||
pub struct kvm_page {
|
||||
pub kp_version: ::u_int,
|
||||
pub kp_paddr: ::kpaddr_t,
|
||||
pub kp_kmap_vaddr: ::kvaddr_t,
|
||||
pub kp_dmap_vaddr: ::kvaddr_t,
|
||||
pub kp_prot: ::vm_prot_t,
|
||||
pub kp_offset: ::off_t,
|
||||
pub kp_len: ::size_t,
|
||||
}
|
||||
|
||||
pub struct __c_anonymous_domainset {
|
||||
_priv: [::uintptr_t; 4],
|
||||
}
|
||||
|
||||
pub struct kinfo_proc {
|
||||
/// Size of this structure.
|
||||
pub ki_structsize: ::c_int,
|
||||
/// Reserved: layout identifier.
|
||||
pub ki_layout: ::c_int,
|
||||
/// Address of command arguments.
|
||||
pub ki_args: *mut ::pargs,
|
||||
// This is normally "struct proc".
|
||||
/// Address of proc.
|
||||
pub ki_paddr: *mut ::c_void,
|
||||
// This is normally "struct user".
|
||||
/// Kernel virtual address of u-area.
|
||||
pub ki_addr: *mut ::c_void,
|
||||
// This is normally "struct vnode".
|
||||
/// Pointer to trace file.
|
||||
pub ki_tracep: *mut ::c_void,
|
||||
// This is normally "struct vnode".
|
||||
/// Pointer to executable file.
|
||||
pub ki_textvp: *mut ::c_void,
|
||||
// This is normally "struct filedesc".
|
||||
/// Pointer to open file info.
|
||||
pub ki_fd: *mut ::c_void,
|
||||
// This is normally "struct vmspace".
|
||||
/// Pointer to kernel vmspace struct.
|
||||
pub ki_vmspace: *mut ::c_void,
|
||||
/// Sleep address.
|
||||
pub ki_wchan: *const ::c_void,
|
||||
/// Process identifier.
|
||||
pub ki_pid: ::pid_t,
|
||||
/// Parent process ID.
|
||||
pub ki_ppid: ::pid_t,
|
||||
/// Process group ID.
|
||||
pub ki_pgid: ::pid_t,
|
||||
/// tty process group ID.
|
||||
pub ki_tpgid: ::pid_t,
|
||||
/// Process session ID.
|
||||
pub ki_sid: ::pid_t,
|
||||
/// Terminal session ID.
|
||||
pub ki_tsid: ::pid_t,
|
||||
/// Job control counter.
|
||||
pub ki_jobc: ::c_short,
|
||||
/// Unused (just here for alignment).
|
||||
pub ki_spare_short1: ::c_short,
|
||||
/// Controlling tty dev.
|
||||
pub ki_tdev_freebsd11: u32,
|
||||
/// Signals arrived but not delivered.
|
||||
pub ki_siglist: ::sigset_t,
|
||||
/// Current signal mask.
|
||||
pub ki_sigmask: ::sigset_t,
|
||||
/// Signals being ignored.
|
||||
pub ki_sigignore: ::sigset_t,
|
||||
/// Signals being caught by user.
|
||||
pub ki_sigcatch: ::sigset_t,
|
||||
/// Effective user ID.
|
||||
pub ki_uid: ::uid_t,
|
||||
/// Real user ID.
|
||||
pub ki_ruid: ::uid_t,
|
||||
/// Saved effective user ID.
|
||||
pub ki_svuid: ::uid_t,
|
||||
/// Real group ID.
|
||||
pub ki_rgid: ::gid_t,
|
||||
/// Saved effective group ID.
|
||||
pub ki_svgid: ::gid_t,
|
||||
/// Number of groups.
|
||||
pub ki_ngroups: ::c_short,
|
||||
/// Unused (just here for alignment).
|
||||
pub ki_spare_short2: ::c_short,
|
||||
/// Groups.
|
||||
pub ki_groups: [::gid_t; ::KI_NGROUPS],
|
||||
/// Virtual size.
|
||||
pub ki_size: ::vm_size_t,
|
||||
/// Current resident set size in pages.
|
||||
pub ki_rssize: ::segsz_t,
|
||||
/// Resident set size before last swap.
|
||||
pub ki_swrss: ::segsz_t,
|
||||
/// Text size (pages) XXX.
|
||||
pub ki_tsize: ::segsz_t,
|
||||
/// Data size (pages) XXX.
|
||||
pub ki_dsize: ::segsz_t,
|
||||
/// Stack size (pages).
|
||||
pub ki_ssize: ::segsz_t,
|
||||
/// Exit status for wait & stop signal.
|
||||
pub ki_xstat: ::u_short,
|
||||
/// Accounting flags.
|
||||
pub ki_acflag: ::u_short,
|
||||
/// %cpu for process during `ki_swtime`.
|
||||
pub ki_pctcpu: ::fixpt_t,
|
||||
/// Time averaged value of `ki_cpticks`.
|
||||
pub ki_estcpu: ::u_int,
|
||||
/// Time since last blocked.
|
||||
pub ki_slptime: ::u_int,
|
||||
/// Time swapped in or out.
|
||||
pub ki_swtime: ::u_int,
|
||||
/// Number of copy-on-write faults.
|
||||
pub ki_cow: ::u_int,
|
||||
/// Real time in microsec.
|
||||
pub ki_runtime: u64,
|
||||
/// Starting time.
|
||||
pub ki_start: ::timeval,
|
||||
/// Time used by process children.
|
||||
pub ki_childtime: ::timeval,
|
||||
/// P_* flags.
|
||||
pub ki_flag: ::c_long,
|
||||
/// KI_* flags (below).
|
||||
pub ki_kiflag: ::c_long,
|
||||
/// Kernel trace points.
|
||||
pub ki_traceflag: ::c_int,
|
||||
/// S* process status.
|
||||
pub ki_stat: ::c_char,
|
||||
/// Process "nice" value.
|
||||
pub ki_nice: i8, // signed char
|
||||
/// Process lock (prevent swap) count.
|
||||
pub ki_lock: ::c_char,
|
||||
/// Run queue index.
|
||||
pub ki_rqindex: ::c_char,
|
||||
/// Which cpu we are on.
|
||||
pub ki_oncpu_old: ::c_uchar,
|
||||
/// Last cpu we were on.
|
||||
pub ki_lastcpu_old: ::c_uchar,
|
||||
/// Thread name.
|
||||
pub ki_tdname: [::c_char; ::TDNAMLEN + 1],
|
||||
/// Wchan message.
|
||||
pub ki_wmesg: [::c_char; ::WMESGLEN + 1],
|
||||
/// Setlogin name.
|
||||
pub ki_login: [::c_char; ::LOGNAMELEN + 1],
|
||||
/// Lock name.
|
||||
pub ki_lockname: [::c_char; ::LOCKNAMELEN + 1],
|
||||
/// Command name.
|
||||
pub ki_comm: [::c_char; ::COMMLEN + 1],
|
||||
/// Emulation name.
|
||||
pub ki_emul: [::c_char; ::KI_EMULNAMELEN + 1],
|
||||
/// Login class.
|
||||
pub ki_loginclass: [::c_char; ::LOGINCLASSLEN + 1],
|
||||
/// More thread name.
|
||||
pub ki_moretdname: [::c_char; ::MAXCOMLEN - ::TDNAMLEN + 1],
|
||||
/// Spare string space.
|
||||
pub ki_sparestrings: [[::c_char; 23]; 2], // little hack to allow PartialEq
|
||||
/// Spare room for growth.
|
||||
pub ki_spareints: [::c_int; ::KI_NSPARE_INT],
|
||||
/// Controlling tty dev.
|
||||
pub ki_tdev: u64,
|
||||
/// Which cpu we are on.
|
||||
pub ki_oncpu: ::c_int,
|
||||
/// Last cpu we were on.
|
||||
pub ki_lastcpu: ::c_int,
|
||||
/// PID of tracing process.
|
||||
pub ki_tracer: ::c_int,
|
||||
/// P2_* flags.
|
||||
pub ki_flag2: ::c_int,
|
||||
/// Default FIB number.
|
||||
pub ki_fibnum: ::c_int,
|
||||
/// Credential flags.
|
||||
pub ki_cr_flags: ::u_int,
|
||||
/// Process jail ID.
|
||||
pub ki_jid: ::c_int,
|
||||
/// Number of threads in total.
|
||||
pub ki_numthreads: ::c_int,
|
||||
/// Thread ID.
|
||||
pub ki_tid: ::lwpid_t,
|
||||
/// Process priority.
|
||||
pub ki_pri: ::priority,
|
||||
/// Process rusage statistics.
|
||||
pub ki_rusage: ::rusage,
|
||||
/// rusage of children processes.
|
||||
pub ki_rusage_ch: ::rusage,
|
||||
// This is normally "struct pcb".
|
||||
/// Kernel virtual addr of pcb.
|
||||
pub ki_pcb: *mut ::c_void,
|
||||
/// Kernel virtual addr of stack.
|
||||
pub ki_kstack: *mut ::c_void,
|
||||
/// User convenience pointer.
|
||||
pub ki_udata: *mut ::c_void,
|
||||
// This is normally "struct thread".
|
||||
pub ki_tdaddr: *mut ::c_void,
|
||||
// This is normally "struct pwddesc".
|
||||
/// Pointer to process paths info.
|
||||
pub ki_pd: *mut ::c_void,
|
||||
pub ki_spareptrs: [*mut ::c_void; ::KI_NSPARE_PTR],
|
||||
pub ki_sparelongs: [::c_long; ::KI_NSPARE_LONG],
|
||||
/// PS_* flags.
|
||||
pub ki_sflag: ::c_long,
|
||||
/// kthread flag.
|
||||
pub ki_tdflags: ::c_long,
|
||||
}
|
||||
}
|
||||
|
||||
s_no_extra_traits! {
|
||||
pub struct dirent {
|
||||
pub d_fileno: ::ino_t,
|
||||
pub d_off: ::off_t,
|
||||
pub d_reclen: u16,
|
||||
pub d_type: u8,
|
||||
d_pad0: u8,
|
||||
pub d_namlen: u16,
|
||||
d_pad1: u16,
|
||||
pub d_name: [::c_char; 256],
|
||||
}
|
||||
|
||||
pub struct statfs {
|
||||
pub f_version: u32,
|
||||
pub f_type: u32,
|
||||
pub f_flags: u64,
|
||||
pub f_bsize: u64,
|
||||
pub f_iosize: u64,
|
||||
pub f_blocks: u64,
|
||||
pub f_bfree: u64,
|
||||
pub f_bavail: i64,
|
||||
pub f_files: u64,
|
||||
pub f_ffree: i64,
|
||||
pub f_syncwrites: u64,
|
||||
pub f_asyncwrites: u64,
|
||||
pub f_syncreads: u64,
|
||||
pub f_asyncreads: u64,
|
||||
f_spare: [u64; 10],
|
||||
pub f_namemax: u32,
|
||||
pub f_owner: ::uid_t,
|
||||
pub f_fsid: ::fsid_t,
|
||||
f_charspare: [::c_char; 80],
|
||||
pub f_fstypename: [::c_char; 16],
|
||||
pub f_mntfromname: [::c_char; 1024],
|
||||
pub f_mntonname: [::c_char; 1024],
|
||||
}
|
||||
|
||||
pub struct vnstat {
|
||||
pub vn_fileid: u64,
|
||||
pub vn_size: u64,
|
||||
pub vn_dev: u64,
|
||||
pub vn_fsid: u64,
|
||||
pub vn_mntdir: *mut ::c_char,
|
||||
pub vn_type: ::c_int,
|
||||
pub vn_mode: u16,
|
||||
pub vn_devname: [::c_char; ::SPECNAMELEN as usize + 1],
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "extra_traits")] {
|
||||
impl PartialEq for statfs {
|
||||
fn eq(&self, other: &statfs) -> bool {
|
||||
self.f_version == other.f_version
|
||||
&& self.f_type == other.f_type
|
||||
&& self.f_flags == other.f_flags
|
||||
&& self.f_bsize == other.f_bsize
|
||||
&& self.f_iosize == other.f_iosize
|
||||
&& self.f_blocks == other.f_blocks
|
||||
&& self.f_bfree == other.f_bfree
|
||||
&& self.f_bavail == other.f_bavail
|
||||
&& self.f_files == other.f_files
|
||||
&& self.f_ffree == other.f_ffree
|
||||
&& self.f_syncwrites == other.f_syncwrites
|
||||
&& self.f_asyncwrites == other.f_asyncwrites
|
||||
&& self.f_syncreads == other.f_syncreads
|
||||
&& self.f_asyncreads == other.f_asyncreads
|
||||
&& self.f_namemax == other.f_namemax
|
||||
&& self.f_owner == other.f_owner
|
||||
&& self.f_fsid == other.f_fsid
|
||||
&& self.f_fstypename == other.f_fstypename
|
||||
&& self
|
||||
.f_mntfromname
|
||||
.iter()
|
||||
.zip(other.f_mntfromname.iter())
|
||||
.all(|(a,b)| a == b)
|
||||
&& self
|
||||
.f_mntonname
|
||||
.iter()
|
||||
.zip(other.f_mntonname.iter())
|
||||
.all(|(a,b)| a == b)
|
||||
}
|
||||
}
|
||||
impl Eq for statfs {}
|
||||
impl ::fmt::Debug for statfs {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("statfs")
|
||||
.field("f_bsize", &self.f_bsize)
|
||||
.field("f_iosize", &self.f_iosize)
|
||||
.field("f_blocks", &self.f_blocks)
|
||||
.field("f_bfree", &self.f_bfree)
|
||||
.field("f_bavail", &self.f_bavail)
|
||||
.field("f_files", &self.f_files)
|
||||
.field("f_ffree", &self.f_ffree)
|
||||
.field("f_syncwrites", &self.f_syncwrites)
|
||||
.field("f_asyncwrites", &self.f_asyncwrites)
|
||||
.field("f_syncreads", &self.f_syncreads)
|
||||
.field("f_asyncreads", &self.f_asyncreads)
|
||||
.field("f_namemax", &self.f_namemax)
|
||||
.field("f_owner", &self.f_owner)
|
||||
.field("f_fsid", &self.f_fsid)
|
||||
.field("f_fstypename", &self.f_fstypename)
|
||||
.field("f_mntfromname", &&self.f_mntfromname[..])
|
||||
.field("f_mntonname", &&self.f_mntonname[..])
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for statfs {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.f_version.hash(state);
|
||||
self.f_type.hash(state);
|
||||
self.f_flags.hash(state);
|
||||
self.f_bsize.hash(state);
|
||||
self.f_iosize.hash(state);
|
||||
self.f_blocks.hash(state);
|
||||
self.f_bfree.hash(state);
|
||||
self.f_bavail.hash(state);
|
||||
self.f_files.hash(state);
|
||||
self.f_ffree.hash(state);
|
||||
self.f_syncwrites.hash(state);
|
||||
self.f_asyncwrites.hash(state);
|
||||
self.f_syncreads.hash(state);
|
||||
self.f_asyncreads.hash(state);
|
||||
self.f_namemax.hash(state);
|
||||
self.f_owner.hash(state);
|
||||
self.f_fsid.hash(state);
|
||||
self.f_charspare.hash(state);
|
||||
self.f_fstypename.hash(state);
|
||||
self.f_mntfromname.hash(state);
|
||||
self.f_mntonname.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for dirent {
|
||||
fn eq(&self, other: &dirent) -> bool {
|
||||
self.d_fileno == other.d_fileno
|
||||
&& self.d_off == other.d_off
|
||||
&& self.d_reclen == other.d_reclen
|
||||
&& self.d_type == other.d_type
|
||||
&& self.d_namlen == other.d_namlen
|
||||
&& self
|
||||
.d_name[..self.d_namlen as _]
|
||||
.iter()
|
||||
.zip(other.d_name.iter())
|
||||
.all(|(a,b)| a == b)
|
||||
}
|
||||
}
|
||||
impl Eq for dirent {}
|
||||
impl ::fmt::Debug for dirent {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("dirent")
|
||||
.field("d_fileno", &self.d_fileno)
|
||||
.field("d_off", &self.d_off)
|
||||
.field("d_reclen", &self.d_reclen)
|
||||
.field("d_type", &self.d_type)
|
||||
.field("d_namlen", &self.d_namlen)
|
||||
.field("d_name", &&self.d_name[..self.d_namlen as _])
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for dirent {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.d_fileno.hash(state);
|
||||
self.d_off.hash(state);
|
||||
self.d_reclen.hash(state);
|
||||
self.d_type.hash(state);
|
||||
self.d_namlen.hash(state);
|
||||
self.d_name[..self.d_namlen as _].hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for vnstat {
|
||||
fn eq(&self, other: &vnstat) -> bool {
|
||||
let self_vn_devname: &[::c_char] = &self.vn_devname;
|
||||
let other_vn_devname: &[::c_char] = &other.vn_devname;
|
||||
|
||||
self.vn_fileid == other.vn_fileid &&
|
||||
self.vn_size == other.vn_size &&
|
||||
self.vn_dev == other.vn_dev &&
|
||||
self.vn_fsid == other.vn_fsid &&
|
||||
self.vn_mntdir == other.vn_mntdir &&
|
||||
self.vn_type == other.vn_type &&
|
||||
self.vn_mode == other.vn_mode &&
|
||||
self_vn_devname == other_vn_devname
|
||||
}
|
||||
}
|
||||
impl Eq for vnstat {}
|
||||
impl ::fmt::Debug for vnstat {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
let self_vn_devname: &[::c_char] = &self.vn_devname;
|
||||
|
||||
f.debug_struct("vnstat")
|
||||
.field("vn_fileid", &self.vn_fileid)
|
||||
.field("vn_size", &self.vn_size)
|
||||
.field("vn_dev", &self.vn_dev)
|
||||
.field("vn_fsid", &self.vn_fsid)
|
||||
.field("vn_mntdir", &self.vn_mntdir)
|
||||
.field("vn_type", &self.vn_type)
|
||||
.field("vn_mode", &self.vn_mode)
|
||||
.field("vn_devname", &self_vn_devname)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for vnstat {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
let self_vn_devname: &[::c_char] = &self.vn_devname;
|
||||
|
||||
self.vn_fileid.hash(state);
|
||||
self.vn_size.hash(state);
|
||||
self.vn_dev.hash(state);
|
||||
self.vn_fsid.hash(state);
|
||||
self.vn_mntdir.hash(state);
|
||||
self.vn_type.hash(state);
|
||||
self.vn_mode.hash(state);
|
||||
self_vn_devname.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub const RAND_MAX: ::c_int = 0x7fff_ffff;
|
||||
pub const ELAST: ::c_int = 97;
|
||||
|
||||
pub const KF_TYPE_EVENTFD: ::c_int = 13;
|
||||
|
||||
/// max length of devicename
|
||||
pub const SPECNAMELEN: ::c_int = 255;
|
||||
pub const KI_NSPARE_PTR: usize = 5;
|
||||
|
||||
/// domainset policies
|
||||
pub const DOMAINSET_POLICY_INVALID: ::c_int = 0;
|
||||
pub const DOMAINSET_POLICY_ROUNDROBIN: ::c_int = 1;
|
||||
pub const DOMAINSET_POLICY_FIRSTTOUCH: ::c_int = 2;
|
||||
pub const DOMAINSET_POLICY_PREFER: ::c_int = 3;
|
||||
pub const DOMAINSET_POLICY_INTERLEAVE: ::c_int = 4;
|
||||
|
||||
pub const MINCORE_SUPER: ::c_int = 0x60;
|
||||
|
||||
safe_f! {
|
||||
pub {const} fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t {
|
||||
let major = major as ::dev_t;
|
||||
let minor = minor as ::dev_t;
|
||||
let mut dev = 0;
|
||||
dev |= ((major & 0xffffff00) as dev_t) << 32;
|
||||
dev |= ((major & 0x000000ff) as dev_t) << 8;
|
||||
dev |= ((minor & 0x0000ff00) as dev_t) << 24;
|
||||
dev |= ((minor & 0xffff00ff) as dev_t) << 0;
|
||||
dev
|
||||
}
|
||||
}
|
||||
|
||||
f! {
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 32) & 0xffffff00) | ((dev >> 8) & 0xff)) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
(((dev >> 24) & 0xff00) | (dev & 0xffff00ff)) as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
pub fn setgrent();
|
||||
pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
|
||||
pub fn freelocale(loc: ::locale_t);
|
||||
pub fn msgrcv(
|
||||
msqid: ::c_int,
|
||||
msgp: *mut ::c_void,
|
||||
msgsz: ::size_t,
|
||||
msgtyp: ::c_long,
|
||||
msgflg: ::c_int,
|
||||
) -> ::ssize_t;
|
||||
|
||||
pub fn cpuset_getdomain(
|
||||
level: ::cpulevel_t,
|
||||
which: ::cpuwhich_t,
|
||||
id: ::id_t,
|
||||
setsize: ::size_t,
|
||||
mask: *mut ::domainset_t,
|
||||
policy: *mut ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn cpuset_setdomain(
|
||||
level: ::cpulevel_t,
|
||||
which: ::cpuwhich_t,
|
||||
id: ::id_t,
|
||||
setsize: ::size_t,
|
||||
mask: *const ::domainset_t,
|
||||
policy: ::c_int,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
|
||||
}
|
||||
|
||||
#[link(name = "kvm")]
|
||||
extern "C" {
|
||||
pub fn kvm_kerndisp(kd: *mut ::kvm_t) -> ::kssize_t;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_arch = "x86_64",
|
||||
target_arch = "aarch64",
|
||||
target_arch = "riscv64"))] {
|
||||
mod b64;
|
||||
pub use self::b64::*;
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(target_arch = "x86_64")] {
|
||||
mod x86_64;
|
||||
pub use self::x86_64::*;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
pub const PROC_KPTI_CTL: ::c_int = ::PROC_PROCCTL_MD_MIN;
|
||||
pub const PROC_KPTI_CTL_ENABLE_ON_EXEC: ::c_int = 1;
|
||||
pub const PROC_KPTI_CTL_DISABLE_ON_EXEC: ::c_int = 2;
|
||||
pub const PROC_KPTI_STATUS: ::c_int = ::PROC_PROCCTL_MD_MIN + 1;
|
||||
pub const PROC_KPTI_STATUS_ACTIVE: ::c_int = 0x80000000;
|
||||
pub const PROC_LA_CTL: ::c_int = ::PROC_PROCCTL_MD_MIN + 2;
|
||||
pub const PROC_LA_STATUS: ::c_int = ::PROC_PROCCTL_MD_MIN + 3;
|
||||
pub const PROC_LA_CTL_LA48_ON_EXEC: ::c_int = 1;
|
||||
pub const PROC_LA_CTL_LA57_ON_EXEC: ::c_int = 2;
|
||||
pub const PROC_LA_CTL_DEFAULT_ON_EXEC: ::c_int = 3;
|
||||
pub const PROC_LA_STATUS_LA48: ::c_int = 0x01000000;
|
||||
pub const PROC_LA_STATUS_LA57: ::c_int = 0x02000000;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,41 @@ pub type time_t = i32;
|
||||
pub type suseconds_t = i32;
|
||||
pub type register_t = i32;
|
||||
|
||||
s_no_extra_traits! {
|
||||
pub struct mcontext_t {
|
||||
pub mc_onstack: register_t,
|
||||
pub mc_gs: register_t,
|
||||
pub mc_fs: register_t,
|
||||
pub mc_es: register_t,
|
||||
pub mc_ds: register_t,
|
||||
pub mc_edi: register_t,
|
||||
pub mc_esi: register_t,
|
||||
pub mc_ebp: register_t,
|
||||
pub mc_isp: register_t,
|
||||
pub mc_ebx: register_t,
|
||||
pub mc_edx: register_t,
|
||||
pub mc_ecx: register_t,
|
||||
pub mc_eax: register_t,
|
||||
pub mc_trapno: register_t,
|
||||
pub mc_err: register_t,
|
||||
pub mc_eip: register_t,
|
||||
pub mc_cs: register_t,
|
||||
pub mc_eflags: register_t,
|
||||
pub mc_esp: register_t,
|
||||
pub mc_ss: register_t,
|
||||
pub mc_len: ::c_int,
|
||||
pub mc_fpformat: ::c_int,
|
||||
pub mc_ownedfp: ::c_int,
|
||||
pub mc_flags: register_t,
|
||||
pub mc_fpstate: [[::c_int; 32]; 4],
|
||||
pub mc_fsbase: register_t,
|
||||
pub mc_gsbase: register_t,
|
||||
pub mc_xfpustate: register_t,
|
||||
pub mc_xfpustate_len: register_t,
|
||||
pub mc_spare2: [::c_int; 4],
|
||||
}
|
||||
}
|
||||
|
||||
s! {
|
||||
pub struct stat {
|
||||
pub st_dev: ::dev_t,
|
||||
@@ -31,6 +66,15 @@ s! {
|
||||
pub st_birthtime_nsec: ::c_long,
|
||||
__unused: [u8; 8],
|
||||
}
|
||||
|
||||
pub struct ucontext_t {
|
||||
pub uc_sigmask: ::sigset_t,
|
||||
pub uc_mcontext: ::mcontext_t,
|
||||
pub uc_link: *mut ::ucontext_t,
|
||||
pub uc_stack: ::stack_t,
|
||||
pub uc_flags: ::c_int,
|
||||
__spare__: [::c_int; 4],
|
||||
}
|
||||
}
|
||||
|
||||
// should be pub(crate), but that requires Rust 1.18.0
|
||||
@@ -43,4 +87,115 @@ cfg_if! {
|
||||
pub const _ALIGNBYTES: usize = 4 - 1;
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(feature = "extra_traits")] {
|
||||
impl PartialEq for mcontext_t {
|
||||
fn eq(&self, other: &mcontext_t) -> bool {
|
||||
self.mc_onstack == other.mc_onstack &&
|
||||
self.mc_gs == other.mc_gs &&
|
||||
self.mc_fs == other.mc_fs &&
|
||||
self.mc_es == other.mc_es &&
|
||||
self.mc_ds == other.mc_ds &&
|
||||
self.mc_edi == other.mc_edi &&
|
||||
self.mc_esi == other.mc_esi &&
|
||||
self.mc_ebp == other.mc_ebp &&
|
||||
self.mc_isp == other.mc_isp &&
|
||||
self.mc_ebx == other.mc_ebx &&
|
||||
self.mc_edx == other.mc_edx &&
|
||||
self.mc_ecx == other.mc_ecx &&
|
||||
self.mc_eax == other.mc_eax &&
|
||||
self.mc_trapno == other.mc_trapno &&
|
||||
self.mc_err == other.mc_err &&
|
||||
self.mc_eip == other.mc_eip &&
|
||||
self.mc_cs == other.mc_cs &&
|
||||
self.mc_eflags == other.mc_eflags &&
|
||||
self.mc_esp == other.mc_esp &&
|
||||
self.mc_ss == other.mc_ss &&
|
||||
self.mc_len == other.mc_len &&
|
||||
self.mc_fpformat == other.mc_fpformat &&
|
||||
self.mc_ownedfp == other.mc_ownedfp &&
|
||||
self.mc_flags == other.mc_flags &&
|
||||
self.mc_fpstate.iter().zip(other.mc_fpstate.iter()).all(|(a, b)| a == b) &&
|
||||
self.mc_fsbase == other.mc_fsbase &&
|
||||
self.mc_gsbase == other.mc_gsbase &&
|
||||
self.mc_xfpustate == other.mc_xfpustate &&
|
||||
self.mc_xfpustate_len == other.mc_xfpustate_len &&
|
||||
self.mc_spare2.iter().zip(other.mc_spare2.iter()).all(|(a, b)| a == b)
|
||||
}
|
||||
}
|
||||
impl Eq for mcontext_t {}
|
||||
impl ::fmt::Debug for mcontext_t {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("mcontext_t")
|
||||
.field("mc_onstack", &self.mc_onstack)
|
||||
.field("mc_gs", &self.mc_gs)
|
||||
.field("mc_fs", &self.mc_fs)
|
||||
.field("mc_es", &self.mc_es)
|
||||
.field("mc_ds", &self.mc_ds)
|
||||
.field("mc_edi", &self.mc_edi)
|
||||
.field("mc_esi", &self.mc_esi)
|
||||
.field("mc_ebp", &self.mc_ebp)
|
||||
.field("mc_isp", &self.mc_isp)
|
||||
.field("mc_ebx", &self.mc_ebx)
|
||||
.field("mc_edx", &self.mc_edx)
|
||||
.field("mc_ecx", &self.mc_ecx)
|
||||
.field("mc_eax", &self.mc_eax)
|
||||
.field("mc_trapno", &self.mc_trapno)
|
||||
.field("mc_err", &self.mc_err)
|
||||
.field("mc_eip", &self.mc_eip)
|
||||
.field("mc_cs", &self.mc_cs)
|
||||
.field("mc_eflags", &self.mc_eflags)
|
||||
.field("mc_esp", &self.mc_esp)
|
||||
.field("mc_ss", &self.mc_ss)
|
||||
.field("mc_len", &self.mc_len)
|
||||
.field("mc_fpformat", &self.mc_fpformat)
|
||||
.field("mc_ownedfp", &self.mc_ownedfp)
|
||||
.field("mc_flags", &self.mc_flags)
|
||||
.field("mc_fpstate", &self.mc_fpstate)
|
||||
.field("mc_fsbase", &self.mc_fsbase)
|
||||
.field("mc_gsbase", &self.mc_gsbase)
|
||||
.field("mc_xfpustate", &self.mc_xfpustate)
|
||||
.field("mc_xfpustate_len", &self.mc_xfpustate_len)
|
||||
.field("mc_spare2", &self.mc_spare2)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
impl ::hash::Hash for mcontext_t {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
self.mc_onstack.hash(state);
|
||||
self.mc_gs.hash(state);
|
||||
self.mc_fs.hash(state);
|
||||
self.mc_es.hash(state);
|
||||
self.mc_ds.hash(state);
|
||||
self.mc_edi.hash(state);
|
||||
self.mc_esi.hash(state);
|
||||
self.mc_ebp.hash(state);
|
||||
self.mc_isp.hash(state);
|
||||
self.mc_ebx.hash(state);
|
||||
self.mc_edx.hash(state);
|
||||
self.mc_ecx.hash(state);
|
||||
self.mc_eax.hash(state);
|
||||
self.mc_trapno.hash(state);
|
||||
self.mc_err.hash(state);
|
||||
self.mc_eip.hash(state);
|
||||
self.mc_cs.hash(state);
|
||||
self.mc_eflags.hash(state);
|
||||
self.mc_esp.hash(state);
|
||||
self.mc_ss.hash(state);
|
||||
self.mc_len.hash(state);
|
||||
self.mc_fpformat.hash(state);
|
||||
self.mc_ownedfp.hash(state);
|
||||
self.mc_flags.hash(state);
|
||||
self.mc_fpstate.hash(state);
|
||||
self.mc_fsbase.hash(state);
|
||||
self.mc_gsbase.hash(state);
|
||||
self.mc_xfpustate.hash(state);
|
||||
self.mc_xfpustate_len.hash(state);
|
||||
self.mc_spare2.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4
|
||||
|
||||
@@ -1336,7 +1336,7 @@ pub const CMGROUP_MAX: usize = 16;
|
||||
|
||||
pub const EUI64_LEN: usize = 8;
|
||||
|
||||
// https://github.com/freebsd/freebsd/blob/master/sys/net/bpf.h
|
||||
// https://github.com/freebsd/freebsd/blob/HEAD/sys/net/bpf.h
|
||||
pub const BPF_ALIGNMENT: usize = SIZEOF_LONG;
|
||||
|
||||
// Values for rtprio struct (prio field) and syscall (function argument)
|
||||
@@ -1431,6 +1431,31 @@ pub const SHM_RND: ::c_int = 0o20000;
|
||||
pub const SHM_R: ::c_int = 0o400;
|
||||
pub const SHM_W: ::c_int = 0o200;
|
||||
|
||||
pub const KENV_GET: ::c_int = 0;
|
||||
pub const KENV_SET: ::c_int = 1;
|
||||
pub const KENV_UNSET: ::c_int = 2;
|
||||
pub const KENV_DUMP: ::c_int = 3;
|
||||
pub const KENV_MNAMELEN: ::c_int = 128;
|
||||
pub const KENV_MVALLEN: ::c_int = 128;
|
||||
|
||||
pub const RB_ASKNAME: ::c_int = 0x001;
|
||||
pub const RB_SINGLE: ::c_int = 0x002;
|
||||
pub const RB_NOSYNC: ::c_int = 0x004;
|
||||
pub const RB_HALT: ::c_int = 0x008;
|
||||
pub const RB_INITNAME: ::c_int = 0x010;
|
||||
pub const RB_DFLTROOT: ::c_int = 0x020;
|
||||
pub const RB_KDB: ::c_int = 0x040;
|
||||
pub const RB_RDONLY: ::c_int = 0x080;
|
||||
pub const RB_DUMP: ::c_int = 0x100;
|
||||
pub const RB_MINIROOT: ::c_int = 0x200;
|
||||
pub const RB_VERBOSE: ::c_int = 0x800;
|
||||
pub const RB_SERIAL: ::c_int = 0x1000;
|
||||
pub const RB_CDROM: ::c_int = 0x2000;
|
||||
pub const RB_POWEROFF: ::c_int = 0x4000;
|
||||
pub const RB_GDB: ::c_int = 0x8000;
|
||||
pub const RB_MUTE: ::c_int = 0x10000;
|
||||
pub const RB_SELFTEST: ::c_int = 0x20000;
|
||||
|
||||
safe_f! {
|
||||
pub {const} fn WIFCONTINUED(status: ::c_int) -> bool {
|
||||
status == 0x13
|
||||
@@ -1465,6 +1490,13 @@ extern "C" {
|
||||
atflag: ::c_int,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn clock_nanosleep(
|
||||
clk_id: ::clockid_t,
|
||||
flags: ::c_int,
|
||||
rqtp: *const ::timespec,
|
||||
rmtp: *mut ::timespec,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
|
||||
pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
|
||||
pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
|
||||
@@ -1543,6 +1575,7 @@ extern "C" {
|
||||
mode: ::mode_t,
|
||||
dev: dev_t,
|
||||
) -> ::c_int;
|
||||
pub fn malloc_usable_size(ptr: *const ::c_void) -> ::size_t;
|
||||
pub fn mincore(addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char) -> ::c_int;
|
||||
pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
|
||||
pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
|
||||
@@ -1561,6 +1594,7 @@ extern "C" {
|
||||
attr: *const ::pthread_attr_t,
|
||||
guardsize: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int;
|
||||
pub fn pthread_attr_getstack(
|
||||
attr: *const ::pthread_attr_t,
|
||||
stackaddr: *mut *mut ::c_void,
|
||||
@@ -1616,6 +1650,12 @@ extern "C" {
|
||||
pub fn pthread_barrier_wait(barrier: *mut pthread_barrier_t) -> ::c_int;
|
||||
pub fn pthread_get_name_np(tid: ::pthread_t, name: *mut ::c_char, len: ::size_t);
|
||||
pub fn pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char);
|
||||
pub fn pthread_getname_np(
|
||||
thread: ::pthread_t,
|
||||
buffer: *mut ::c_char,
|
||||
length: ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int;
|
||||
pub fn pthread_setschedparam(
|
||||
native: ::pthread_t,
|
||||
policy: ::c_int,
|
||||
@@ -1734,6 +1774,25 @@ extern "C" {
|
||||
pub fn eui64_hostton(hostname: *const ::c_char, id: *mut eui64) -> ::c_int;
|
||||
|
||||
pub fn eaccess(path: *const ::c_char, mode: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn kenv(
|
||||
action: ::c_int,
|
||||
name: *const ::c_char,
|
||||
value: *mut ::c_char,
|
||||
len: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn reboot(howto: ::c_int) -> ::c_int;
|
||||
|
||||
pub fn exect(
|
||||
path: *const ::c_char,
|
||||
argv: *const *mut ::c_char,
|
||||
envp: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn execvP(
|
||||
file: *const ::c_char,
|
||||
search_path: *const ::c_char,
|
||||
argv: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
#[link(name = "rt")]
|
||||
|
||||
@@ -628,6 +628,7 @@ extern "C" {
|
||||
pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int;
|
||||
pub fn freeifaddrs(ifa: *mut ::ifaddrs);
|
||||
pub fn setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int;
|
||||
pub fn setlogin(name: *const ::c_char) -> ::c_int;
|
||||
pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
|
||||
pub fn kqueue() -> ::c_int;
|
||||
pub fn unmount(target: *const ::c_char, arg: ::c_int) -> ::c_int;
|
||||
@@ -760,6 +761,7 @@ extern "C" {
|
||||
)]
|
||||
#[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")]
|
||||
pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
|
||||
pub fn sigsuspend(mask: *const ::sigset_t) -> ::c_int;
|
||||
pub fn sem_close(sem: *mut sem_t) -> ::c_int;
|
||||
pub fn getdtablesize() -> ::c_int;
|
||||
pub fn getgrnam_r(
|
||||
@@ -898,6 +900,20 @@ extern "C" {
|
||||
longopts: *const option,
|
||||
longindex: *mut ::c_int,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn strftime(
|
||||
buf: *mut ::c_char,
|
||||
maxsize: ::size_t,
|
||||
format: *const ::c_char,
|
||||
timeptr: *const ::tm,
|
||||
) -> ::size_t;
|
||||
pub fn strftime_l(
|
||||
buf: *mut ::c_char,
|
||||
maxsize: ::size_t,
|
||||
format: *const ::c_char,
|
||||
timeptr: *const ::tm,
|
||||
locale: ::locale_t,
|
||||
) -> ::size_t;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
||||
@@ -364,6 +364,13 @@ pub const POSIX_MADV_SEQUENTIAL: ::c_int = 2;
|
||||
pub const POSIX_MADV_WILLNEED: ::c_int = 3;
|
||||
pub const POSIX_MADV_DONTNEED: ::c_int = 4;
|
||||
|
||||
pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01;
|
||||
pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02;
|
||||
pub const POSIX_SPAWN_SETSCHEDPARAM: ::c_int = 0x04;
|
||||
pub const POSIX_SPAWN_SETSCHEDULER: ::c_int = 0x08;
|
||||
pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x10;
|
||||
pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x20;
|
||||
|
||||
pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0;
|
||||
pub const PTHREAD_CREATE_DETACHED: ::c_int = 1;
|
||||
|
||||
@@ -646,6 +653,12 @@ pub const TIOCM_RI: ::c_int = TIOCM_RNG;
|
||||
|
||||
pub const TIMER_ABSTIME: ::c_int = 1;
|
||||
|
||||
// sys/reboot.h
|
||||
|
||||
pub const RB_AUTOBOOT: ::c_int = 0;
|
||||
|
||||
pub const TCP_INFO: ::c_int = 9;
|
||||
|
||||
#[link(name = "util")]
|
||||
extern "C" {
|
||||
pub fn setgrent();
|
||||
@@ -736,6 +749,94 @@ extern "C" {
|
||||
pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void;
|
||||
pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int;
|
||||
pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int;
|
||||
pub fn execvpe(
|
||||
file: *const ::c_char,
|
||||
argv: *const *const ::c_char,
|
||||
envp: *const *const ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn waitid(
|
||||
idtype: idtype_t,
|
||||
id: ::id_t,
|
||||
infop: *mut ::siginfo_t,
|
||||
options: ::c_int,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn posix_spawn(
|
||||
pid: *mut ::pid_t,
|
||||
path: *const ::c_char,
|
||||
file_actions: *const ::posix_spawn_file_actions_t,
|
||||
attrp: *const ::posix_spawnattr_t,
|
||||
argv: *const *mut ::c_char,
|
||||
envp: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnp(
|
||||
pid: *mut ::pid_t,
|
||||
file: *const ::c_char,
|
||||
file_actions: *const ::posix_spawn_file_actions_t,
|
||||
attrp: *const ::posix_spawnattr_t,
|
||||
argv: *const *mut ::c_char,
|
||||
envp: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_init(attr: *mut posix_spawnattr_t) -> ::c_int;
|
||||
pub fn posix_spawnattr_destroy(attr: *mut posix_spawnattr_t) -> ::c_int;
|
||||
pub fn posix_spawnattr_getsigdefault(
|
||||
attr: *const posix_spawnattr_t,
|
||||
default: *mut ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setsigdefault(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
default: *const ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_getsigmask(
|
||||
attr: *const posix_spawnattr_t,
|
||||
default: *mut ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setsigmask(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
default: *const ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_getflags(
|
||||
attr: *const posix_spawnattr_t,
|
||||
flags: *mut ::c_short,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setflags(attr: *mut posix_spawnattr_t, flags: ::c_short) -> ::c_int;
|
||||
pub fn posix_spawnattr_getpgroup(
|
||||
attr: *const posix_spawnattr_t,
|
||||
flags: *mut ::pid_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setpgroup(attr: *mut posix_spawnattr_t, flags: ::pid_t) -> ::c_int;
|
||||
pub fn posix_spawnattr_getschedpolicy(
|
||||
attr: *const posix_spawnattr_t,
|
||||
flags: *mut ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setschedpolicy(attr: *mut posix_spawnattr_t, flags: ::c_int) -> ::c_int;
|
||||
pub fn posix_spawnattr_getschedparam(
|
||||
attr: *const posix_spawnattr_t,
|
||||
param: *mut ::sched_param,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setschedparam(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
param: *const ::sched_param,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn posix_spawn_file_actions_init(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_destroy(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_addopen(
|
||||
actions: *mut posix_spawn_file_actions_t,
|
||||
fd: ::c_int,
|
||||
path: *const ::c_char,
|
||||
oflag: ::c_int,
|
||||
mode: ::mode_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_addclose(
|
||||
actions: *mut posix_spawn_file_actions_t,
|
||||
fd: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_adddup2(
|
||||
actions: *mut posix_spawn_file_actions_t,
|
||||
fd: ::c_int,
|
||||
newfd: ::c_int,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
@@ -746,6 +847,7 @@ extern "C" {
|
||||
|
||||
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
||||
@@ -101,3 +101,62 @@ pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
|
||||
pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
|
||||
pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
|
||||
pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
|
||||
|
||||
pub const _REG_R0: ::c_int = 0;
|
||||
pub const _REG_R1: ::c_int = 1;
|
||||
pub const _REG_R2: ::c_int = 2;
|
||||
pub const _REG_R3: ::c_int = 3;
|
||||
pub const _REG_R4: ::c_int = 4;
|
||||
pub const _REG_R5: ::c_int = 5;
|
||||
pub const _REG_R6: ::c_int = 6;
|
||||
pub const _REG_R7: ::c_int = 7;
|
||||
pub const _REG_R8: ::c_int = 8;
|
||||
pub const _REG_R9: ::c_int = 9;
|
||||
pub const _REG_R10: ::c_int = 10;
|
||||
pub const _REG_R11: ::c_int = 11;
|
||||
pub const _REG_R12: ::c_int = 12;
|
||||
pub const _REG_R13: ::c_int = 13;
|
||||
pub const _REG_R14: ::c_int = 14;
|
||||
pub const _REG_R15: ::c_int = 15;
|
||||
pub const _REG_CPSR: ::c_int = 16;
|
||||
pub const _REG_X0: ::c_int = 0;
|
||||
pub const _REG_X1: ::c_int = 1;
|
||||
pub const _REG_X2: ::c_int = 2;
|
||||
pub const _REG_X3: ::c_int = 3;
|
||||
pub const _REG_X4: ::c_int = 4;
|
||||
pub const _REG_X5: ::c_int = 5;
|
||||
pub const _REG_X6: ::c_int = 6;
|
||||
pub const _REG_X7: ::c_int = 7;
|
||||
pub const _REG_X8: ::c_int = 8;
|
||||
pub const _REG_X9: ::c_int = 9;
|
||||
pub const _REG_X10: ::c_int = 10;
|
||||
pub const _REG_X11: ::c_int = 11;
|
||||
pub const _REG_X12: ::c_int = 12;
|
||||
pub const _REG_X13: ::c_int = 13;
|
||||
pub const _REG_X14: ::c_int = 14;
|
||||
pub const _REG_X15: ::c_int = 15;
|
||||
pub const _REG_X16: ::c_int = 16;
|
||||
pub const _REG_X17: ::c_int = 17;
|
||||
pub const _REG_X18: ::c_int = 18;
|
||||
pub const _REG_X19: ::c_int = 19;
|
||||
pub const _REG_X20: ::c_int = 20;
|
||||
pub const _REG_X21: ::c_int = 21;
|
||||
pub const _REG_X22: ::c_int = 22;
|
||||
pub const _REG_X23: ::c_int = 23;
|
||||
pub const _REG_X24: ::c_int = 24;
|
||||
pub const _REG_X25: ::c_int = 25;
|
||||
pub const _REG_X26: ::c_int = 26;
|
||||
pub const _REG_X27: ::c_int = 27;
|
||||
pub const _REG_X28: ::c_int = 28;
|
||||
pub const _REG_X29: ::c_int = 29;
|
||||
pub const _REG_X30: ::c_int = 30;
|
||||
pub const _REG_X31: ::c_int = 31;
|
||||
pub const _REG_ELR: ::c_int = 32;
|
||||
pub const _REG_SPSR: ::c_int = 33;
|
||||
pub const _REG_TIPDR: ::c_int = 34;
|
||||
|
||||
pub const _REG_RV: ::c_int = _REG_X0;
|
||||
pub const _REG_FP: ::c_int = _REG_X29;
|
||||
pub const _REG_LR: ::c_int = _REG_X30;
|
||||
pub const _REG_SP: ::c_int = _REG_X31;
|
||||
pub const _REG_PC: ::c_int = _REG_ELR;
|
||||
|
||||
@@ -20,3 +20,62 @@ pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
|
||||
pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
|
||||
pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
|
||||
pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
|
||||
|
||||
pub const _REG_R0: ::c_int = 0;
|
||||
pub const _REG_R1: ::c_int = 1;
|
||||
pub const _REG_R2: ::c_int = 2;
|
||||
pub const _REG_R3: ::c_int = 3;
|
||||
pub const _REG_R4: ::c_int = 4;
|
||||
pub const _REG_R5: ::c_int = 5;
|
||||
pub const _REG_R6: ::c_int = 6;
|
||||
pub const _REG_R7: ::c_int = 7;
|
||||
pub const _REG_R8: ::c_int = 8;
|
||||
pub const _REG_R9: ::c_int = 9;
|
||||
pub const _REG_R10: ::c_int = 10;
|
||||
pub const _REG_R11: ::c_int = 11;
|
||||
pub const _REG_R12: ::c_int = 12;
|
||||
pub const _REG_R13: ::c_int = 13;
|
||||
pub const _REG_R14: ::c_int = 14;
|
||||
pub const _REG_R15: ::c_int = 15;
|
||||
pub const _REG_CPSR: ::c_int = 16;
|
||||
pub const _REG_X0: ::c_int = 0;
|
||||
pub const _REG_X1: ::c_int = 1;
|
||||
pub const _REG_X2: ::c_int = 2;
|
||||
pub const _REG_X3: ::c_int = 3;
|
||||
pub const _REG_X4: ::c_int = 4;
|
||||
pub const _REG_X5: ::c_int = 5;
|
||||
pub const _REG_X6: ::c_int = 6;
|
||||
pub const _REG_X7: ::c_int = 7;
|
||||
pub const _REG_X8: ::c_int = 8;
|
||||
pub const _REG_X9: ::c_int = 9;
|
||||
pub const _REG_X10: ::c_int = 10;
|
||||
pub const _REG_X11: ::c_int = 11;
|
||||
pub const _REG_X12: ::c_int = 12;
|
||||
pub const _REG_X13: ::c_int = 13;
|
||||
pub const _REG_X14: ::c_int = 14;
|
||||
pub const _REG_X15: ::c_int = 15;
|
||||
pub const _REG_X16: ::c_int = 16;
|
||||
pub const _REG_X17: ::c_int = 17;
|
||||
pub const _REG_X18: ::c_int = 18;
|
||||
pub const _REG_X19: ::c_int = 19;
|
||||
pub const _REG_X20: ::c_int = 20;
|
||||
pub const _REG_X21: ::c_int = 21;
|
||||
pub const _REG_X22: ::c_int = 22;
|
||||
pub const _REG_X23: ::c_int = 23;
|
||||
pub const _REG_X24: ::c_int = 24;
|
||||
pub const _REG_X25: ::c_int = 25;
|
||||
pub const _REG_X26: ::c_int = 26;
|
||||
pub const _REG_X27: ::c_int = 27;
|
||||
pub const _REG_X28: ::c_int = 28;
|
||||
pub const _REG_X29: ::c_int = 29;
|
||||
pub const _REG_X30: ::c_int = 30;
|
||||
pub const _REG_X31: ::c_int = 31;
|
||||
pub const _REG_ELR: ::c_int = 32;
|
||||
pub const _REG_SPSR: ::c_int = 33;
|
||||
pub const _REG_TIPDR: ::c_int = 34;
|
||||
|
||||
pub const _REG_RV: ::c_int = _REG_R0;
|
||||
pub const _REG_FP: ::c_int = _REG_R11;
|
||||
pub const _REG_LR: ::c_int = _REG_R13;
|
||||
pub const _REG_SP: ::c_int = _REG_R14;
|
||||
pub const _REG_PC: ::c_int = _REG_R15;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
use PT_FIRSTMACH;
|
||||
|
||||
pub type c_long = i32;
|
||||
pub type c_ulong = u32;
|
||||
pub type c_char = i8;
|
||||
pub type __cpu_simple_lock_nv_t = ::c_int;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(libc_const_size_of)] {
|
||||
#[doc(hidden)]
|
||||
pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1;
|
||||
} else {
|
||||
#[doc(hidden)]
|
||||
pub const _ALIGNBYTES: usize = 8 - 1;
|
||||
}
|
||||
}
|
||||
|
||||
pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
|
||||
pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
|
||||
pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
|
||||
pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
|
||||
@@ -10,7 +10,7 @@ type __pthread_spin_t = __cpu_simple_lock_nv_t;
|
||||
pub type vm_size_t = ::uintptr_t; // FIXME: deprecated since long time
|
||||
pub type lwpid_t = ::c_uint;
|
||||
pub type shmatt_t = ::c_uint;
|
||||
pub type cpuid_t = u64;
|
||||
pub type cpuid_t = ::c_ulong;
|
||||
pub type cpuset_t = _cpuset;
|
||||
pub type pthread_spin_t = ::c_uchar;
|
||||
pub type timer_t = ::c_int;
|
||||
@@ -60,6 +60,39 @@ impl siginfo_t {
|
||||
self.si_addr
|
||||
}
|
||||
|
||||
pub unsafe fn si_code(&self) -> ::c_int {
|
||||
self.si_code
|
||||
}
|
||||
|
||||
pub unsafe fn si_errno(&self) -> ::c_int {
|
||||
self.si_errno
|
||||
}
|
||||
|
||||
pub unsafe fn si_pid(&self) -> ::pid_t {
|
||||
#[repr(C)]
|
||||
struct siginfo_timer {
|
||||
_si_signo: ::c_int,
|
||||
_si_errno: ::c_int,
|
||||
_si_code: ::c_int,
|
||||
__pad1: ::c_int,
|
||||
_pid: ::pid_t,
|
||||
}
|
||||
(*(self as *const siginfo_t as *const siginfo_timer))._pid
|
||||
}
|
||||
|
||||
pub unsafe fn si_uid(&self) -> ::uid_t {
|
||||
#[repr(C)]
|
||||
struct siginfo_timer {
|
||||
_si_signo: ::c_int,
|
||||
_si_errno: ::c_int,
|
||||
_si_code: ::c_int,
|
||||
__pad1: ::c_int,
|
||||
_pid: ::pid_t,
|
||||
_uid: ::uid_t,
|
||||
}
|
||||
(*(self as *const siginfo_t as *const siginfo_timer))._uid
|
||||
}
|
||||
|
||||
pub unsafe fn si_value(&self) -> ::sigval {
|
||||
#[repr(C)]
|
||||
struct siginfo_timer {
|
||||
@@ -709,6 +742,49 @@ s! {
|
||||
#[cfg(libc_union)]
|
||||
pub ifc_ifcu: __c_anonymous_ifc_ifcu,
|
||||
}
|
||||
|
||||
pub struct tcp_info {
|
||||
pub tcpi_state: u8,
|
||||
pub __tcpi_ca_state: u8,
|
||||
pub __tcpi_retransmits: u8,
|
||||
pub __tcpi_probes: u8,
|
||||
pub __tcpi_backoff: u8,
|
||||
pub tcpi_options: u8,
|
||||
pub tcp_snd_wscale: u8,
|
||||
pub tcp_rcv_wscale: u8,
|
||||
pub tcpi_rto: u32,
|
||||
pub __tcpi_ato: u32,
|
||||
pub tcpi_snd_mss: u32,
|
||||
pub tcpi_rcv_mss: u32,
|
||||
pub __tcpi_unacked: u32,
|
||||
pub __tcpi_sacked: u32,
|
||||
pub __tcpi_lost: u32,
|
||||
pub __tcpi_retrans: u32,
|
||||
pub __tcpi_fackets: u32,
|
||||
pub __tcpi_last_data_sent: u32,
|
||||
pub __tcpi_last_ack_sent: u32,
|
||||
pub tcpi_last_data_recv: u32,
|
||||
pub __tcpi_last_ack_recv: u32,
|
||||
pub __tcpi_pmtu: u32,
|
||||
pub __tcpi_rcv_ssthresh: u32,
|
||||
pub tcpi_rtt: u32,
|
||||
pub tcpi_rttvar: u32,
|
||||
pub tcpi_snd_ssthresh: u32,
|
||||
pub tcpi_snd_cwnd: u32,
|
||||
pub __tcpi_advmss: u32,
|
||||
pub __tcpi_reordering: u32,
|
||||
pub __tcpi_rcv_rtt: u32,
|
||||
pub tcpi_rcv_space: u32,
|
||||
pub tcpi_snd_wnd: u32,
|
||||
pub tcpi_snd_bwnd: u32,
|
||||
pub tcpi_snd_nxt: u32,
|
||||
pub tcpi_rcv_nxt: u32,
|
||||
pub tcpi_toe_tid: u32,
|
||||
pub tcpi_snd_rexmitpack: u32,
|
||||
pub tcpi_rcv_ooopack: u32,
|
||||
pub tcpi_snd_zerowin: u32,
|
||||
pub __tcpi_pad: [u32; 26],
|
||||
}
|
||||
}
|
||||
|
||||
s_no_extra_traits! {
|
||||
@@ -1398,7 +1474,7 @@ pub const MS_SYNC: ::c_int = 0x4;
|
||||
pub const MS_INVALIDATE: ::c_int = 0x2;
|
||||
|
||||
// Here because they are not present on OpenBSD
|
||||
// (https://github.com/openbsd/src/blob/master/sys/sys/resource.h)
|
||||
// (https://github.com/openbsd/src/blob/HEAD/sys/sys/resource.h)
|
||||
pub const RLIMIT_SBSIZE: ::c_int = 9;
|
||||
pub const RLIMIT_AS: ::c_int = 10;
|
||||
pub const RLIMIT_NTHR: ::c_int = 11;
|
||||
@@ -1421,7 +1497,15 @@ pub const ENOATTR: ::c_int = 93;
|
||||
pub const EMULTIHOP: ::c_int = 94;
|
||||
pub const ENOLINK: ::c_int = 95;
|
||||
pub const EPROTO: ::c_int = 96;
|
||||
pub const ELAST: ::c_int = 96;
|
||||
pub const EOWNERDEAD: ::c_int = 97;
|
||||
pub const ENOTRECOVERABLE: ::c_int = 98;
|
||||
#[deprecated(
|
||||
since = "0.2.143",
|
||||
note = "This value will always match the highest defined error number \
|
||||
and thus is not stable. \
|
||||
See #3040 for more info."
|
||||
)]
|
||||
pub const ELAST: ::c_int = 98;
|
||||
|
||||
pub const F_DUPFD_CLOEXEC: ::c_int = 12;
|
||||
pub const F_CLOSEM: ::c_int = 10;
|
||||
@@ -1465,7 +1549,6 @@ pub const TCP_KEEPIDLE: ::c_int = 3;
|
||||
pub const TCP_KEEPINTVL: ::c_int = 5;
|
||||
pub const TCP_KEEPCNT: ::c_int = 6;
|
||||
pub const TCP_KEEPINIT: ::c_int = 7;
|
||||
pub const TCP_INFO: ::c_int = 9;
|
||||
pub const TCP_MD5SIG: ::c_int = 0x10;
|
||||
pub const TCP_CONGCTL: ::c_int = 0x20;
|
||||
|
||||
@@ -1476,6 +1559,7 @@ pub const SOCK_FLAGS_MASK: ::c_int = 0xf0000000;
|
||||
|
||||
pub const SO_SNDTIMEO: ::c_int = 0x100b;
|
||||
pub const SO_RCVTIMEO: ::c_int = 0x100c;
|
||||
pub const SO_NOSIGPIPE: ::c_int = 0x0800;
|
||||
pub const SO_ACCEPTFILTER: ::c_int = 0x1000;
|
||||
pub const SO_TIMESTAMP: ::c_int = 0x2000;
|
||||
pub const SO_OVERFLOWED: ::c_int = 0x1009;
|
||||
@@ -1616,6 +1700,7 @@ pub const O_DSYNC: ::c_int = 0x10000;
|
||||
pub const MAP_RENAME: ::c_int = 0x20;
|
||||
pub const MAP_NORESERVE: ::c_int = 0x40;
|
||||
pub const MAP_HASSEMAPHORE: ::c_int = 0x200;
|
||||
pub const MAP_TRYFIXED: ::c_int = 0x400;
|
||||
pub const MAP_WIRED: ::c_int = 0x800;
|
||||
pub const MAP_STACK: ::c_int = 0x2000;
|
||||
// map alignment aliases for MAP_ALIGNED
|
||||
@@ -1801,6 +1886,9 @@ pub const MNT_NODEVMTIME: ::c_int = 0x40000000;
|
||||
pub const MNT_SOFTDEP: ::c_int = 0x80000000;
|
||||
pub const MNT_POSIX1EACLS: ::c_int = 0x00000800;
|
||||
pub const MNT_ACLS: ::c_int = MNT_POSIX1EACLS;
|
||||
pub const MNT_WAIT: ::c_int = 1;
|
||||
pub const MNT_NOWAIT: ::c_int = 2;
|
||||
pub const MNT_LAZY: ::c_int = 3;
|
||||
|
||||
//<sys/timex.h>
|
||||
pub const NTP_API: ::c_int = 4;
|
||||
@@ -1926,6 +2014,9 @@ pub const EVFILT_SIGNAL: u32 = 5;
|
||||
pub const EVFILT_TIMER: u32 = 6;
|
||||
pub const EVFILT_VNODE: u32 = 3;
|
||||
pub const EVFILT_WRITE: u32 = 1;
|
||||
pub const EVFILT_FS: u32 = 7;
|
||||
pub const EVFILT_USER: u32 = 8;
|
||||
pub const EVFILT_EMPTY: u32 = 9;
|
||||
|
||||
pub const EV_ADD: u32 = 0x1;
|
||||
pub const EV_DELETE: u32 = 0x2;
|
||||
@@ -1940,6 +2031,13 @@ pub const EV_ERROR: u32 = 0x4000;
|
||||
pub const EV_EOF: u32 = 0x8000;
|
||||
pub const EV_SYSFLAGS: u32 = 0xf000;
|
||||
|
||||
pub const NOTE_TRIGGER: u32 = 0x01000000;
|
||||
pub const NOTE_FFNOP: u32 = 0x00000000;
|
||||
pub const NOTE_FFAND: u32 = 0x40000000;
|
||||
pub const NOTE_FFOR: u32 = 0x80000000;
|
||||
pub const NOTE_FFCOPY: u32 = 0xc0000000;
|
||||
pub const NOTE_FFCTRLMASK: u32 = 0xc0000000;
|
||||
pub const NOTE_FFLAGSMASK: u32 = 0x00ffffff;
|
||||
pub const NOTE_LOWAT: u32 = 0x00000001;
|
||||
pub const NOTE_DELETE: u32 = 0x00000001;
|
||||
pub const NOTE_WRITE: u32 = 0x00000002;
|
||||
@@ -1956,6 +2054,11 @@ pub const NOTE_PCTRLMASK: u32 = 0xf0000000;
|
||||
pub const NOTE_TRACK: u32 = 0x00000001;
|
||||
pub const NOTE_TRACKERR: u32 = 0x00000002;
|
||||
pub const NOTE_CHILD: u32 = 0x00000004;
|
||||
pub const NOTE_MSECONDS: u32 = 0x00000000;
|
||||
pub const NOTE_SECONDS: u32 = 0x00000001;
|
||||
pub const NOTE_USECONDS: u32 = 0x00000002;
|
||||
pub const NOTE_NSECONDS: u32 = 0x00000003;
|
||||
pub const NOTE_ABSTIME: u32 = 0x000000010;
|
||||
|
||||
pub const TMP_MAX: ::c_uint = 308915776;
|
||||
|
||||
@@ -2162,6 +2265,11 @@ pub const WCONTINUED: ::c_int = 0x00000010;
|
||||
pub const WEXITED: ::c_int = 0x000000020;
|
||||
pub const WNOWAIT: ::c_int = 0x00010000;
|
||||
|
||||
pub const WALTSIG: ::c_int = 0x00000004;
|
||||
pub const WALLSIG: ::c_int = 0x00000008;
|
||||
pub const WTRAPPED: ::c_int = 0x00000040;
|
||||
pub const WNOZOMBIE: ::c_int = 0x00020000;
|
||||
|
||||
pub const P_ALL: idtype_t = 0;
|
||||
pub const P_PID: idtype_t = 1;
|
||||
pub const P_PGID: idtype_t = 4;
|
||||
@@ -2235,13 +2343,6 @@ pub const PT_LWPNEXT: ::c_int = 25;
|
||||
pub const PT_SET_SIGPASS: ::c_int = 26;
|
||||
pub const PT_GET_SIGPASS: ::c_int = 27;
|
||||
pub const PT_FIRSTMACH: ::c_int = 32;
|
||||
|
||||
pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01;
|
||||
pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02;
|
||||
pub const POSIX_SPAWN_SETSCHEDPARAM: ::c_int = 0x04;
|
||||
pub const POSIX_SPAWN_SETSCHEDULER: ::c_int = 0x08;
|
||||
pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x10;
|
||||
pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x20;
|
||||
pub const POSIX_SPAWN_RETURNERROR: ::c_int = 0x40;
|
||||
|
||||
// Flags for chflags(2)
|
||||
@@ -2288,39 +2389,44 @@ pub const LSZOMB: ::c_int = 5;
|
||||
pub const LSONPROC: ::c_int = 7;
|
||||
pub const LSSUSPENDED: ::c_int = 8;
|
||||
|
||||
pub const _REG_RDI: ::c_int = 0;
|
||||
pub const _REG_RSI: ::c_int = 1;
|
||||
pub const _REG_RDX: ::c_int = 2;
|
||||
pub const _REG_RCX: ::c_int = 3;
|
||||
pub const _REG_R8: ::c_int = 4;
|
||||
pub const _REG_R9: ::c_int = 5;
|
||||
pub const _REG_R10: ::c_int = 6;
|
||||
pub const _REG_R11: ::c_int = 7;
|
||||
pub const _REG_R12: ::c_int = 8;
|
||||
pub const _REG_R13: ::c_int = 9;
|
||||
pub const _REG_R14: ::c_int = 10;
|
||||
pub const _REG_R15: ::c_int = 11;
|
||||
pub const _REG_RBP: ::c_int = 12;
|
||||
pub const _REG_RBX: ::c_int = 13;
|
||||
pub const _REG_RAX: ::c_int = 14;
|
||||
pub const _REG_GS: ::c_int = 15;
|
||||
pub const _REG_FS: ::c_int = 16;
|
||||
pub const _REG_ES: ::c_int = 17;
|
||||
pub const _REG_DS: ::c_int = 18;
|
||||
pub const _REG_TRAPNO: ::c_int = 19;
|
||||
pub const _REG_ERR: ::c_int = 20;
|
||||
pub const _REG_RIP: ::c_int = 21;
|
||||
pub const _REG_CS: ::c_int = 22;
|
||||
pub const _REG_RFLAGS: ::c_int = 23;
|
||||
pub const _REG_RSP: ::c_int = 24;
|
||||
pub const _REG_SS: ::c_int = 25;
|
||||
|
||||
// sys/xattr.h
|
||||
pub const XATTR_CREATE: ::c_int = 0x01;
|
||||
pub const XATTR_REPLACE: ::c_int = 0x02;
|
||||
// sys/extattr.h
|
||||
pub const EXTATTR_NAMESPACE_EMPTY: ::c_int = 0;
|
||||
|
||||
// For getrandom()
|
||||
pub const GRND_NONBLOCK: ::c_uint = 0x1;
|
||||
pub const GRND_RANDOM: ::c_uint = 0x2;
|
||||
pub const GRND_INSECURE: ::c_uint = 0x4;
|
||||
|
||||
// sys/reboot.h
|
||||
pub const RB_ASKNAME: ::c_int = 0x000000001;
|
||||
pub const RB_SINGLE: ::c_int = 0x000000002;
|
||||
pub const RB_NOSYNC: ::c_int = 0x000000004;
|
||||
pub const RB_HALT: ::c_int = 0x000000008;
|
||||
pub const RB_INITNAME: ::c_int = 0x000000010;
|
||||
pub const RB_KDB: ::c_int = 0x000000040;
|
||||
pub const RB_RDONLY: ::c_int = 0x000000080;
|
||||
pub const RB_DUMP: ::c_int = 0x000000100;
|
||||
pub const RB_MINIROOT: ::c_int = 0x000000200;
|
||||
pub const RB_STRING: ::c_int = 0x000000400;
|
||||
pub const RB_POWERDOWN: ::c_int = RB_HALT | 0x000000800;
|
||||
pub const RB_USERCONF: ::c_int = 0x000001000;
|
||||
|
||||
cfg_if! {
|
||||
|
||||
if #[cfg(libc_const_extern_fn)] {
|
||||
pub const fn MAP_ALIGNED(alignment: ::c_int) -> ::c_int {
|
||||
alignment << MAP_ALIGNMENT_SHIFT
|
||||
}
|
||||
} else {
|
||||
pub fn MAP_ALIGNED(alignment: ::c_int) -> ::c_int {
|
||||
alignment << MAP_ALIGNMENT_SHIFT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const_fn! {
|
||||
{const} fn _ALIGN(p: usize) -> usize {
|
||||
(p + _ALIGNBYTES) & !_ALIGNBYTES
|
||||
@@ -2333,7 +2439,7 @@ f! {
|
||||
.offset(_ALIGN(::mem::size_of::<::cmsghdr>()) as isize)
|
||||
}
|
||||
|
||||
pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
pub {const} fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
_ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length
|
||||
}
|
||||
|
||||
@@ -2383,6 +2489,17 @@ f! {
|
||||
pub fn PROT_MPROTECT_EXTRACT(x: ::c_int) -> ::c_int {
|
||||
(x >> 3) & 0x7
|
||||
}
|
||||
|
||||
pub fn major(dev: ::dev_t) -> ::c_int {
|
||||
(((dev as u32) & 0x000fff00) >> 8) as ::c_int
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_int {
|
||||
let mut res = 0;
|
||||
res |= ((dev as u32) & 0xfff00000) >> 12;
|
||||
res |= (dev as u32) & 0x000000ff;
|
||||
res as ::c_int
|
||||
}
|
||||
}
|
||||
|
||||
safe_f! {
|
||||
@@ -2424,41 +2541,11 @@ extern "C" {
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn reallocarr(ptr: *mut ::c_void, number: ::size_t, size: ::size_t) -> ::c_int;
|
||||
}
|
||||
|
||||
#[link(name = "rt")]
|
||||
extern "C" {
|
||||
pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn aio_error(aiocbp: *const aiocb) -> ::c_int;
|
||||
pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t;
|
||||
#[link_name = "__aio_suspend50"]
|
||||
pub fn aio_suspend(
|
||||
aiocb_list: *const *const aiocb,
|
||||
nitems: ::c_int,
|
||||
timeout: *const ::timespec,
|
||||
) -> ::c_int;
|
||||
pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn lio_listio(
|
||||
mode: ::c_int,
|
||||
aiocb_list: *const *mut aiocb,
|
||||
nitems: ::c_int,
|
||||
sevp: *mut sigevent,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
pub fn chflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int;
|
||||
pub fn fchflags(fd: ::c_int, flags: ::c_ulong) -> ::c_int;
|
||||
pub fn lchflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int;
|
||||
|
||||
pub fn execvpe(
|
||||
file: *const ::c_char,
|
||||
argv: *const *const ::c_char,
|
||||
envp: *const *const ::c_char,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn extattr_list_fd(
|
||||
fd: ::c_int,
|
||||
attrnamespace: ::c_int,
|
||||
@@ -2567,7 +2654,7 @@ extern "C" {
|
||||
host: *mut ::c_char,
|
||||
hostlen: ::socklen_t,
|
||||
serv: *mut ::c_char,
|
||||
sevlen: ::socklen_t,
|
||||
servlen: ::socklen_t,
|
||||
flags: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
|
||||
@@ -2651,6 +2738,7 @@ extern "C" {
|
||||
attr: *const ::pthread_attr_t,
|
||||
guardsize: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int;
|
||||
pub fn pthread_attr_getstack(
|
||||
attr: *const ::pthread_attr_t,
|
||||
stackaddr: *mut *mut ::c_void,
|
||||
@@ -2681,12 +2769,6 @@ extern "C" {
|
||||
timeout: *const ::timespec,
|
||||
) -> ::c_int;
|
||||
pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int;
|
||||
pub fn waitid(
|
||||
idtype: idtype_t,
|
||||
id: ::id_t,
|
||||
infop: *mut ::siginfo_t,
|
||||
options: ::c_int,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t);
|
||||
@@ -2793,82 +2875,36 @@ extern "C" {
|
||||
ts: *const ::timespec,
|
||||
sigmask: *const ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn ppoll(
|
||||
fds: *mut ::pollfd,
|
||||
nfds: ::nfds_t,
|
||||
ts: *const ::timespec,
|
||||
sigmask: *const ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
|
||||
|
||||
pub fn posix_spawn(
|
||||
pid: *mut ::pid_t,
|
||||
path: *const ::c_char,
|
||||
file_actions: *const ::posix_spawn_file_actions_t,
|
||||
attrp: *const ::posix_spawnattr_t,
|
||||
argv: *const *mut ::c_char,
|
||||
envp: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnp(
|
||||
pid: *mut ::pid_t,
|
||||
file: *const ::c_char,
|
||||
file_actions: *const ::posix_spawn_file_actions_t,
|
||||
attrp: *const ::posix_spawnattr_t,
|
||||
argv: *const *mut ::c_char,
|
||||
envp: *const *mut ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_init(attr: *mut posix_spawnattr_t) -> ::c_int;
|
||||
pub fn posix_spawnattr_destroy(attr: *mut posix_spawnattr_t) -> ::c_int;
|
||||
pub fn posix_spawnattr_getsigdefault(
|
||||
attr: *const posix_spawnattr_t,
|
||||
default: *mut ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setsigdefault(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
default: *const ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_getsigmask(
|
||||
attr: *const posix_spawnattr_t,
|
||||
default: *mut ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setsigmask(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
default: *const ::sigset_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_getflags(
|
||||
attr: *const posix_spawnattr_t,
|
||||
flags: *mut ::c_short,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setflags(attr: *mut posix_spawnattr_t, flags: ::c_short) -> ::c_int;
|
||||
pub fn posix_spawnattr_getpgroup(
|
||||
attr: *const posix_spawnattr_t,
|
||||
flags: *mut ::pid_t,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setpgroup(attr: *mut posix_spawnattr_t, flags: ::pid_t) -> ::c_int;
|
||||
pub fn posix_spawnattr_getschedpolicy(
|
||||
attr: *const posix_spawnattr_t,
|
||||
flags: *mut ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setschedpolicy(attr: *mut posix_spawnattr_t, flags: ::c_int) -> ::c_int;
|
||||
pub fn posix_spawnattr_getschedparam(
|
||||
attr: *const posix_spawnattr_t,
|
||||
param: *mut ::sched_param,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawnattr_setschedparam(
|
||||
attr: *mut posix_spawnattr_t,
|
||||
param: *const ::sched_param,
|
||||
) -> ::c_int;
|
||||
pub fn reboot(mode: ::c_int, bootstr: *mut ::c_char) -> ::c_int;
|
||||
}
|
||||
|
||||
pub fn posix_spawn_file_actions_init(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_destroy(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_addopen(
|
||||
actions: *mut posix_spawn_file_actions_t,
|
||||
fd: ::c_int,
|
||||
path: *const ::c_char,
|
||||
oflag: ::c_int,
|
||||
mode: ::mode_t,
|
||||
#[link(name = "rt")]
|
||||
extern "C" {
|
||||
pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn aio_error(aiocbp: *const aiocb) -> ::c_int;
|
||||
pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t;
|
||||
#[link_name = "__aio_suspend50"]
|
||||
pub fn aio_suspend(
|
||||
aiocb_list: *const *const aiocb,
|
||||
nitems: ::c_int,
|
||||
timeout: *const ::timespec,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_addclose(
|
||||
actions: *mut posix_spawn_file_actions_t,
|
||||
fd: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn posix_spawn_file_actions_adddup2(
|
||||
actions: *mut posix_spawn_file_actions_t,
|
||||
fd: ::c_int,
|
||||
newfd: ::c_int,
|
||||
pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
|
||||
pub fn lio_listio(
|
||||
mode: ::c_int,
|
||||
aiocb_list: *const *mut aiocb,
|
||||
nitems: ::c_int,
|
||||
sevp: *mut sigevent,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
@@ -3049,6 +3085,38 @@ extern "C" {
|
||||
pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
|
||||
}
|
||||
|
||||
#[link(name = "execinfo")]
|
||||
extern "C" {
|
||||
pub fn backtrace(addrlist: *mut *mut ::c_void, len: ::size_t) -> ::size_t;
|
||||
pub fn backtrace_symbols(addrlist: *const *mut ::c_void, len: ::size_t) -> *mut *mut ::c_char;
|
||||
pub fn backtrace_symbols_fd(
|
||||
addrlist: *const *mut ::c_void,
|
||||
len: ::size_t,
|
||||
fd: ::c_int,
|
||||
) -> ::c_int;
|
||||
pub fn backtrace_symbols_fmt(
|
||||
addrlist: *const *mut ::c_void,
|
||||
len: ::size_t,
|
||||
fmt: *const ::c_char,
|
||||
) -> *mut *mut ::c_char;
|
||||
pub fn backtrace_symbols_fd_fmt(
|
||||
addrlist: *const *mut ::c_void,
|
||||
len: ::size_t,
|
||||
fd: ::c_int,
|
||||
fmt: *const ::c_char,
|
||||
) -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(libc_union)] {
|
||||
extern {
|
||||
// these functions use statvfs:
|
||||
pub fn getmntinfo(mntbufp: *mut *mut ::statvfs, flags: ::c_int) -> ::c_int;
|
||||
pub fn getvfsstat(buf: *mut statvfs, bufsize: ::size_t, flags: ::c_int) -> ::c_int;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(target_arch = "aarch64")] {
|
||||
mod aarch64;
|
||||
@@ -3068,6 +3136,12 @@ cfg_if! {
|
||||
} else if #[cfg(target_arch = "x86")] {
|
||||
mod x86;
|
||||
pub use self::x86::*;
|
||||
} else if #[cfg(target_arch = "mips")] {
|
||||
mod mips;
|
||||
pub use self::mips::*;
|
||||
} else if #[cfg(target_arch = "riscv64")] {
|
||||
mod riscv64;
|
||||
pub use self::riscv64::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
use PT_FIRSTMACH;
|
||||
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
pub type c_char = u8;
|
||||
pub type __cpu_simple_lock_nv_t = ::c_int;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(libc_const_size_of)] {
|
||||
#[doc(hidden)]
|
||||
pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
|
||||
} else {
|
||||
#[doc(hidden)]
|
||||
pub const _ALIGNBYTES: usize = 8 - 1;
|
||||
}
|
||||
}
|
||||
|
||||
pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
|
||||
pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
|
||||
pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
|
||||
pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;
|
||||
@@ -38,3 +38,30 @@ pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1;
|
||||
pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2;
|
||||
pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3;
|
||||
pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4;
|
||||
|
||||
pub const _REG_RDI: ::c_int = 0;
|
||||
pub const _REG_RSI: ::c_int = 1;
|
||||
pub const _REG_RDX: ::c_int = 2;
|
||||
pub const _REG_RCX: ::c_int = 3;
|
||||
pub const _REG_R8: ::c_int = 4;
|
||||
pub const _REG_R9: ::c_int = 5;
|
||||
pub const _REG_R10: ::c_int = 6;
|
||||
pub const _REG_R11: ::c_int = 7;
|
||||
pub const _REG_R12: ::c_int = 8;
|
||||
pub const _REG_R13: ::c_int = 9;
|
||||
pub const _REG_R14: ::c_int = 10;
|
||||
pub const _REG_R15: ::c_int = 11;
|
||||
pub const _REG_RBP: ::c_int = 12;
|
||||
pub const _REG_RBX: ::c_int = 13;
|
||||
pub const _REG_RAX: ::c_int = 14;
|
||||
pub const _REG_GS: ::c_int = 15;
|
||||
pub const _REG_FS: ::c_int = 16;
|
||||
pub const _REG_ES: ::c_int = 17;
|
||||
pub const _REG_DS: ::c_int = 18;
|
||||
pub const _REG_TRAPNO: ::c_int = 19;
|
||||
pub const _REG_ERR: ::c_int = 20;
|
||||
pub const _REG_RIP: ::c_int = 21;
|
||||
pub const _REG_CS: ::c_int = 22;
|
||||
pub const _REG_RFLAGS: ::c_int = 23;
|
||||
pub const _REG_RSP: ::c_int = 24;
|
||||
pub const _REG_SS: ::c_int = 25;
|
||||
|
||||
@@ -7,6 +7,7 @@ pub type sigset_t = ::c_uint;
|
||||
pub type blksize_t = i32;
|
||||
pub type fsblkcnt_t = u64;
|
||||
pub type fsfilcnt_t = u64;
|
||||
pub type idtype_t = ::c_uint;
|
||||
pub type pthread_attr_t = *mut ::c_void;
|
||||
pub type pthread_mutex_t = *mut ::c_void;
|
||||
pub type pthread_mutexattr_t = *mut ::c_void;
|
||||
@@ -40,6 +41,10 @@ pub type Elf64_Xword = u64;
|
||||
pub type ENTRY = entry;
|
||||
pub type ACTION = ::c_uint;
|
||||
|
||||
// spawn.h
|
||||
pub type posix_spawnattr_t = *mut ::c_void;
|
||||
pub type posix_spawn_file_actions_t = *mut ::c_void;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(target_pointer_width = "64")] {
|
||||
type Elf_Addr = Elf64_Addr;
|
||||
@@ -109,7 +114,7 @@ s! {
|
||||
pub struct mfs_args {
|
||||
pub fspec: *mut ::c_char,
|
||||
pub export_info: export_args,
|
||||
// https://github.com/openbsd/src/blob/master/sys/sys/types.h#L134
|
||||
// https://github.com/openbsd/src/blob/HEAD/sys/sys/types.h#L134
|
||||
pub base: *mut ::c_char,
|
||||
pub size: ::c_ulong,
|
||||
}
|
||||
@@ -189,7 +194,7 @@ s! {
|
||||
pub cr_uid: ::uid_t,
|
||||
pub cr_gid: ::gid_t,
|
||||
pub cr_ngroups: ::c_short,
|
||||
//https://github.com/openbsd/src/blob/master/sys/sys/syslimits.h#L44
|
||||
//https://github.com/openbsd/src/blob/HEAD/sys/sys/syslimits.h#L44
|
||||
pub cr_groups: [::gid_t; 16],
|
||||
}
|
||||
|
||||
@@ -498,6 +503,7 @@ s! {
|
||||
pub p_tid: i32,
|
||||
pub p_rtableid: u32,
|
||||
pub p_pledge: u64,
|
||||
pub p_name: [::c_char; KI_MAXCOMLEN as usize],
|
||||
}
|
||||
|
||||
pub struct kinfo_vmentry {
|
||||
@@ -531,6 +537,76 @@ s! {
|
||||
pub key: *mut ::c_char,
|
||||
pub data: *mut ::c_void,
|
||||
}
|
||||
|
||||
pub struct ifreq {
|
||||
pub ifr_name: [::c_char; ::IFNAMSIZ],
|
||||
#[cfg(libc_union)]
|
||||
pub ifr_ifru: __c_anonymous_ifr_ifru,
|
||||
#[cfg(not(libc_union))]
|
||||
pub ifr_ifru: ::sockaddr,
|
||||
}
|
||||
|
||||
pub struct tcp_info {
|
||||
pub tcpi_state: u8,
|
||||
pub __tcpi_ca_state: u8,
|
||||
pub __tcpi_retransmits: u8,
|
||||
pub __tcpi_probes: u8,
|
||||
pub __tcpi_backoff: u8,
|
||||
pub tcpi_options: u8,
|
||||
pub tcpi_snd_wscale: u8,
|
||||
pub tcpi_rcv_wscale: u8,
|
||||
pub tcpi_rto: u32,
|
||||
pub __tcpi_ato: u32,
|
||||
pub tcpi_snd_mss: u32,
|
||||
pub tcpi_rcv_mss: u32,
|
||||
pub __tcpi_unacked: u32,
|
||||
pub __tcpi_sacked: u32,
|
||||
pub __tcpi_lost: u32,
|
||||
pub __tcpi_retrans: u32,
|
||||
pub __tcpi_fackets: u32,
|
||||
pub tcpi_last_data_sent: u32,
|
||||
pub tcpi_last_ack_sent: u32,
|
||||
pub tcpi_last_data_recv: u32,
|
||||
pub tcpi_last_ack_recv: u32,
|
||||
pub __tcpi_pmtu: u32,
|
||||
pub __tcpi_rcv_ssthresh: u32,
|
||||
pub tcpi_rtt: u32,
|
||||
pub tcpi_rttvar: u32,
|
||||
pub tcpi_snd_ssthresh: u32,
|
||||
pub tcpi_snd_cwnd: u32,
|
||||
pub __tcpi_advmss: u32,
|
||||
pub __tcpi_reordering: u32,
|
||||
pub __tcpi_rcv_rtt: u32,
|
||||
pub tcpi_rcv_space: u32,
|
||||
pub tcpi_snd_wnd: u32,
|
||||
pub tcpi_snd_nxt: u32,
|
||||
pub tcpi_rcv_nxt: u32,
|
||||
pub tcpi_toe_tid: u32,
|
||||
pub tcpi_snd_rexmitpack: u32,
|
||||
pub tcpi_rcv_ooopack: u32,
|
||||
pub tcpi_snd_zerowin: u32,
|
||||
pub tcpi_rttmin: u32,
|
||||
pub tcpi_max_sndwnd: u32,
|
||||
pub tcpi_rcv_adv: u32,
|
||||
pub tcpi_rcv_up: u32,
|
||||
pub tcpi_snd_una: u32,
|
||||
pub tcpi_snd_up: u32,
|
||||
pub tcpi_snd_wl1: u32,
|
||||
pub tcpi_snd_wl2: u32,
|
||||
pub tcpi_snd_max: u32,
|
||||
pub tcpi_ts_recent: u32,
|
||||
pub tcpi_ts_recent_age: u32,
|
||||
pub tcpi_rfbuf_cnt: u32,
|
||||
pub tcpi_rfbuf_ts: u32,
|
||||
pub tcpi_so_rcv_sb_cc: u32,
|
||||
pub tcpi_so_rcv_sb_hiwat: u32,
|
||||
pub tcpi_so_rcv_sb_lowat: u32,
|
||||
pub tcpi_so_rcv_sb_wat: u32,
|
||||
pub tcpi_so_snd_sb_cc: u32,
|
||||
pub tcpi_so_snd_sb_hiwat: u32,
|
||||
pub tcpi_so_snd_sb_lowat: u32,
|
||||
pub tcpi_so_snd_sb_wat: u32,
|
||||
}
|
||||
}
|
||||
|
||||
impl siginfo_t {
|
||||
@@ -538,12 +614,46 @@ impl siginfo_t {
|
||||
self.si_addr
|
||||
}
|
||||
|
||||
pub unsafe fn si_code(&self) -> ::c_int {
|
||||
self.si_code
|
||||
}
|
||||
|
||||
pub unsafe fn si_errno(&self) -> ::c_int {
|
||||
self.si_errno
|
||||
}
|
||||
|
||||
pub unsafe fn si_pid(&self) -> ::pid_t {
|
||||
#[repr(C)]
|
||||
struct siginfo_timer {
|
||||
_si_signo: ::c_int,
|
||||
_si_code: ::c_int,
|
||||
_si_errno: ::c_int,
|
||||
_pad: [::c_int; SI_PAD],
|
||||
_pid: ::pid_t,
|
||||
}
|
||||
(*(self as *const siginfo_t as *const siginfo_timer))._pid
|
||||
}
|
||||
|
||||
pub unsafe fn si_uid(&self) -> ::uid_t {
|
||||
#[repr(C)]
|
||||
struct siginfo_timer {
|
||||
_si_signo: ::c_int,
|
||||
_si_code: ::c_int,
|
||||
_si_errno: ::c_int,
|
||||
_pad: [::c_int; SI_PAD],
|
||||
_pid: ::pid_t,
|
||||
_uid: ::uid_t,
|
||||
}
|
||||
(*(self as *const siginfo_t as *const siginfo_timer))._uid
|
||||
}
|
||||
|
||||
pub unsafe fn si_value(&self) -> ::sigval {
|
||||
#[repr(C)]
|
||||
struct siginfo_timer {
|
||||
_si_signo: ::c_int,
|
||||
_si_errno: ::c_int,
|
||||
_si_code: ::c_int,
|
||||
_si_errno: ::c_int,
|
||||
_pad: [::c_int; SI_PAD],
|
||||
_pid: ::pid_t,
|
||||
_uid: ::uid_t,
|
||||
value: ::sigval,
|
||||
@@ -606,6 +716,18 @@ s_no_extra_traits! {
|
||||
align: [::c_char; 160],
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
pub union __c_anonymous_ifr_ifru {
|
||||
pub ifru_addr: ::sockaddr,
|
||||
pub ifru_dstaddr: ::sockaddr,
|
||||
pub ifru_broadaddr: ::sockaddr,
|
||||
pub ifru_flags: ::c_short,
|
||||
pub ifru_metric: ::c_int,
|
||||
pub ifru_vnetid: i64,
|
||||
pub ifru_media: u64,
|
||||
pub ifru_data: ::caddr_t,
|
||||
pub ifru_index: ::c_uint,
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
@@ -812,6 +934,60 @@ cfg_if! {
|
||||
unsafe { self.align.hash(state) };
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl PartialEq for __c_anonymous_ifr_ifru {
|
||||
fn eq(&self, other: &__c_anonymous_ifr_ifru) -> bool {
|
||||
unsafe {
|
||||
self.ifru_addr == other.ifru_addr
|
||||
&& self.ifru_dstaddr == other.ifru_dstaddr
|
||||
&& self.ifru_broadaddr == other.ifru_broadaddr
|
||||
&& self.ifru_flags == other.ifru_flags
|
||||
&& self.ifru_metric == other.ifru_metric
|
||||
&& self.ifru_vnetid == other.ifru_vnetid
|
||||
&& self.ifru_media == other.ifru_media
|
||||
&& self.ifru_data == other.ifru_data
|
||||
&& self.ifru_index == other.ifru_index
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl Eq for __c_anonymous_ifr_ifru {}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::fmt::Debug for __c_anonymous_ifr_ifru {
|
||||
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
|
||||
f.debug_struct("__c_anonymous_ifr_ifru")
|
||||
.field("ifru_addr", unsafe { &self.ifru_addr })
|
||||
.field("ifru_dstaddr", unsafe { &self.ifru_dstaddr })
|
||||
.field("ifru_broadaddr", unsafe { &self.ifru_broadaddr })
|
||||
.field("ifru_flags", unsafe { &self.ifru_flags })
|
||||
.field("ifru_metric", unsafe { &self.ifru_metric })
|
||||
.field("ifru_vnetid", unsafe { &self.ifru_vnetid })
|
||||
.field("ifru_media", unsafe { &self.ifru_media })
|
||||
.field("ifru_data", unsafe { &self.ifru_data })
|
||||
.field("ifru_index", unsafe { &self.ifru_index })
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(libc_union)]
|
||||
impl ::hash::Hash for __c_anonymous_ifr_ifru {
|
||||
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
|
||||
unsafe {
|
||||
self.ifru_addr.hash(state);
|
||||
self.ifru_dstaddr.hash(state);
|
||||
self.ifru_broadaddr.hash(state);
|
||||
self.ifru_flags.hash(state);
|
||||
self.ifru_metric.hash(state);
|
||||
self.ifru_vnetid.hash(state);
|
||||
self.ifru_media.hash(state);
|
||||
self.ifru_data.hash(state);
|
||||
self.ifru_index.hash(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -997,6 +1173,8 @@ pub const SO_NETPROC: ::c_int = 0x1020;
|
||||
pub const SO_RTABLE: ::c_int = 0x1021;
|
||||
pub const SO_PEERCRED: ::c_int = 0x1022;
|
||||
pub const SO_SPLICE: ::c_int = 0x1023;
|
||||
pub const SO_DOMAIN: ::c_int = 0x1024;
|
||||
pub const SO_PROTOCOL: ::c_int = 0x1025;
|
||||
|
||||
// sys/netinet/in.h
|
||||
// Protocols (RFC 1700)
|
||||
@@ -1071,6 +1249,8 @@ pub const IP_RECVIF: ::c_int = 30;
|
||||
pub const TCP_MD5SIG: ::c_int = 0x04;
|
||||
pub const TCP_NOPUSH: ::c_int = 0x10;
|
||||
|
||||
pub const MSG_WAITFORONE: ::c_int = 0x1000;
|
||||
|
||||
pub const AF_ECMA: ::c_int = 8;
|
||||
pub const AF_ROUTE: ::c_int = 17;
|
||||
pub const AF_ENCAP: ::c_int = 28;
|
||||
@@ -1115,6 +1295,7 @@ pub const O_DSYNC: ::c_int = 128;
|
||||
pub const MAP_RENAME: ::c_int = 0x0000;
|
||||
pub const MAP_NORESERVE: ::c_int = 0x0000;
|
||||
pub const MAP_HASSEMAPHORE: ::c_int = 0x0000;
|
||||
pub const MAP_TRYFIXED: ::c_int = 0;
|
||||
|
||||
pub const EIPSEC: ::c_int = 82;
|
||||
pub const ENOMEDIUM: ::c_int = 85;
|
||||
@@ -1278,13 +1459,15 @@ pub const PTHREAD_MUTEX_NORMAL: ::c_int = 3;
|
||||
pub const PTHREAD_MUTEX_STRICT_NP: ::c_int = 4;
|
||||
pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_STRICT_NP;
|
||||
|
||||
pub const EVFILT_AIO: i16 = -3;
|
||||
pub const EVFILT_PROC: i16 = -5;
|
||||
pub const EVFILT_READ: i16 = -1;
|
||||
pub const EVFILT_WRITE: i16 = -2;
|
||||
pub const EVFILT_AIO: i16 = -3;
|
||||
pub const EVFILT_VNODE: i16 = -4;
|
||||
pub const EVFILT_PROC: i16 = -5;
|
||||
pub const EVFILT_SIGNAL: i16 = -6;
|
||||
pub const EVFILT_TIMER: i16 = -7;
|
||||
pub const EVFILT_VNODE: i16 = -4;
|
||||
pub const EVFILT_WRITE: i16 = -2;
|
||||
pub const EVFILT_DEVICE: i16 = -8;
|
||||
pub const EVFILT_EXCEPT: i16 = -9;
|
||||
|
||||
pub const EV_ADD: u16 = 0x1;
|
||||
pub const EV_DELETE: u16 = 0x2;
|
||||
@@ -1303,6 +1486,7 @@ pub const EV_SYSFLAGS: u16 = 0xf800;
|
||||
|
||||
pub const NOTE_LOWAT: u32 = 0x00000001;
|
||||
pub const NOTE_EOF: u32 = 0x00000002;
|
||||
pub const NOTE_OOB: u32 = 0x00000004;
|
||||
pub const NOTE_DELETE: u32 = 0x00000001;
|
||||
pub const NOTE_WRITE: u32 = 0x00000002;
|
||||
pub const NOTE_EXTEND: u32 = 0x00000004;
|
||||
@@ -1319,6 +1503,7 @@ pub const NOTE_PCTRLMASK: u32 = 0xf0000000;
|
||||
pub const NOTE_TRACK: u32 = 0x00000001;
|
||||
pub const NOTE_TRACKERR: u32 = 0x00000002;
|
||||
pub const NOTE_CHILD: u32 = 0x00000004;
|
||||
pub const NOTE_CHANGE: u32 = 0x00000001;
|
||||
|
||||
pub const TMP_MAX: ::c_uint = 0x7fffffff;
|
||||
|
||||
@@ -1507,7 +1692,7 @@ pub const OLCUC: ::tcflag_t = 0x20;
|
||||
pub const ONOCR: ::tcflag_t = 0x40;
|
||||
pub const ONLRET: ::tcflag_t = 0x80;
|
||||
|
||||
//https://github.com/openbsd/src/blob/master/sys/sys/mount.h
|
||||
//https://github.com/openbsd/src/blob/HEAD/sys/sys/mount.h
|
||||
pub const ISOFSMNT_NORRIP: ::c_int = 0x1; // disable Rock Ridge Ext
|
||||
pub const ISOFSMNT_GENS: ::c_int = 0x2; // enable generation numbers
|
||||
pub const ISOFSMNT_EXTATT: ::c_int = 0x4; // enable extended attr
|
||||
@@ -1568,10 +1753,13 @@ pub const NTFS_MFLAG_ALLNAMES: ::c_int = 0x2;
|
||||
|
||||
pub const TMPFS_ARGS_VERSION: ::c_int = 1;
|
||||
|
||||
const SI_MAXSZ: ::size_t = 128;
|
||||
const SI_PAD: ::size_t = (SI_MAXSZ / ::mem::size_of::<::c_int>()) - 3;
|
||||
|
||||
pub const MAP_STACK: ::c_int = 0x4000;
|
||||
pub const MAP_CONCEAL: ::c_int = 0x8000;
|
||||
|
||||
// https://github.com/openbsd/src/blob/master/sys/net/if.h#L187
|
||||
// https://github.com/openbsd/src/blob/HEAD/sys/net/if.h#L187
|
||||
pub const IFF_UP: ::c_int = 0x1; // interface is up
|
||||
pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
|
||||
pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging
|
||||
@@ -1610,7 +1798,15 @@ pub const BIOCSDLT: ::c_ulong = 0x8004427a;
|
||||
|
||||
pub const PTRACE_FORK: ::c_int = 0x0002;
|
||||
|
||||
pub const WCONTINUED: ::c_int = 8;
|
||||
pub const WCONTINUED: ::c_int = 0x08;
|
||||
pub const WEXITED: ::c_int = 0x04;
|
||||
pub const WSTOPPED: ::c_int = 0x02; // same as WUNTRACED
|
||||
pub const WNOWAIT: ::c_int = 0x10;
|
||||
pub const WTRAPPED: ::c_int = 0x20;
|
||||
|
||||
pub const P_ALL: ::idtype_t = 0;
|
||||
pub const P_PGID: ::idtype_t = 1;
|
||||
pub const P_PID: ::idtype_t = 2;
|
||||
|
||||
// search.h
|
||||
pub const FIND: ::ACTION = 0;
|
||||
@@ -1639,6 +1835,30 @@ pub const SF_ARCHIVED: ::c_uint = 0x00010000;
|
||||
pub const SF_IMMUTABLE: ::c_uint = 0x00020000;
|
||||
pub const SF_APPEND: ::c_uint = 0x00040000;
|
||||
|
||||
// sys/exec_elf.h - Legal values for p_type (segment type).
|
||||
pub const PT_NULL: u32 = 0;
|
||||
pub const PT_LOAD: u32 = 1;
|
||||
pub const PT_DYNAMIC: u32 = 2;
|
||||
pub const PT_INTERP: u32 = 3;
|
||||
pub const PT_NOTE: u32 = 4;
|
||||
pub const PT_SHLIB: u32 = 5;
|
||||
pub const PT_PHDR: u32 = 6;
|
||||
pub const PT_TLS: u32 = 7;
|
||||
pub const PT_LOOS: u32 = 0x60000000;
|
||||
pub const PT_HIOS: u32 = 0x6fffffff;
|
||||
pub const PT_LOPROC: u32 = 0x70000000;
|
||||
pub const PT_HIPROC: u32 = 0x7fffffff;
|
||||
|
||||
pub const PT_GNU_EH_FRAME: u32 = 0x6474e550;
|
||||
pub const PT_GNU_RELRO: u32 = 0x6474e552;
|
||||
|
||||
// sys/exec_elf.h - Legal values for p_flags (segment flags).
|
||||
pub const PF_X: u32 = 0x1;
|
||||
pub const PF_W: u32 = 0x2;
|
||||
pub const PF_R: u32 = 0x4;
|
||||
pub const PF_MASKOS: u32 = 0x0ff00000;
|
||||
pub const PF_MASKPROC: u32 = 0xf0000000;
|
||||
|
||||
// sys/mount.h
|
||||
pub const MNT_NOPERM: ::c_int = 0x00000020;
|
||||
pub const MNT_WXALLOWED: ::c_int = 0x00000800;
|
||||
@@ -1659,6 +1879,12 @@ pub const MNT_WAIT: ::c_int = 1;
|
||||
pub const MNT_NOWAIT: ::c_int = 2;
|
||||
pub const MNT_LAZY: ::c_int = 3;
|
||||
|
||||
// sys/_time.h
|
||||
pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 2;
|
||||
pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 4;
|
||||
pub const CLOCK_UPTIME: ::clockid_t = 5;
|
||||
pub const CLOCK_BOOTTIME: ::clockid_t = 6;
|
||||
|
||||
pub const LC_COLLATE_MASK: ::c_int = 1 << ::LC_COLLATE;
|
||||
pub const LC_CTYPE_MASK: ::c_int = 1 << ::LC_CTYPE;
|
||||
pub const LC_MONETARY_MASK: ::c_int = 1 << ::LC_MONETARY;
|
||||
@@ -1671,6 +1897,25 @@ pub const LC_ALL_MASK: ::c_int = (1 << _LC_LAST) - 2;
|
||||
|
||||
pub const LC_GLOBAL_LOCALE: ::locale_t = -1isize as ::locale_t;
|
||||
|
||||
// sys/reboot.h
|
||||
pub const RB_ASKNAME: ::c_int = 0x00001;
|
||||
pub const RB_SINGLE: ::c_int = 0x00002;
|
||||
pub const RB_NOSYNC: ::c_int = 0x00004;
|
||||
pub const RB_HALT: ::c_int = 0x00008;
|
||||
pub const RB_INITNAME: ::c_int = 0x00010;
|
||||
pub const RB_KDB: ::c_int = 0x00040;
|
||||
pub const RB_RDONLY: ::c_int = 0x00080;
|
||||
pub const RB_DUMP: ::c_int = 0x00100;
|
||||
pub const RB_MINIROOT: ::c_int = 0x00200;
|
||||
pub const RB_CONFIG: ::c_int = 0x00400;
|
||||
pub const RB_TIMEBAD: ::c_int = 0x00800;
|
||||
pub const RB_POWERDOWN: ::c_int = 0x01000;
|
||||
pub const RB_SERCONS: ::c_int = 0x02000;
|
||||
pub const RB_USERREQ: ::c_int = 0x04000;
|
||||
pub const RB_RESET: ::c_int = 0x08000;
|
||||
pub const RB_GOODRANDOM: ::c_int = 0x10000;
|
||||
pub const RB_UNHIBERNATE: ::c_int = 0x20000;
|
||||
|
||||
const_fn! {
|
||||
{const} fn _ALIGN(p: usize) -> usize {
|
||||
(p + _ALIGNBYTES) & !_ALIGNBYTES
|
||||
@@ -1683,7 +1928,7 @@ f! {
|
||||
.offset(_ALIGN(::mem::size_of::<::cmsghdr>()) as isize)
|
||||
}
|
||||
|
||||
pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
pub {const} fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
|
||||
_ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length
|
||||
}
|
||||
|
||||
@@ -1709,6 +1954,19 @@ f! {
|
||||
(_ALIGN(::mem::size_of::<::cmsghdr>()) + _ALIGN(length as usize))
|
||||
as ::c_uint
|
||||
}
|
||||
|
||||
pub fn major(dev: ::dev_t) -> ::c_uint{
|
||||
((dev as ::c_uint) >> 8) & 0xff
|
||||
}
|
||||
|
||||
pub fn minor(dev: ::dev_t) -> ::c_uint {
|
||||
let dev = dev as ::c_uint;
|
||||
let mut res = 0;
|
||||
res |= (dev) & 0xff;
|
||||
res |= ((dev) & 0xffff0000) >> 8;
|
||||
|
||||
res
|
||||
}
|
||||
}
|
||||
|
||||
safe_f! {
|
||||
@@ -1742,11 +2000,6 @@ safe_f! {
|
||||
extern "C" {
|
||||
pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int;
|
||||
pub fn settimeofday(tp: *const ::timeval, tz: *const ::timezone) -> ::c_int;
|
||||
pub fn execvpe(
|
||||
file: *const ::c_char,
|
||||
argv: *const *const ::c_char,
|
||||
envp: *const *const ::c_char,
|
||||
) -> ::c_int;
|
||||
pub fn pledge(promises: *const ::c_char, execpromises: *const ::c_char) -> ::c_int;
|
||||
pub fn unveil(path: *const ::c_char, permissions: *const ::c_char) -> ::c_int;
|
||||
pub fn strtonum(
|
||||
@@ -1790,6 +2043,7 @@ extern "C" {
|
||||
attr: *const ::pthread_attr_t,
|
||||
guardsize: *mut ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int;
|
||||
pub fn pthread_attr_getstack(
|
||||
attr: *const ::pthread_attr_t,
|
||||
stackaddr: *mut *mut ::c_void,
|
||||
@@ -1822,7 +2076,6 @@ extern "C" {
|
||||
newp: *mut ::c_void,
|
||||
newlen: ::size_t,
|
||||
) -> ::c_int;
|
||||
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
|
||||
pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int;
|
||||
pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int;
|
||||
pub fn ptrace(request: ::c_int, pid: ::pid_t, addr: caddr_t, data: ::c_int) -> ::c_int;
|
||||
@@ -1888,6 +2141,10 @@ extern "C" {
|
||||
timeout: *const ::timespec,
|
||||
uaddr2: *mut u32,
|
||||
) -> ::c_int;
|
||||
|
||||
pub fn mimmutable(addr: *mut ::c_void, len: ::size_t) -> ::c_int;
|
||||
|
||||
pub fn reboot(mode: ::c_int) -> ::c_int;
|
||||
}
|
||||
|
||||
#[link(name = "execinfo")]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user