aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-15 21:44:23 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-15 21:44:23 +0000
commit8540355c8bc40ad43b21b017e3611d69e1ff60c3 (patch)
treeb63bb3578266975d3cce7442325eaa5bdf684362
parent51504e5e611f95b5184e357954ab66d6e6a93b1c (diff)
parent499f0d3705a592b671b4bf436a98c2a072500b76 (diff)
downloadlibc-8540355c8bc40ad43b21b017e3611d69e1ff60c3.tar.gz
Change-Id: I1aa4839dc6a8445e2b74ed7dd48d6366c866e649
-rw-r--r--.cargo_vcs_info.json7
-rw-r--r--Android.bp85
-rw-r--r--Cargo.toml48
-rw-r--r--Cargo.toml.orig5
-rw-r--r--LICENSE-APACHE25
-rw-r--r--METADATA10
-rw-r--r--TEST_MAPPING225
-rw-r--r--build.rs18
-rw-r--r--cargo2android.json8
-rw-r--r--patches/if_tun.diff25
-rw-r--r--patches/missing-002.diff13
-rw-r--r--patches/missing.diff (renamed from patches/missing-001.diff)18
-rw-r--r--src/fuchsia/mod.rs7
-rw-r--r--src/lib.rs12
-rw-r--r--src/macros.rs22
-rw-r--r--src/solid/aarch64.rs4
-rw-r--r--src/solid/arm.rs4
-rw-r--r--src/solid/mod.rs904
-rw-r--r--src/unix/bsd/apple/b32/mod.rs4
-rw-r--r--src/unix/bsd/apple/b64/aarch64/mod.rs8
-rw-r--r--src/unix/bsd/apple/b64/x86_64/mod.rs68
-rw-r--r--src/unix/bsd/apple/mod.rs1726
-rw-r--r--src/unix/bsd/freebsdlike/dragonfly/mod.rs410
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/aarch64.rs125
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs245
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs281
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs5
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs336
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs5
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs34
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs548
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs5
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/mod.rs3062
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/powerpc.rs47
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/riscv64.rs154
-rw-r--r--src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs126
-rw-r--r--src/unix/bsd/freebsdlike/mod.rs172
-rw-r--r--src/unix/bsd/mod.rs29
-rw-r--r--src/unix/bsd/netbsdlike/mod.rs25
-rw-r--r--src/unix/bsd/netbsdlike/netbsd/aarch64.rs81
-rw-r--r--src/unix/bsd/netbsdlike/netbsd/mod.rs675
-rw-r--r--src/unix/bsd/netbsdlike/netbsd/x86_64.rs17
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/aarch64.rs14
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/arm.rs16
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/mips64.rs8
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/mod.rs145
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/powerpc.rs16
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/powerpc64.rs16
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/riscv64.rs16
-rw-r--r--src/unix/bsd/netbsdlike/openbsd/x86_64.rs106
-rw-r--r--src/unix/haiku/b32.rs17
-rw-r--r--src/unix/haiku/b64.rs17
-rw-r--r--src/unix/haiku/mod.rs195
-rw-r--r--src/unix/haiku/native.rs233
-rw-r--r--src/unix/haiku/x86_64.rs264
-rw-r--r--src/unix/linux_like/android/b32/arm.rs2
-rw-r--r--src/unix/linux_like/android/b32/mod.rs13
-rw-r--r--src/unix/linux_like/android/b64/aarch64/mod.rs13
-rw-r--r--src/unix/linux_like/android/b64/mod.rs14
-rw-r--r--src/unix/linux_like/android/b64/x86_64/mod.rs1
-rw-r--r--src/unix/linux_like/android/mod.rs373
-rw-r--r--src/unix/linux_like/emscripten/mod.rs22
-rw-r--r--src/unix/linux_like/linux/align.rs4
-rw-r--r--src/unix/linux_like/linux/arch/generic/mod.rs134
-rw-r--r--src/unix/linux_like/linux/arch/mips/mod.rs116
-rw-r--r--src/unix/linux_like/linux/arch/powerpc/mod.rs100
-rw-r--r--src/unix/linux_like/linux/arch/sparc/mod.rs110
-rw-r--r--src/unix/linux_like/linux/gnu/b32/arm/align.rs46
-rw-r--r--src/unix/linux_like/linux/gnu/b32/arm/mod.rs92
-rw-r--r--src/unix/linux_like/linux/gnu/b32/m68k/align.rs7
-rw-r--r--src/unix/linux_like/linux/gnu/b32/m68k/mod.rs855
-rw-r--r--src/unix/linux_like/linux/gnu/b32/mips/mod.rs55
-rw-r--r--src/unix/linux_like/linux/gnu/b32/mod.rs27
-rw-r--r--src/unix/linux_like/linux/gnu/b32/powerpc.rs46
-rw-r--r--src/unix/linux_like/linux/gnu/b32/riscv32/align.rs44
-rw-r--r--src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs60
-rw-r--r--src/unix/linux_like/linux/gnu/b32/sparc/mod.rs56
-rw-r--r--src/unix/linux_like/linux/gnu/b32/x86/mod.rs68
-rw-r--r--src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs81
-rw-r--r--src/unix/linux_like/linux/gnu/b64/mips64/mod.rs58
-rw-r--r--src/unix/linux_like/linux/gnu/b64/mod.rs27
-rw-r--r--src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs56
-rw-r--r--src/unix/linux_like/linux/gnu/b64/riscv64/align.rs44
-rw-r--r--src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs74
-rw-r--r--src/unix/linux_like/linux/gnu/b64/s390x.rs58
-rw-r--r--src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs61
-rw-r--r--src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs73
-rw-r--r--src/unix/linux_like/linux/gnu/mod.rs524
-rw-r--r--src/unix/linux_like/linux/mod.rs470
-rw-r--r--src/unix/linux_like/linux/musl/b32/arm/mod.rs122
-rw-r--r--src/unix/linux_like/linux/musl/b32/hexagon.rs90
-rw-r--r--src/unix/linux_like/linux/musl/b32/mips/mod.rs51
-rw-r--r--src/unix/linux_like/linux/musl/b32/mod.rs6
-rw-r--r--src/unix/linux_like/linux/musl/b32/powerpc.rs51
-rw-r--r--src/unix/linux_like/linux/musl/b32/x86/mod.rs51
-rw-r--r--src/unix/linux_like/linux/musl/b64/aarch64/mod.rs95
-rw-r--r--src/unix/linux_like/linux/musl/b64/mips64.rs49
-rw-r--r--src/unix/linux_like/linux/musl/b64/mod.rs3
-rw-r--r--src/unix/linux_like/linux/musl/b64/powerpc64.rs52
-rw-r--r--src/unix/linux_like/linux/musl/b64/riscv64/align.rs44
-rw-r--r--src/unix/linux_like/linux/musl/b64/riscv64/mod.rs741
-rw-r--r--src/unix/linux_like/linux/musl/b64/s390x.rs43
-rw-r--r--src/unix/linux_like/linux/musl/b64/x86_64/mod.rs54
-rw-r--r--src/unix/linux_like/linux/musl/mod.rs171
-rw-r--r--src/unix/linux_like/linux/no_align.rs4
-rw-r--r--src/unix/linux_like/linux/non_exhaustive.rs9
-rw-r--r--src/unix/linux_like/linux/uclibc/arm/mod.rs49
-rw-r--r--src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs2
-rw-r--r--src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs5
-rw-r--r--src/unix/linux_like/linux/uclibc/mips/mod.rs53
-rw-r--r--src/unix/linux_like/linux/uclibc/mod.rs176
-rw-r--r--src/unix/linux_like/linux/uclibc/x86_64/l4re.rs5
-rw-r--r--src/unix/linux_like/linux/uclibc/x86_64/mod.rs9
-rw-r--r--src/unix/linux_like/mod.rs215
-rw-r--r--src/unix/mod.rs40
-rw-r--r--src/unix/newlib/horizon/mod.rs194
-rw-r--r--src/unix/newlib/mod.rs95
-rw-r--r--src/unix/newlib/xtensa/mod.rs (renamed from src/unix/newlib/espidf/mod.rs)16
-rw-r--r--src/unix/redox/mod.rs164
-rw-r--r--src/unix/solarish/illumos.rs55
-rw-r--r--src/unix/solarish/mod.rs439
-rw-r--r--src/unix/solarish/x86.rs29
-rw-r--r--src/unix/solarish/x86_64.rs159
-rwxr-xr-x[-rw-r--r--]src/vxworks/mod.rs10
-rw-r--r--src/wasi.rs134
-rw-r--r--src/windows/mod.rs46
-rw-r--r--src/windows/msvc.rs (renamed from src/windows/msvc/mod.rs)7
127 files changed, 2522 insertions, 15491 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 4280cdd7..94ed93da 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,5 @@
{
"git": {
- "sha1": "abb9b4bb0528a218f23789456d5c1aa0715cace1"
- },
- "path_in_vcs": ""
-} \ No newline at end of file
+ "sha1": "3b185efb5ab36d25f4c1f87ce74ccce42ddd4743"
+ }
+}
diff --git a/Android.bp b/Android.bp
index bc01f772..2d649dee 100644
--- a/Android.bp
+++ b/Android.bp
@@ -37,12 +37,87 @@ license {
],
}
+rust_defaults {
+ name: "rust_libc_defaults",
+ crate_name: "libc",
+ srcs: ["src/lib.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ edition: "2015",
+ features: [
+ "default",
+ "extra_traits",
+ "std",
+ ],
+ cfgs: [
+ "freebsd11",
+ "libc_align",
+ "libc_cfg_target_vendor",
+ "libc_const_size_of",
+ "libc_core_cvoid",
+ "libc_packedN",
+ "libc_priv_mod_use",
+ "libc_union",
+ ],
+}
+
+rust_test_host {
+ name: "libc_host_test_src_lib",
+ defaults: ["rust_libc_defaults"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "libc_device_test_src_lib",
+ defaults: ["rust_libc_defaults"],
+}
+
+rust_defaults {
+ name: "rust_libc_defaults_const_fn",
+ crate_name: "const_fn",
+ srcs: ["tests/const_fn.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ edition: "2015",
+ features: [
+ "default",
+ "extra_traits",
+ "std",
+ ],
+ cfgs: [
+ "freebsd11",
+ "libc_align",
+ "libc_cfg_target_vendor",
+ "libc_const_size_of",
+ "libc_core_cvoid",
+ "libc_packedN",
+ "libc_priv_mod_use",
+ "libc_union",
+ ],
+ rustlibs: [
+ "liblibc",
+ ],
+}
+
+rust_test_host {
+ name: "libc_host_test_tests_const_fn",
+ defaults: ["rust_libc_defaults_const_fn"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "libc_device_test_tests_const_fn",
+ defaults: ["rust_libc_defaults_const_fn"],
+}
+
rust_library {
name: "liblibc",
host_supported: true,
crate_name: "libc",
- cargo_env_compat: true,
- cargo_pkg_version: "0.2.119",
srcs: ["src/lib.rs"],
edition: "2015",
features: [
@@ -56,20 +131,14 @@ rust_library {
"libc_cfg_target_vendor",
"libc_const_size_of",
"libc_core_cvoid",
- "libc_non_exhaustive",
"libc_packedN",
"libc_priv_mod_use",
- "libc_ptr_addr_of",
"libc_union",
],
apex_available: [
"//apex_available:platform",
- "com.android.bluetooth",
- "com.android.compos",
"com.android.resolv",
- "com.android.uwb",
"com.android.virt",
],
- vendor_available: true,
min_sdk_version: "29",
}
diff --git a/Cargo.toml b/Cargo.toml
index c3373314..20b6db46 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -3,50 +3,27 @@
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
-# to registry (e.g., crates.io) dependencies.
+# to registry (e.g., crates.io) dependencies
#
-# If you are reading this file be aware that the original Cargo.toml
-# will likely look very different (and much more reasonable).
-# See Cargo.toml.orig for the original contents.
+# If you believe there's an error in this file please file an
+# issue against the rust-lang/cargo repository. If you're
+# editing this file be aware that the upstream Cargo.toml
+# will likely look very different (and much more reasonable)
[package]
name = "libc"
-version = "0.2.119"
+version = "0.2.93"
authors = ["The Rust Project Developers"]
build = "build.rs"
-exclude = [
- "/ci/*",
- "/.github/*",
- "/.cirrus.yml",
- "/triagebot.toml",
-]
-description = """
-Raw FFI bindings to platform libraries like libc.
-"""
+exclude = ["/ci/*", "/.github/*", "/.cirrus.yml", "/triagebot.toml"]
+description = "Raw FFI bindings to platform libraries like libc.\n"
homepage = "https://github.com/rust-lang/libc"
documentation = "https://docs.rs/libc/"
readme = "README.md"
-keywords = [
- "libc",
- "ffi",
- "bindings",
- "operating",
- "system",
-]
-categories = [
- "external-ffi-bindings",
- "no-std",
- "os",
-]
+keywords = ["libc", "ffi", "bindings", "operating", "system"]
+categories = ["external-ffi-bindings", "no-std", "os"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/libc"
-
-[package.metadata.docs.rs]
-features = [
- "const-extern-fn",
- "extra_traits",
-]
-
[dependencies.rustc-std-workspace-core]
version = "1.0.0"
optional = true
@@ -56,9 +33,6 @@ align = []
const-extern-fn = []
default = ["std"]
extra_traits = []
-rustc-dep-of-std = [
- "align",
- "rustc-std-workspace-core",
-]
+rustc-dep-of-std = ["align", "rustc-std-workspace-core"]
std = []
use_std = ["std"]
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 70650d9a..84f2d298 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
[package]
name = "libc"
-version = "0.2.119"
+version = "0.2.93"
authors = ["The Rust Project Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
@@ -15,9 +15,6 @@ description = """
Raw FFI bindings to platform libraries like libc.
"""
-[package.metadata.docs.rs]
-features = ["const-extern-fn", "extra_traits"]
-
[dependencies]
rustc-std-workspace-core = { version = "1.0.0", optional = true }
diff --git a/LICENSE-APACHE b/LICENSE-APACHE
index 1b5ec8b7..16fe87b0 100644
--- a/LICENSE-APACHE
+++ b/LICENSE-APACHE
@@ -174,3 +174,28 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/METADATA b/METADATA
index 6facf272..5c67a7e6 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://static.crates.io/crates/libc/libc-0.2.119.crate"
+ value: "https://static.crates.io/crates/libc/libc-0.2.93.crate"
}
- version: "0.2.119"
+ version: "0.2.93"
license_type: NOTICE
last_upgrade_date {
- year: 2022
- month: 3
- day: 1
+ year: 2021
+ month: 4
+ day: 8
}
}
diff --git a/TEST_MAPPING b/TEST_MAPPING
index c2f4b666..b4302fbb 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -1,163 +1,183 @@
// Generated by update_crate_tests.py for tests that depend on this crate.
{
- "imports": [
+ "presubmit": [
{
- "path": "external/rust/crates/anyhow"
+ "name": "ZipFuseTest"
},
{
- "path": "external/rust/crates/base64"
+ "name": "anyhow_device_test_src_lib"
},
{
- "path": "external/rust/crates/cast"
+ "name": "anyhow_device_test_tests_test_autotrait"
},
{
- "path": "external/rust/crates/crc32fast"
+ "name": "anyhow_device_test_tests_test_boxed"
},
{
- "path": "external/rust/crates/crossbeam-deque"
+ "name": "anyhow_device_test_tests_test_chain"
},
{
- "path": "external/rust/crates/crossbeam-epoch"
+ "name": "anyhow_device_test_tests_test_context"
},
{
- "path": "external/rust/crates/crossbeam-queue"
+ "name": "anyhow_device_test_tests_test_convert"
},
{
- "path": "external/rust/crates/crossbeam-utils"
+ "name": "anyhow_device_test_tests_test_downcast"
},
{
- "path": "external/rust/crates/futures-util"
+ "name": "anyhow_device_test_tests_test_ffi"
},
{
- "path": "external/rust/crates/getrandom"
+ "name": "anyhow_device_test_tests_test_fmt"
},
{
- "path": "external/rust/crates/libsqlite3-sys"
+ "name": "anyhow_device_test_tests_test_macros"
},
{
- "path": "external/rust/crates/mio"
+ "name": "anyhow_device_test_tests_test_repr"
},
{
- "path": "external/rust/crates/num_cpus"
+ "name": "anyhow_device_test_tests_test_source"
},
{
- "path": "external/rust/crates/parking_lot_core"
+ "name": "authfs_device_test_src_lib"
},
{
- "path": "external/rust/crates/quiche"
+ "name": "crossbeam-epoch_device_test_src_lib"
},
{
- "path": "external/rust/crates/quickcheck"
+ "name": "crossbeam-epoch_device_test_tests_loom"
},
{
- "path": "external/rust/crates/rand_chacha"
+ "name": "crossbeam-utils_device_test_src_lib"
},
{
- "path": "external/rust/crates/rand_core"
+ "name": "crossbeam-utils_device_test_tests_atomic_cell"
},
{
- "path": "external/rust/crates/rand_xorshift"
+ "name": "crossbeam-utils_device_test_tests_cache_padded"
},
{
- "path": "external/rust/crates/regex"
+ "name": "crossbeam-utils_device_test_tests_parker"
},
{
- "path": "external/rust/crates/ring"
+ "name": "crossbeam-utils_device_test_tests_sharded_lock"
},
{
- "path": "external/rust/crates/ryu"
+ "name": "crossbeam-utils_device_test_tests_thread"
},
{
- "path": "external/rust/crates/shared_child"
+ "name": "crossbeam-utils_device_test_tests_wait_group"
},
{
- "path": "external/rust/crates/shared_library"
+ "name": "doh_unit_test"
},
{
- "path": "external/rust/crates/tinytemplate"
+ "name": "futures-util_device_test_src_lib"
},
{
- "path": "external/rust/crates/tinyvec"
+ "name": "getrandom_device_test_src_lib"
},
{
- "path": "external/rust/crates/tokio"
+ "name": "getrandom_device_test_tests_custom"
},
{
- "path": "external/rust/crates/tokio-test"
+ "name": "getrandom_device_test_tests_normal"
},
{
- "path": "external/rust/crates/unicode-xid"
+ "name": "getrandom_device_test_tests_rdrand"
},
{
- "path": "external/rust/crates/vulkano"
+ "name": "keystore2_crypto_test_rust"
},
{
- "path": "external/rust/crates/webpki"
- }
- ],
- "presubmit": [
+ "name": "keystore2_km_compat_test"
+ },
{
- "name": "ZipFuseTest"
+ "name": "keystore2_test"
},
{
- "name": "apkdmverity.test"
+ "name": "libbinder_rs-internal_test"
},
{
- "name": "authfs_device_test_src_lib"
+ "name": "libc_device_test_src_lib"
},
{
- "name": "diced_open_dice_cbor_test"
+ "name": "libc_device_test_tests_const_fn"
},
{
- "name": "diced_sample_inputs_test"
+ "name": "libsqlite3-sys_device_test_src_lib"
},
{
- "name": "diced_test"
+ "name": "libz-sys_device_test_src_lib"
},
{
- "name": "diced_utils_test"
+ "name": "parking_lot_core_device_test_src_lib"
},
{
- "name": "diced_vendor_test"
+ "name": "quiche_device_test_src_lib"
},
{
- "name": "doh_unit_test"
+ "name": "rand_core_device_test_src_lib"
},
{
- "name": "keystore2_crypto_test_rust"
+ "name": "rand_xorshift_device_test_src_lib"
},
{
- "name": "keystore2_km_compat_test"
+ "name": "rand_xorshift_device_test_tests_mod"
},
{
- "name": "keystore2_selinux_concurrency_test"
+ "name": "ring_device_test_src_lib",
+ "options": [
+ {
+ "test-timeout": "100000"
+ }
+ ]
},
{
- "name": "keystore2_test"
+ "name": "ring_device_test_tests_aead_tests"
},
{
- "name": "keystore2_test_utils_test"
+ "name": "ring_device_test_tests_agreement_tests"
},
{
- "name": "legacykeystore_test"
+ "name": "ring_device_test_tests_constant_time_tests"
},
{
- "name": "libapkverify.integration_test"
+ "name": "ring_device_test_tests_digest_tests",
+ "options": [
+ {
+ "test-timeout": "600000"
+ }
+ ]
},
{
- "name": "libapkverify.test"
+ "name": "ring_device_test_tests_ecdsa_tests"
},
{
- "name": "libbinder_rs-internal_test"
+ "name": "ring_device_test_tests_ed25519_tests"
+ },
+ {
+ "name": "ring_device_test_tests_hkdf_tests"
+ },
+ {
+ "name": "ring_device_test_tests_hmac_tests"
+ },
+ {
+ "name": "ring_device_test_tests_pbkdf2_tests"
},
{
- "name": "libcert_request_validator_tests"
+ "name": "ring_device_test_tests_quic_tests"
},
{
- "name": "libidsig.test"
+ "name": "ring_device_test_tests_rand_tests"
},
{
- "name": "microdroid_manager_test"
+ "name": "ring_device_test_tests_rsa_tests"
+ },
+ {
+ "name": "ring_device_test_tests_signature_tests"
},
{
"name": "rustBinderTest"
@@ -166,81 +186,118 @@
"name": "rustBinderTestService"
},
{
- "name": "virtualizationservice_device_test"
- }
- ],
- "presubmit-rust": [
+ "name": "shared_child_device_test_src_lib"
+ },
{
- "name": "ZipFuseTest"
+ "name": "tokio-test_device_test_src_lib"
},
{
- "name": "apkdmverity.test"
+ "name": "tokio-test_device_test_tests_block_on"
},
{
- "name": "authfs_device_test_src_lib"
+ "name": "tokio-test_device_test_tests_io"
},
{
- "name": "diced_open_dice_cbor_test"
+ "name": "tokio-test_device_test_tests_macros"
},
{
- "name": "diced_sample_inputs_test"
+ "name": "tokio_device_test_tests_buffered"
},
{
- "name": "diced_test"
+ "name": "tokio_device_test_tests_io_async_read"
},
{
- "name": "diced_utils_test"
+ "name": "tokio_device_test_tests_io_copy_bidirectional"
},
{
- "name": "diced_vendor_test"
+ "name": "tokio_device_test_tests_io_lines"
},
{
- "name": "doh_unit_test"
+ "name": "tokio_device_test_tests_io_mem_stream"
},
{
- "name": "keystore2_crypto_test_rust"
+ "name": "tokio_device_test_tests_io_read"
},
{
- "name": "keystore2_km_compat_test"
+ "name": "tokio_device_test_tests_io_read_buf"
},
{
- "name": "keystore2_selinux_concurrency_test"
+ "name": "tokio_device_test_tests_io_read_to_end"
},
{
- "name": "keystore2_test"
+ "name": "tokio_device_test_tests_io_take"
},
{
- "name": "keystore2_test_utils_test"
+ "name": "tokio_device_test_tests_io_write"
},
{
- "name": "legacykeystore_test"
+ "name": "tokio_device_test_tests_io_write_all"
},
{
- "name": "libapkverify.integration_test"
+ "name": "tokio_device_test_tests_io_write_buf"
},
{
- "name": "libapkverify.test"
+ "name": "tokio_device_test_tests_io_write_int"
},
{
- "name": "libbinder_rs-internal_test"
+ "name": "tokio_device_test_tests_macros_join"
},
{
- "name": "libcert_request_validator_tests"
+ "name": "tokio_device_test_tests_no_rt"
},
{
- "name": "libidsig.test"
+ "name": "tokio_device_test_tests_rt_basic"
},
{
- "name": "microdroid_manager_test"
+ "name": "tokio_device_test_tests_rt_threaded"
},
{
- "name": "rustBinderTest"
+ "name": "tokio_device_test_tests_sync_barrier"
},
{
- "name": "rustBinderTestService"
+ "name": "tokio_device_test_tests_sync_broadcast"
+ },
+ {
+ "name": "tokio_device_test_tests_sync_errors"
+ },
+ {
+ "name": "tokio_device_test_tests_sync_mpsc"
+ },
+ {
+ "name": "tokio_device_test_tests_sync_mutex_owned"
+ },
+ {
+ "name": "tokio_device_test_tests_sync_rwlock"
+ },
+ {
+ "name": "tokio_device_test_tests_sync_watch"
+ },
+ {
+ "name": "tokio_device_test_tests_task_local"
+ },
+ {
+ "name": "tokio_device_test_tests_task_local_set"
+ },
+ {
+ "name": "tokio_device_test_tests_tcp_accept"
+ },
+ {
+ "name": "tokio_device_test_tests_tcp_echo"
+ },
+ {
+ "name": "tokio_device_test_tests_tcp_into_std"
+ },
+ {
+ "name": "tokio_device_test_tests_tcp_shutdown"
+ },
+ {
+ "name": "tokio_device_test_tests_time_rt"
+ },
+ {
+ "name": "tokio_device_test_tests_uds_split"
},
{
- "name": "virtualizationservice_device_test"
+ "name": "vpnprofilestore_test"
}
]
}
diff --git a/build.rs b/build.rs
index 61acba64..9ebb67a8 100644
--- a/build.rs
+++ b/build.rs
@@ -11,6 +11,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 target = env::var("TARGET").unwrap();
if env::var("CARGO_FEATURE_USE_STD").is_ok() {
println!(
@@ -31,7 +32,6 @@ fn main() {
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"),
}
@@ -73,15 +73,6 @@ fn main() {
println!("cargo:rustc-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");
- }
-
- if rustc_minor_ver >= 51 || rustc_dep_of_std {
- println!("cargo:rustc-cfg=libc_ptr_addr_of");
- }
-
// #[thread_local] is currently unstable
if rustc_dep_of_std {
println!("cargo:rustc-cfg=libc_thread_local");
@@ -93,6 +84,12 @@ fn main() {
}
println!("cargo:rustc-cfg=libc_const_extern_fn");
}
+
+ // For unknown reason, libiconv can't be linked by adding #[link(name = iconv)] to
+ // a macOS-specific struct, so we do the linking here.
+ if target.contains("-apple-") {
+ println!("cargo:rustc-link-lib=iconv");
+ }
}
fn rustc_minor_nightly() -> Option<(u32, bool)> {
@@ -151,7 +148,6 @@ fn which_freebsd() -> Option<i32> {
s if s.starts_with("11") => Some(11),
s if s.starts_with("12") => Some(12),
s if s.starts_with("13") => Some(13),
- s if s.starts_with("14") => Some(14),
_ => None,
}
}
diff --git a/cargo2android.json b/cargo2android.json
index bbf55858..c2cbd410 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -1,10 +1,7 @@
{
"apex-available": [
"//apex_available:platform",
- "com.android.bluetooth",
- "com.android.compos",
"com.android.resolv",
- "com.android.uwb",
"com.android.virt"
],
"dependencies": true,
@@ -12,6 +9,5 @@
"features": "default,extra_traits,std",
"min-sdk-version": "29",
"run": true,
- "tests": true,
- "vendor-available": true
-}
+ "tests": true
+} \ No newline at end of file
diff --git a/patches/if_tun.diff b/patches/if_tun.diff
deleted file mode 100644
index 1e790763..00000000
--- a/patches/if_tun.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs
-index 236f57a4..fe2d2096 100644
---- a/src/unix/linux_like/android/mod.rs
-+++ b/src/unix/linux_like/android/mod.rs
-@@ -2168,9 +2168,20 @@ pub const NFT_TRACETYPE_RULE: ::c_int = 3;
- pub const NFT_NG_INCREMENTAL: ::c_int = 0;
- pub const NFT_NG_RANDOM: ::c_int = 1;
-
-+// bionic/libc/kernel/uapi/linux/if_tun.h
- pub const IFF_TUN: ::c_int = 0x0001;
- pub const IFF_TAP: ::c_int = 0x0002;
-+pub const IFF_NAPI: ::c_int = 0x0010;
-+pub const IFF_NAPI_FRAGS: ::c_int = 0x0020;
- pub const IFF_NO_PI: ::c_int = 0x1000;
-+pub const IFF_ONE_QUEUE: ::c_int = 0x2000;
-+pub const IFF_VNET_HDR: ::c_int = 0x4000;
-+pub const IFF_TUN_EXCL: ::c_int = 0x8000;
-+pub const IFF_MULTI_QUEUE: ::c_int = 0x0100;
-+pub const IFF_ATTACH_QUEUE: ::c_int = 0x0200;
-+pub const IFF_DETACH_QUEUE: ::c_int = 0x0400;
-+pub const IFF_PERSIST: ::c_int = 0x0800;
-+pub const IFF_NOFILTER: ::c_int = 0x1000;
-
- // start android/platform/bionic/libc/kernel/uapi/linux/if_ether.h
- // from https://android.googlesource.com/
diff --git a/patches/missing-002.diff b/patches/missing-002.diff
deleted file mode 100644
index 63696dcf..00000000
--- a/patches/missing-002.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs
-index 3ce6c952..762ea762 100644
---- a/src/unix/linux_like/android/mod.rs
-+++ b/src/unix/linux_like/android/mod.rs
-@@ -2437,6 +2437,8 @@ pub const PF_NFC: ::c_int = AF_NFC;
- pub const PF_VSOCK: ::c_int = AF_VSOCK;
-
- // sys/prctl.h
-+pub const PR_SET_PDEATHSIG: ::c_int = 1;
-+pub const PR_GET_PDEATHSIG: ::c_int = 2;
- pub const PR_GET_SECUREBITS: ::c_int = 27;
- pub const PR_SET_SECUREBITS: ::c_int = 28;
-
diff --git a/patches/missing-001.diff b/patches/missing.diff
index 71a1530e..2ff68841 100644
--- a/patches/missing-001.diff
+++ b/patches/missing.diff
@@ -54,7 +54,7 @@ diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mo
index d64a365e..541b40f3 100644
--- a/src/unix/linux_like/android/mod.rs
+++ b/src/unix/linux_like/android/mod.rs
-@@ -2348,6 +2348,10 @@ pub const AF_VSOCK: ::c_int = 40;
+@@ -2285,6 +2285,10 @@ pub const AF_VSOCK: ::c_int = 40;
pub const PF_NFC: ::c_int = AF_NFC;
pub const PF_VSOCK: ::c_int = AF_VSOCK;
@@ -62,17 +62,17 @@ index d64a365e..541b40f3 100644
+pub const PR_GET_SECUREBITS: ::c_int = 27;
+pub const PR_SET_SECUREBITS: ::c_int = 28;
+
- // sys/system_properties.h
- pub const PROP_VALUE_MAX: ::c_int = 92;
-
-@@ -2780,6 +2784,10 @@ extern "C" {
+ f! {
+ pub fn CMSG_NXTHDR(mhdr: *const msghdr,
+ cmsg: *const cmsghdr) -> *mut cmsghdr {
+@@ -2709,6 +2713,10 @@ extern "C" {
+ pub fn android_set_abort_message(msg: *const ::c_char);
pub fn gettid() -> ::pid_t;
-
++
+ pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
+
+ pub fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int;
-+
- pub fn __system_property_set(__name: *const ::c_char, __value: *const ::c_char) -> ::c_int;
- pub fn __system_property_get(__name: *const ::c_char, __value: *mut ::c_char) -> ::c_int;
+ }
+ cfg_if! {
diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs
index 99b7791b..616655a0 100644
--- a/src/fuchsia/mod.rs
+++ b/src/fuchsia/mod.rs
@@ -1313,7 +1313,6 @@ pub const SIG_DFL: sighandler_t = 0 as sighandler_t;
pub const SIG_IGN: sighandler_t = 1 as sighandler_t;
pub const SIG_ERR: sighandler_t = !0 as sighandler_t;
-pub const DT_UNKNOWN: u8 = 0;
pub const DT_FIFO: u8 = 1;
pub const DT_CHR: u8 = 2;
pub const DT_DIR: u8 = 4;
@@ -1769,10 +1768,8 @@ pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
pub const SOCK_RAW: ::c_int = 3;
pub const SOCK_RDM: ::c_int = 4;
-pub const IP_TOS: ::c_int = 1;
pub const IP_TTL: ::c_int = 2;
pub const IP_HDRINCL: ::c_int = 3;
-pub const IP_RECVTOS: ::c_int = 13;
pub const IP_FREEBIND: ::c_int = 15;
pub const IP_TRANSPARENT: ::c_int = 19;
pub const IP_MULTICAST_IF: ::c_int = 32;
@@ -2720,7 +2717,6 @@ pub const POSIX_MADV_DONTNEED: ::c_int = 4;
pub const RLIM_INFINITY: ::rlim_t = !0;
pub const RLIMIT_RTTIME: ::c_int = 15;
pub const RLIMIT_NLIMITS: ::c_int = 16;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const MAP_ANONYMOUS: ::c_int = MAP_ANON;
@@ -3159,7 +3155,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let fd = fd as usize;
let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
return ((*set).fds_bits[fd / size] & (1 << (fd % size))) != 0
@@ -3393,7 +3389,6 @@ extern "C" {
pub fn perror(s: *const c_char);
pub fn atoi(s: *const c_char) -> c_int;
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
- pub fn strtof(s: *const c_char, endp: *mut *mut c_char) -> c_float;
pub fn strtol(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_long;
pub fn strtoul(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulong;
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
diff --git a/src/lib.rs b/src/lib.rs
index 27e6530f..8879b1dc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -26,7 +26,7 @@
#![cfg_attr(feature = "rustc-dep-of-std", no_core)]
#![cfg_attr(
any(feature = "rustc-dep-of-std", target_os = "redox"),
- feature(static_nobundle, native_link_modifiers, native_link_modifiers_bundle)
+ feature(static_nobundle)
)]
#![cfg_attr(libc_const_extern_fn, feature(const_extern_fn))]
@@ -66,7 +66,7 @@ cfg_if! {
use core::clone::Clone;
#[doc(hidden)]
#[allow(unused_imports)]
- use core::marker::{Copy, Send, Sync};
+ use core::marker::Copy;
#[doc(hidden)]
#[allow(unused_imports)]
use core::option::Option;
@@ -88,7 +88,7 @@ cfg_if! {
pub use core::clone::Clone;
#[doc(hidden)]
#[allow(unused_imports)]
- pub use core::marker::{Copy, Send, Sync};
+ pub use core::marker::Copy;
#[doc(hidden)]
#[allow(unused_imports)]
pub use core::option::Option;
@@ -126,12 +126,6 @@ cfg_if! {
mod vxworks;
pub use vxworks::*;
- } else if #[cfg(target_os = "solid_asp3")] {
- mod fixed_width_ints;
- pub use fixed_width_ints::*;
-
- mod solid;
- pub use solid::*;
} else if #[cfg(unix)] {
mod fixed_width_ints;
pub use fixed_width_ints::*;
diff --git a/src/macros.rs b/src/macros.rs
index 9fb7f7a7..1871cfaf 100644
--- a/src/macros.rs
+++ b/src/macros.rs
@@ -307,13 +307,13 @@ macro_rules! align_const {
)*)
}
-// This macro is used to deprecate items that should be accessed via the mach2 crate
+// This macro is used to deprecate items that should be accessed via the mach crate
#[allow(unused_macros)]
macro_rules! deprecated_mach {
(pub const $id:ident: $ty:ty = $expr:expr;) => {
#[deprecated(
since = "0.2.55",
- note = "Use the `mach2` crate instead",
+ note = "Use the `mach` crate instead",
)]
#[allow(deprecated)]
pub const $id: $ty = $expr;
@@ -328,7 +328,7 @@ macro_rules! deprecated_mach {
(pub type $id:ident = $ty:ty;) => {
#[deprecated(
since = "0.2.55",
- note = "Use the `mach2` crate instead",
+ note = "Use the `mach` crate instead",
)]
#[allow(deprecated)]
pub type $id = $ty;
@@ -341,19 +341,3 @@ macro_rules! deprecated_mach {
)*
}
}
-
-#[allow(unused_macros)]
-#[cfg(not(libc_ptr_addr_of))]
-macro_rules! ptr_addr_of {
- ($place:expr) => {
- &$place
- };
-}
-
-#[allow(unused_macros)]
-#[cfg(libc_ptr_addr_of)]
-macro_rules! ptr_addr_of {
- ($place:expr) => {
- ::core::ptr::addr_of!($place)
- };
-}
diff --git a/src/solid/aarch64.rs b/src/solid/aarch64.rs
deleted file mode 100644
index ceabea39..00000000
--- a/src/solid/aarch64.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub type c_char = i8;
-pub type wchar_t = u32;
-pub type c_long = i64;
-pub type c_ulong = u64;
diff --git a/src/solid/arm.rs b/src/solid/arm.rs
deleted file mode 100644
index 04cc1542..00000000
--- a/src/solid/arm.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub type c_char = i8;
-pub type wchar_t = u32;
-pub type c_long = i32;
-pub type c_ulong = u32;
diff --git a/src/solid/mod.rs b/src/solid/mod.rs
deleted file mode 100644
index 670e430f..00000000
--- a/src/solid/mod.rs
+++ /dev/null
@@ -1,904 +0,0 @@
-//! Interface to the [SOLID] C library
-//!
-//! [SOLID]: https://solid.kmckk.com/
-
-pub type c_schar = i8;
-pub type c_uchar = u8;
-pub type c_short = i16;
-pub type c_ushort = u16;
-pub type c_int = i32;
-pub type c_uint = u32;
-pub type c_float = f32;
-pub type c_double = f64;
-pub type c_longlong = i64;
-pub type c_ulonglong = u64;
-pub type intmax_t = i64;
-pub type uintmax_t = u64;
-
-pub type uintptr_t = usize;
-pub type intptr_t = isize;
-pub type ptrdiff_t = isize;
-pub type size_t = ::uintptr_t;
-pub type ssize_t = ::intptr_t;
-
-pub type clock_t = c_uint;
-pub type time_t = i64;
-pub type clockid_t = c_int;
-pub type timer_t = c_int;
-pub type suseconds_t = c_int;
-pub type useconds_t = c_uint;
-
-pub type sighandler_t = size_t;
-
-// sys/ansi.h
-pub type __caddr_t = *mut c_char;
-pub type __gid_t = u32;
-pub type __in_addr_t = u32;
-pub type __in_port_t = u16;
-pub type __mode_t = u32;
-pub type __off_t = i64;
-pub type __pid_t = i32;
-pub type __sa_family_t = u8;
-pub type __socklen_t = c_uint;
-pub type __uid_t = u32;
-pub type __fsblkcnt_t = u64;
-pub type __fsfilcnt_t = u64;
-
-// locale.h
-pub type locale_t = usize;
-
-// nl_types.h
-pub type nl_item = c_long;
-
-// sys/types.h
-pub type __va_list = *mut c_char;
-pub type u_int8_t = u8;
-pub type u_int16_t = u16;
-pub type u_int32_t = u32;
-pub type u_int64_t = u64;
-pub type u_char = c_uchar;
-pub type u_short = c_ushort;
-pub type u_int = c_uint;
-pub type u_long = c_ulong;
-pub type unchar = c_uchar;
-pub type ushort = c_ushort;
-pub type uint = c_uint;
-pub type ulong = c_ulong;
-pub type u_quad_t = u64;
-pub type quad_t = i64;
-pub type qaddr_t = *mut quad_t;
-pub type longlong_t = i64;
-pub type u_longlong_t = u64;
-pub type blkcnt_t = i64;
-pub type blksize_t = i32;
-pub type fsblkcnt_t = __fsblkcnt_t;
-pub type fsfilcnt_t = __fsfilcnt_t;
-pub type caddr_t = __caddr_t;
-pub type daddr_t = i64;
-pub type dev_t = u64;
-pub type fixpt_t = u32;
-pub type gid_t = __gid_t;
-pub type idtype_t = c_int;
-pub type id_t = u32;
-pub type ino_t = u64;
-pub type key_t = c_long;
-pub type mode_t = __mode_t;
-pub type nlink_t = u32;
-pub type off_t = __off_t;
-pub type pid_t = __pid_t;
-pub type lwpid_t = i32;
-pub type rlim_t = u64;
-pub type segsz_t = i32;
-pub type swblk_t = i32;
-pub type mqd_t = c_int;
-pub type cpuid_t = c_ulong;
-pub type psetid_t = c_int;
-
-s! {
- // stat.h
- pub struct stat {
- pub st_dev: dev_t,
- pub st_ino: ino_t,
- pub st_mode: c_short,
- pub st_nlink: c_short,
- pub st_uid: c_short,
- pub st_gid: c_short,
- pub st_rdev: dev_t,
- pub st_size: off_t,
- pub st_atime: time_t,
- pub st_mtime: time_t,
- pub st_ctime: time_t,
- pub st_blksize: blksize_t,
- }
-
- // time.h
- pub struct tm {
- pub tm_sec: c_int,
- pub tm_min: c_int,
- pub tm_hour: c_int,
- pub tm_mday: c_int,
- pub tm_mon: c_int,
- pub tm_year: c_int,
- pub tm_wday: c_int,
- pub tm_yday: c_int,
- pub tm_isdst: c_int,
- pub tm_gmtoff: c_long,
- pub tm_zone: *mut c_char,
- }
-
- // stdlib.h
- pub struct qdiv_t {
- pub quot: quad_t,
- pub rem: quad_t,
- }
- pub struct lldiv_t {
- pub quot: c_longlong,
- pub rem: c_longlong,
- }
- pub struct div_t {
- pub quot: c_int,
- pub rem: c_int,
- }
- pub struct ldiv_t {
- pub quot: c_long,
- pub rem: c_long,
- }
-
- // locale.h
- pub struct lconv {
- pub decimal_point: *mut c_char,
- pub thousands_sep: *mut c_char,
- pub grouping: *mut c_char,
- pub int_curr_symbol: *mut c_char,
- pub currency_symbol: *mut c_char,
- pub mon_decimal_point: *mut c_char,
- pub mon_thousands_sep: *mut c_char,
- pub mon_grouping: *mut c_char,
- pub positive_sign: *mut c_char,
- pub negative_sign: *mut c_char,
- pub int_frac_digits: c_char,
- pub frac_digits: c_char,
- pub p_cs_precedes: c_char,
- pub p_sep_by_space: c_char,
- pub n_cs_precedes: c_char,
- pub n_sep_by_space: c_char,
- pub p_sign_posn: c_char,
- pub n_sign_posn: c_char,
- pub int_p_cs_precedes: c_char,
- pub int_n_cs_precedes: c_char,
- pub int_p_sep_by_space: c_char,
- pub int_n_sep_by_space: c_char,
- pub int_p_sign_posn: c_char,
- pub int_n_sign_posn: c_char,
- }
-
- pub struct iovec {
- pub iov_base: *mut c_void,
- pub iov_len: size_t,
- }
-
- pub struct timeval {
- pub tv_sec: c_long,
- pub tv_usec: c_long,
- }
-}
-
-pub const INT_MIN: c_int = -2147483648;
-pub const INT_MAX: c_int = 2147483647;
-
-pub const EXIT_FAILURE: c_int = 1;
-pub const EXIT_SUCCESS: c_int = 0;
-pub const RAND_MAX: c_int = 0x7fffffff;
-pub const EOF: c_int = -1;
-pub const SEEK_SET: c_int = 0;
-pub const SEEK_CUR: c_int = 1;
-pub const SEEK_END: c_int = 2;
-pub const _IOFBF: c_int = 0;
-pub const _IONBF: c_int = 2;
-pub const _IOLBF: c_int = 1;
-pub const BUFSIZ: c_uint = 1024;
-pub const FOPEN_MAX: c_uint = 20;
-pub const FILENAME_MAX: c_uint = 1024;
-
-pub const O_RDONLY: c_int = 1;
-pub const O_WRONLY: c_int = 2;
-pub const O_RDWR: c_int = 4;
-pub const O_APPEND: c_int = 8;
-pub const O_CREAT: c_int = 0x10;
-pub const O_EXCL: c_int = 0x400;
-pub const O_TEXT: c_int = 0x100;
-pub const O_BINARY: c_int = 0x200;
-pub const O_TRUNC: c_int = 0x20;
-pub const S_IEXEC: c_short = 0x0040;
-pub const S_IWRITE: c_short = 0x0080;
-pub const S_IREAD: c_short = 0x0100;
-pub const S_IFCHR: c_short = 0x2000;
-pub const S_IFDIR: c_short = 0x4000;
-pub const S_IFMT: c_short = 0o160000;
-pub const S_IFIFO: c_short = 0o0010000;
-pub const S_IFBLK: c_short = 0o0060000;
-pub const S_IFREG: c_short = 0o0100000;
-
-pub const LC_ALL: c_int = 0;
-pub const LC_COLLATE: c_int = 1;
-pub const LC_CTYPE: c_int = 2;
-pub const LC_MONETARY: c_int = 3;
-pub const LC_NUMERIC: c_int = 4;
-pub const LC_TIME: c_int = 5;
-pub const LC_MESSAGES: c_int = 6;
-pub const _LC_LAST: c_int = 7;
-
-pub const EPERM: c_int = 1;
-pub const ENOENT: c_int = 2;
-pub const ESRCH: c_int = 3;
-pub const EINTR: c_int = 4;
-pub const EIO: c_int = 5;
-pub const ENXIO: c_int = 6;
-pub const E2BIG: c_int = 7;
-pub const ENOEXEC: c_int = 8;
-pub const EBADF: c_int = 9;
-pub const ECHILD: c_int = 10;
-pub const EAGAIN: c_int = 11;
-pub const ENOMEM: c_int = 12;
-pub const EACCES: c_int = 13;
-pub const EFAULT: c_int = 14;
-pub const ENOTBLK: c_int = 15;
-pub const EBUSY: c_int = 16;
-pub const EEXIST: c_int = 17;
-pub const EXDEV: c_int = 18;
-pub const ENODEV: c_int = 19;
-pub const ENOTDIR: c_int = 20;
-pub const EISDIR: c_int = 21;
-pub const EINVAL: c_int = 22;
-pub const ENFILE: c_int = 23;
-pub const EMFILE: c_int = 24;
-pub const ENOTTY: c_int = 25;
-pub const ETXTBSY: c_int = 26;
-pub const EFBIG: c_int = 27;
-pub const ENOSPC: c_int = 28;
-pub const ESPIPE: c_int = 29;
-pub const EROFS: c_int = 30;
-pub const EMLINK: c_int = 31;
-pub const EPIPE: c_int = 32;
-pub const EDOM: c_int = 33;
-pub const ERANGE: c_int = 34;
-
-pub const EDEADLK: c_int = 35;
-pub const ENAMETOOLONG: c_int = 36;
-pub const ENOLCK: c_int = 37;
-pub const ENOSYS: c_int = 38;
-pub const ENOTEMPTY: c_int = 39;
-pub const ELOOP: c_int = 40;
-pub const EWOULDBLOCK: c_int = EAGAIN;
-pub const ENOMSG: c_int = 42;
-pub const EIDRM: c_int = 43;
-pub const ECHRNG: c_int = 44;
-pub const EL2NSYNC: c_int = 45;
-pub const EL3HLT: c_int = 46;
-pub const EL3RST: c_int = 47;
-pub const ELNRNG: c_int = 48;
-pub const EUNATCH: c_int = 49;
-pub const ENOCSI: c_int = 50;
-pub const EL2HLT: c_int = 51;
-pub const EBADE: c_int = 52;
-pub const EBADR: c_int = 53;
-pub const EXFULL: c_int = 54;
-pub const ENOANO: c_int = 55;
-pub const EBADRQC: c_int = 56;
-pub const EBADSLT: c_int = 57;
-
-pub const EDEADLOCK: c_int = EDEADLK;
-
-pub const EBFONT: c_int = 59;
-pub const ENOSTR: c_int = 60;
-pub const ENODATA: c_int = 61;
-pub const ETIME: c_int = 62;
-pub const ENOSR: c_int = 63;
-pub const ENONET: c_int = 64;
-pub const ENOPKG: c_int = 65;
-pub const EREMOTE: c_int = 66;
-pub const ENOLINK: c_int = 67;
-pub const EADV: c_int = 68;
-pub const ESRMNT: c_int = 69;
-pub const ECOMM: c_int = 70;
-pub const EPROTO: c_int = 71;
-pub const EMULTIHOP: c_int = 72;
-pub const EDOTDOT: c_int = 73;
-pub const EBADMSG: c_int = 74;
-pub const EOVERFLOW: c_int = 75;
-pub const ENOTUNIQ: c_int = 76;
-pub const EBADFD: c_int = 77;
-pub const EREMCHG: c_int = 78;
-pub const ELIBACC: c_int = 79;
-pub const ELIBBAD: c_int = 80;
-pub const ELIBSCN: c_int = 81;
-pub const ELIBMAX: c_int = 82;
-pub const ELIBEXEC: c_int = 83;
-pub const EILSEQ: c_int = 84;
-pub const ERESTART: c_int = 85;
-pub const ESTRPIPE: c_int = 86;
-pub const EUSERS: c_int = 87;
-pub const ENOTSOCK: c_int = 88;
-pub const EDESTADDRREQ: c_int = 89;
-pub const EMSGSIZE: c_int = 90;
-pub const EPROTOTYPE: c_int = 91;
-pub const ENOPROTOOPT: c_int = 92;
-pub const EPROTONOSUPPORT: c_int = 93;
-pub const ESOCKTNOSUPPORT: c_int = 94;
-pub const EOPNOTSUPP: c_int = 95;
-pub const EPFNOSUPPORT: c_int = 96;
-pub const EAFNOSUPPORT: c_int = 97;
-pub const EADDRINUSE: c_int = 98;
-pub const EADDRNOTAVAIL: c_int = 99;
-pub const ENETDOWN: c_int = 100;
-pub const ENETUNREACH: c_int = 101;
-pub const ENETRESET: c_int = 102;
-pub const ECONNABORTED: c_int = 103;
-pub const ECONNRESET: c_int = 104;
-pub const ENOBUFS: c_int = 105;
-pub const EISCONN: c_int = 106;
-pub const ENOTCONN: c_int = 107;
-pub const ESHUTDOWN: c_int = 108;
-pub const ETOOMANYREFS: c_int = 109;
-pub const ETIMEDOUT: c_int = 110;
-pub const ECONNREFUSED: c_int = 111;
-pub const EHOSTDOWN: c_int = 112;
-pub const EHOSTUNREACH: c_int = 113;
-pub const EALREADY: c_int = 114;
-pub const EINPROGRESS: c_int = 115;
-pub const ESTALE: c_int = 116;
-pub const EUCLEAN: c_int = 117;
-pub const ENOTNAM: c_int = 118;
-pub const ENAVAIL: c_int = 119;
-pub const EISNAM: c_int = 120;
-pub const EREMOTEIO: c_int = 121;
-pub const EDQUOT: c_int = 122;
-
-pub const ENOMEDIUM: c_int = 123;
-pub const EMEDIUMTYPE: c_int = 124;
-pub const ECANCELED: c_int = 125;
-pub const ENOKEY: c_int = 126;
-pub const EKEYEXPIRED: c_int = 127;
-pub const EKEYREVOKED: c_int = 128;
-pub const EKEYREJECTED: c_int = 129;
-
-pub const EOWNERDEAD: c_int = 130;
-pub const ENOTRECOVERABLE: c_int = 131;
-
-pub const ENOTSUP: c_int = 132;
-pub const EFTYPE: c_int = 133;
-
-// signal codes
-pub const SIGHUP: c_int = 1;
-pub const SIGINT: c_int = 2;
-pub const SIGQUIT: c_int = 3;
-pub const SIGILL: c_int = 4;
-pub const SIGTRAP: c_int = 5;
-pub const SIGABRT: c_int = 6;
-pub const SIGIOT: c_int = SIGABRT;
-pub const SIGEMT: c_int = 7;
-pub const SIGFPE: c_int = 8;
-pub const SIGKILL: c_int = 9;
-pub const SIGBUS: c_int = 10;
-pub const SIGSEGV: c_int = 11;
-pub const SIGSYS: c_int = 12;
-pub const SIGPIPE: c_int = 13;
-pub const SIGALRM: c_int = 14;
-pub const SIGTERM: c_int = 15;
-pub const SIGURG: c_int = 16;
-pub const SIGSTOP: c_int = 17;
-pub const SIGTSTP: c_int = 18;
-pub const SIGCONT: c_int = 19;
-pub const SIGCHLD: c_int = 20;
-pub const SIGTTIN: c_int = 21;
-pub const SIGTTOU: c_int = 22;
-pub const SIGIO: c_int = 23;
-pub const SIGXCPU: c_int = 24;
-pub const SIGXFSZ: c_int = 25;
-pub const SIGVTALRM: c_int = 26;
-pub const SIGPROF: c_int = 27;
-pub const SIGWINCH: c_int = 28;
-pub const SIGINFO: c_int = 29;
-pub const SIGUSR1: c_int = 30;
-pub const SIGUSR2: c_int = 31;
-pub const SIGPWR: c_int = 32;
-
-#[cfg_attr(feature = "extra_traits", derive(Debug))]
-pub enum FILE {}
-impl ::Copy for FILE {}
-impl ::Clone for FILE {
- fn clone(&self) -> FILE {
- *self
- }
-}
-#[cfg_attr(feature = "extra_traits", derive(Debug))]
-pub enum fpos_t {}
-impl ::Copy for fpos_t {}
-impl ::Clone for fpos_t {
- fn clone(&self) -> fpos_t {
- *self
- }
-}
-
-extern "C" {
- // ctype.h
- pub fn isalnum(c: c_int) -> c_int;
- pub fn isalpha(c: c_int) -> c_int;
- pub fn iscntrl(c: c_int) -> c_int;
- pub fn isdigit(c: c_int) -> c_int;
- pub fn isgraph(c: c_int) -> c_int;
- pub fn islower(c: c_int) -> c_int;
- pub fn isprint(c: c_int) -> c_int;
- pub fn ispunct(c: c_int) -> c_int;
- pub fn isspace(c: c_int) -> c_int;
- pub fn isupper(c: c_int) -> c_int;
- pub fn isxdigit(c: c_int) -> c_int;
- pub fn isblank(c: c_int) -> c_int;
- pub fn tolower(c: c_int) -> c_int;
- pub fn toupper(c: c_int) -> c_int;
-
- // stdio.h
- pub fn __get_stdio_file(fileno: c_int) -> *mut FILE;
- pub fn clearerr(arg1: *mut FILE);
- pub fn fclose(arg1: *mut FILE) -> c_int;
- pub fn feof(arg1: *mut FILE) -> c_int;
- pub fn ferror(arg1: *mut FILE) -> c_int;
- pub fn fflush(arg1: *mut FILE) -> c_int;
- pub fn fgetc(arg1: *mut FILE) -> c_int;
- pub fn fgets(arg1: *mut c_char, arg2: c_int, arg3: *mut FILE) -> *mut c_char;
- pub fn fopen(arg1: *const c_char, arg2: *const c_char) -> *mut FILE;
- pub fn fprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
- pub fn fputc(arg1: c_int, arg2: *mut FILE) -> c_int;
- pub fn fputs(arg1: *const c_char, arg2: *mut FILE) -> c_int;
- pub fn fread(arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
- pub fn freopen(arg1: *const c_char, arg2: *const c_char, arg3: *mut FILE) -> *mut FILE;
- pub fn fscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
- pub fn fseek(arg1: *mut FILE, arg2: c_long, arg3: c_int) -> c_int;
- pub fn ftell(arg1: *mut FILE) -> c_long;
- pub fn fwrite(arg1: *const c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
- pub fn getc(arg1: *mut FILE) -> c_int;
- pub fn getchar() -> c_int;
- pub fn perror(arg1: *const c_char);
- pub fn printf(arg1: *const c_char, ...) -> c_int;
- pub fn putc(arg1: c_int, arg2: *mut FILE) -> c_int;
- pub fn putchar(arg1: c_int) -> c_int;
- pub fn puts(arg1: *const c_char) -> c_int;
- pub fn remove(arg1: *const c_char) -> c_int;
- pub fn rewind(arg1: *mut FILE);
- pub fn scanf(arg1: *const c_char, ...) -> c_int;
- pub fn setbuf(arg1: *mut FILE, arg2: *mut c_char);
- pub fn setvbuf(arg1: *mut FILE, arg2: *mut c_char, arg3: c_int, arg4: size_t) -> c_int;
- pub fn sscanf(arg1: *const c_char, arg2: *const c_char, ...) -> c_int;
- pub fn tmpfile() -> *mut FILE;
- pub fn ungetc(arg1: c_int, arg2: *mut FILE) -> c_int;
- pub fn vfprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn vprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
- pub fn gets(arg1: *mut c_char) -> *mut c_char;
- pub fn sprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
- pub fn tmpnam(arg1: *const c_char) -> *mut c_char;
- pub fn vsprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn rename(arg1: *const c_char, arg2: *const c_char) -> c_int;
- pub fn asiprintf(arg1: *mut *mut c_char, arg2: *const c_char, ...) -> c_int;
- pub fn fiprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
- pub fn fiscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
- pub fn iprintf(arg1: *const c_char, ...) -> c_int;
- pub fn iscanf(arg1: *const c_char, ...) -> c_int;
- pub fn siprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
- pub fn siscanf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
- pub fn sniprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
- pub fn vasiprintf(arg1: *mut *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn vfiprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn vfiscanf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn viprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
- pub fn viscanf(arg1: *const c_char, arg2: __va_list) -> c_int;
- pub fn vsiprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn vsiscanf(arg1: *const c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn vsniprintf(
- arg1: *mut c_char,
- arg2: size_t,
- arg3: *const c_char,
- arg4: __va_list,
- ) -> c_int;
- pub fn vdiprintf(arg1: c_int, arg2: *const c_char, arg3: __va_list) -> c_int;
- pub fn diprintf(arg1: c_int, arg2: *const c_char, ...) -> c_int;
- pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> c_int;
- pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> c_int;
- pub fn fdopen(arg1: c_int, arg2: *const c_char) -> *mut FILE;
- pub fn fileno(arg1: *mut FILE) -> c_int;
- pub fn flockfile(arg1: *mut FILE);
- pub fn ftrylockfile(arg1: *mut FILE) -> c_int;
- pub fn funlockfile(arg1: *mut FILE);
- pub fn getc_unlocked(arg1: *mut FILE) -> c_int;
- pub fn getchar_unlocked() -> c_int;
- pub fn putc_unlocked(arg1: c_int, arg2: *mut FILE) -> c_int;
- pub fn putchar_unlocked(arg1: c_int) -> c_int;
- pub fn snprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
- pub fn vsnprintf(
- arg1: *mut c_char,
- arg2: size_t,
- arg3: *const c_char,
- arg4: __va_list,
- ) -> c_int;
- pub fn getw(arg1: *mut FILE) -> c_int;
- pub fn putw(arg1: c_int, arg2: *mut FILE) -> c_int;
- pub fn tempnam(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
- pub fn fseeko(stream: *mut FILE, offset: off_t, whence: c_int) -> c_int;
- pub fn ftello(stream: *mut FILE) -> off_t;
-
- // stdlib.h
- pub fn atof(arg1: *const c_char) -> f64;
- pub fn strtod(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
- pub fn drand48() -> f64;
- pub fn erand48(arg1: *mut c_ushort) -> f64;
- pub fn strtof(arg1: *const c_char, arg2: *mut *mut c_char) -> f32;
- pub fn strtold(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
- pub fn strtod_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
- pub fn strtof_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f32;
- pub fn strtold_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
- pub fn _Exit(arg1: c_int);
- pub fn abort();
- pub fn abs(arg1: c_int) -> c_int;
- pub fn atexit(arg1: ::Option<unsafe extern "C" fn()>) -> c_int;
- pub fn atoi(arg1: *const c_char) -> c_int;
- pub fn atol(arg1: *const c_char) -> c_long;
- pub fn itoa(arg1: c_int, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
- pub fn ltoa(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
- pub fn ultoa(arg1: c_ulong, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
- pub fn bsearch(
- arg1: *const c_void,
- arg2: *const c_void,
- arg3: size_t,
- arg4: size_t,
- arg5: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
- ) -> *mut c_void;
- pub fn calloc(arg1: size_t, arg2: size_t) -> *mut c_void;
- pub fn div(arg1: c_int, arg2: c_int) -> div_t;
- pub fn exit(arg1: c_int);
- pub fn free(arg1: *mut c_void);
- pub fn getenv(arg1: *const c_char) -> *mut c_char;
- pub fn labs(arg1: c_long) -> c_long;
- pub fn ldiv(arg1: c_long, arg2: c_long) -> ldiv_t;
- pub fn malloc(arg1: size_t) -> *mut c_void;
- pub fn qsort(
- arg1: *mut c_void,
- arg2: size_t,
- arg3: size_t,
- arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
- );
- pub fn rand() -> c_int;
- pub fn realloc(arg1: *mut c_void, arg2: size_t) -> *mut c_void;
- pub fn srand(arg1: c_uint);
- pub fn strtol(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_long;
- pub fn strtoul(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulong;
- pub fn mblen(arg1: *const c_char, arg2: size_t) -> c_int;
- pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> size_t;
- pub fn wctomb(arg1: *mut c_char, arg2: wchar_t) -> c_int;
- pub fn mbtowc(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> c_int;
- pub fn wcstombs(arg1: *mut c_char, arg2: *const wchar_t, arg3: size_t) -> size_t;
- pub fn rand_r(arg1: *mut c_uint) -> c_int;
- pub fn jrand48(arg1: *mut c_ushort) -> c_long;
- pub fn lcong48(arg1: *mut c_ushort);
- pub fn lrand48() -> c_long;
- pub fn mrand48() -> c_long;
- pub fn nrand48(arg1: *mut c_ushort) -> c_long;
- pub fn seed48(arg1: *mut c_ushort) -> *mut c_ushort;
- pub fn srand48(arg1: c_long);
- pub fn putenv(arg1: *mut c_char) -> c_int;
- pub fn a64l(arg1: *const c_char) -> c_long;
- pub fn l64a(arg1: c_long) -> *mut c_char;
- pub fn random() -> c_long;
- pub fn setstate(arg1: *mut c_char) -> *mut c_char;
- pub fn initstate(arg1: c_uint, arg2: *mut c_char, arg3: size_t) -> *mut c_char;
- pub fn srandom(arg1: c_uint);
- pub fn mkostemp(arg1: *mut c_char, arg2: c_int) -> c_int;
- pub fn mkostemps(arg1: *mut c_char, arg2: c_int, arg3: c_int) -> c_int;
- pub fn mkdtemp(arg1: *mut c_char) -> *mut c_char;
- pub fn mkstemp(arg1: *mut c_char) -> c_int;
- pub fn mktemp(arg1: *mut c_char) -> *mut c_char;
- pub fn atoll(arg1: *const c_char) -> c_longlong;
- pub fn llabs(arg1: c_longlong) -> c_longlong;
- pub fn lldiv(arg1: c_longlong, arg2: c_longlong) -> lldiv_t;
- pub fn strtoll(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_longlong;
- pub fn strtoull(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulonglong;
- pub fn aligned_alloc(arg1: size_t, arg2: size_t) -> *mut c_void;
- pub fn at_quick_exit(arg1: ::Option<unsafe extern "C" fn()>) -> c_int;
- pub fn quick_exit(arg1: c_int);
- pub fn setenv(arg1: *const c_char, arg2: *const c_char, arg3: c_int) -> c_int;
- pub fn unsetenv(arg1: *const c_char) -> c_int;
- pub fn humanize_number(
- arg1: *mut c_char,
- arg2: size_t,
- arg3: i64,
- arg4: *const c_char,
- arg5: c_int,
- arg6: c_int,
- ) -> c_int;
- pub fn dehumanize_number(arg1: *const c_char, arg2: *mut i64) -> c_int;
- pub fn getenv_r(arg1: *const c_char, arg2: *mut c_char, arg3: size_t) -> c_int;
- pub fn heapsort(
- arg1: *mut c_void,
- arg2: size_t,
- arg3: size_t,
- arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
- ) -> c_int;
- pub fn mergesort(
- arg1: *mut c_void,
- arg2: size_t,
- arg3: size_t,
- arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
- ) -> c_int;
- pub fn radixsort(
- arg1: *mut *const c_uchar,
- arg2: c_int,
- arg3: *const c_uchar,
- arg4: c_uint,
- ) -> c_int;
- pub fn sradixsort(
- arg1: *mut *const c_uchar,
- arg2: c_int,
- arg3: *const c_uchar,
- arg4: c_uint,
- ) -> c_int;
- pub fn getprogname() -> *const c_char;
- pub fn setprogname(arg1: *const c_char);
- pub fn qabs(arg1: quad_t) -> quad_t;
- pub fn strtoq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> quad_t;
- pub fn strtouq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> u_quad_t;
- pub fn strsuftoll(
- arg1: *const c_char,
- arg2: *const c_char,
- arg3: c_longlong,
- arg4: c_longlong,
- ) -> c_longlong;
- pub fn strsuftollx(
- arg1: *const c_char,
- arg2: *const c_char,
- arg3: c_longlong,
- arg4: c_longlong,
- arg5: *mut c_char,
- arg6: size_t,
- ) -> c_longlong;
- pub fn l64a_r(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> c_int;
- pub fn qdiv(arg1: quad_t, arg2: quad_t) -> qdiv_t;
- pub fn strtol_l(
- arg1: *const c_char,
- arg2: *mut *mut c_char,
- arg3: c_int,
- arg4: locale_t,
- ) -> c_long;
- pub fn strtoul_l(
- arg1: *const c_char,
- arg2: *mut *mut c_char,
- arg3: c_int,
- arg4: locale_t,
- ) -> c_ulong;
- pub fn strtoll_l(
- arg1: *const c_char,
- arg2: *mut *mut c_char,
- arg3: c_int,
- arg4: locale_t,
- ) -> c_longlong;
- pub fn strtoull_l(
- arg1: *const c_char,
- arg2: *mut *mut c_char,
- arg3: c_int,
- arg4: locale_t,
- ) -> c_ulonglong;
- pub fn strtoq_l(
- arg1: *const c_char,
- arg2: *mut *mut c_char,
- arg3: c_int,
- arg4: locale_t,
- ) -> quad_t;
- pub fn strtouq_l(
- arg1: *const c_char,
- arg2: *mut *mut c_char,
- arg3: c_int,
- arg4: locale_t,
- ) -> u_quad_t;
- pub fn _mb_cur_max_l(arg1: locale_t) -> size_t;
- pub fn mblen_l(arg1: *const c_char, arg2: size_t, arg3: locale_t) -> c_int;
- pub fn mbstowcs_l(
- arg1: *mut wchar_t,
- arg2: *const c_char,
- arg3: size_t,
- arg4: locale_t,
- ) -> size_t;
- pub fn wctomb_l(arg1: *mut c_char, arg2: wchar_t, arg3: locale_t) -> c_int;
- pub fn mbtowc_l(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t, arg4: locale_t)
- -> c_int;
- pub fn wcstombs_l(
- arg1: *mut c_char,
- arg2: *const wchar_t,
- arg3: size_t,
- arg4: locale_t,
- ) -> size_t;
-
- // string.h
- pub fn memchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
- pub fn memcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
- pub fn memcpy(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
- pub fn memmove(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
- pub fn memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
- pub fn strcat(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
- pub fn strchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
- pub fn strcmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
- pub fn strcoll(arg1: *const c_char, arg2: *const c_char) -> c_int;
- pub fn strcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
- pub fn strcspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
- pub fn strerror(arg1: c_int) -> *mut c_char;
- pub fn strlen(arg1: *const c_char) -> size_t;
- pub fn strncat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
- pub fn strncmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
- pub fn strncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
- pub fn strpbrk(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
- pub fn strrchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
- pub fn strspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
- pub fn strstr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
- pub fn strtok(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
- pub fn strtok_r(arg1: *mut c_char, arg2: *const c_char, arg3: *mut *mut c_char) -> *mut c_char;
- pub fn strerror_r(arg1: c_int, arg2: *mut c_char, arg3: size_t) -> c_int;
- pub fn strxfrm(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
- pub fn memccpy(
- arg1: *mut c_void,
- arg2: *const c_void,
- arg3: c_int,
- arg4: size_t,
- ) -> *mut c_void;
- pub fn strdup(arg1: *const c_char) -> *mut c_char;
- pub fn stpcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
- pub fn stpncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
- pub fn strnlen(arg1: *const c_char, arg2: size_t) -> size_t;
- pub fn memmem(
- arg1: *const c_void,
- arg2: size_t,
- arg3: *const c_void,
- arg4: size_t,
- ) -> *mut c_void;
- pub fn strcasestr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
- pub fn strlcat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
- pub fn strlcpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
- pub fn strsep(arg1: *mut *mut c_char, arg2: *const c_char) -> *mut c_char;
- pub fn stresep(arg1: *mut *mut c_char, arg2: *const c_char, arg3: c_int) -> *mut c_char;
- pub fn strndup(arg1: *const c_char, arg2: size_t) -> *mut c_char;
- pub fn memrchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
- pub fn explicit_memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
- pub fn consttime_memequal(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
- pub fn strcoll_l(arg1: *const c_char, arg2: *const c_char, arg3: locale_t) -> c_int;
- pub fn strxfrm_l(
- arg1: *mut c_char,
- arg2: *const c_char,
- arg3: size_t,
- arg4: locale_t,
- ) -> size_t;
- pub fn strerror_l(arg1: c_int, arg2: locale_t) -> *mut c_char;
-
- // strings.h
- pub fn bcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
- pub fn bcopy(arg1: *const c_void, arg2: *mut c_void, arg3: size_t);
- pub fn bzero(arg1: *mut c_void, arg2: size_t);
- pub fn ffs(arg1: c_int) -> c_int;
- pub fn popcount(arg1: c_uint) -> c_uint;
- pub fn popcountl(arg1: c_ulong) -> c_uint;
- pub fn popcountll(arg1: c_ulonglong) -> c_uint;
- pub fn popcount32(arg1: u32) -> c_uint;
- pub fn popcount64(arg1: u64) -> c_uint;
- pub fn rindex(arg1: *const c_char, arg2: c_int) -> *mut c_char;
- pub fn strcasecmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
- pub fn strncasecmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
-
- // signal.h
- pub fn signal(arg1: c_int, arg2: sighandler_t) -> sighandler_t;
- pub fn raise(arg1: c_int) -> c_int;
-
- // time.h
- pub fn asctime(arg1: *const tm) -> *mut c_char;
- pub fn clock() -> clock_t;
- pub fn ctime(arg1: *const time_t) -> *mut c_char;
- pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
- pub fn gmtime(arg1: *const time_t) -> *mut tm;
- pub fn localtime(arg1: *const time_t) -> *mut tm;
- pub fn time(arg1: *mut time_t) -> time_t;
- pub fn mktime(arg1: *mut tm) -> time_t;
- pub fn strftime(
- arg1: *mut c_char,
- arg2: size_t,
- arg3: *const c_char,
- arg4: *const tm,
- ) -> size_t;
- pub fn utime(arg1: *const c_char, arg2: *mut time_t) -> c_int;
- pub fn asctime_r(arg1: *const tm, arg2: *mut c_char) -> *mut c_char;
- pub fn ctime_r(arg1: *const time_t, arg2: *mut c_char) -> *mut c_char;
- pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
- pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
-
- // sys/stat.h
- pub fn stat(arg1: *const c_char, arg2: *mut stat) -> c_int;
- pub fn lstat(arg1: *const c_char, arg2: *mut stat) -> c_int;
- pub fn fstat(arg1: c_int, arg2: *mut stat) -> c_int;
- pub fn chmod(arg1: *const c_char, arg2: __mode_t) -> c_int;
- pub fn mkdir(arg1: *const c_char, arg2: __mode_t) -> c_int;
-
- // fcntl.h
- pub fn open(arg1: *const c_char, arg2: c_int, ...) -> c_int;
- pub fn creat(arg1: *const c_char, arg2: c_int) -> c_int;
- pub fn close(arg1: c_int) -> c_int;
- pub fn read(arg1: c_int, arg2: *mut c_void, arg3: c_int) -> c_int;
- pub fn write(arg1: c_int, arg2: *const c_void, arg3: c_int) -> c_int;
- pub fn unlink(arg1: *const c_char) -> c_int;
- pub fn tell(arg1: c_int) -> c_long;
- pub fn dup(arg1: c_int) -> c_int;
- pub fn dup2(arg1: c_int, arg2: c_int) -> c_int;
- pub fn access(arg1: *const c_char, arg2: c_int) -> c_int;
- pub fn rmdir(arg1: *const c_char) -> c_int;
- pub fn chdir(arg1: *const c_char) -> c_int;
- pub fn _exit(arg1: c_int);
- pub fn getwd(arg1: *mut c_char) -> *mut c_char;
- pub fn getcwd(arg1: *mut c_char, arg2: size_t) -> *mut c_char;
- pub static mut optarg: *mut c_char;
- pub static mut opterr: c_int;
- pub static mut optind: c_int;
- pub static mut optopt: c_int;
- pub static mut optreset: c_int;
- pub fn getopt(arg1: c_int, arg2: *mut *mut c_char, arg3: *const c_char) -> c_int;
- pub static mut suboptarg: *mut c_char;
- pub fn getsubopt(
- arg1: *mut *mut c_char,
- arg2: *const *mut c_char,
- arg3: *mut *mut c_char,
- ) -> c_int;
- pub fn fcntl(arg1: c_int, arg2: c_int, ...) -> c_int;
- pub fn getpid() -> pid_t;
- pub fn sleep(arg1: c_uint) -> c_uint;
- pub fn usleep(arg1: useconds_t) -> c_int;
-
- // locale.h
- pub fn localeconv() -> *mut lconv;
- pub fn setlocale(arg1: c_int, arg2: *const c_char) -> *mut c_char;
- pub fn duplocale(arg1: locale_t) -> locale_t;
- pub fn freelocale(arg1: locale_t);
- pub fn localeconv_l(arg1: locale_t) -> *mut lconv;
- pub fn newlocale(arg1: c_int, arg2: *const c_char, arg3: locale_t) -> locale_t;
-
- // langinfo.h
- pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
- pub fn nl_langinfo_l(item: ::nl_item, locale: locale_t) -> *mut ::c_char;
-
- // malloc.h
- pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
-
- // sys/types.h
- pub fn lseek(arg1: c_int, arg2: __off_t, arg3: c_int) -> __off_t;
-}
-
-cfg_if! {
- if #[cfg(libc_core_cvoid)] {
- pub use ::ffi::c_void;
- } else {
- // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help
- // enable more optimization opportunities around it recognizing things
- // like malloc/free.
- #[repr(u8)]
- #[allow(missing_copy_implementations)]
- #[allow(missing_debug_implementations)]
- pub enum c_void {
- // Two dummy variants so the #[repr] attribute can be used.
- #[doc(hidden)]
- __variant1,
- #[doc(hidden)]
- __variant2,
- }
- }
-}
-
-cfg_if! {
- if #[cfg(target_arch = "aarch64")] {
- mod aarch64;
- pub use self::aarch64::*;
- } else if #[cfg(any(target_arch = "arm"))] {
- mod arm;
- pub use self::arm::*;
- } else {
- // Unknown target_arch
- }
-}
diff --git a/src/unix/bsd/apple/b32/mod.rs b/src/unix/bsd/apple/b32/mod.rs
index 0f1722f9..9248e3ad 100644
--- a/src/unix/bsd/apple/b32/mod.rs
+++ b/src/unix/bsd/apple/b32/mod.rs
@@ -43,10 +43,6 @@ s! {
pub bh_datalen: u32,
pub bh_hdrlen: ::c_ushort,
}
-
- pub struct malloc_zone_t {
- __private: [::uintptr_t; 18], // FIXME: keeping private for now
- }
}
s_no_extra_traits! {
diff --git a/src/unix/bsd/apple/b64/aarch64/mod.rs b/src/unix/bsd/apple/b64/aarch64/mod.rs
index 67f0f703..83b62e97 100644
--- a/src/unix/bsd/apple/b64/aarch64/mod.rs
+++ b/src/unix/bsd/apple/b64/aarch64/mod.rs
@@ -1,13 +1,5 @@
pub type boolean_t = ::c_int;
-s! {
- pub struct malloc_zone_t {
- __private: [::uintptr_t; 18], // FIXME: needs arm64 auth pointers support
- }
-}
-
-pub const CLOCK_UPTIME_RAW: ::clockid_t = 8;
-
cfg_if! {
if #[cfg(libc_align)] {
mod align;
diff --git a/src/unix/bsd/apple/b64/x86_64/mod.rs b/src/unix/bsd/apple/b64/x86_64/mod.rs
index 653650c2..07866665 100644
--- a/src/unix/bsd/apple/b64/x86_64/mod.rs
+++ b/src/unix/bsd/apple/b64/x86_64/mod.rs
@@ -102,74 +102,6 @@ s! {
pub struct __darwin_xmm_reg {
pub __xmm_reg: [::c_char; 16],
}
-
- pub struct malloc_introspection_t {
- _private: [::uintptr_t; 16], // FIXME: keeping private for now
- }
-
- pub struct malloc_zone_t {
- _reserved1: *mut ::c_void,
- _reserved2: *mut ::c_void,
- pub size: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- ptr: *const ::c_void,
- ) -> ::size_t>,
- pub malloc: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- size: ::size_t,
- ) -> *mut ::c_void>,
- pub calloc: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- num_items: ::size_t,
- size: ::size_t,
- ) -> *mut ::c_void>,
- pub valloc: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- size: ::size_t
- ) -> *mut ::c_void>,
- pub free: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- ptr: *mut ::c_void
- )>,
- pub realloc: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- ptr: *mut ::c_void,
- size: ::size_t,
- ) -> *mut ::c_void>,
- pub destroy: ::Option<unsafe extern "C" fn(zone: *mut malloc_zone_t)>,
- pub zone_name: *const ::c_char,
- pub batch_malloc: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- size: ::size_t,
- results: *mut *mut ::c_void,
- num_requested: ::c_uint,
- ) -> ::c_uint>,
- pub batch_free: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- to_be_freed: *mut *mut ::c_void,
- num_to_be_freed: ::c_uint,
- )>,
- pub introspect: *mut malloc_introspection_t,
- pub version: ::c_uint,
- pub memalign: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- alignment: ::size_t,
- size: ::size_t,
- ) -> *mut ::c_void>,
- pub free_definite_size: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- ptr: *mut ::c_void,
- size: ::size_t
- )>,
- pub pressure_relief: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- goal: ::size_t,
- ) -> ::size_t>,
- pub claimed_address: ::Option<unsafe extern "C" fn(
- zone: *mut malloc_zone_t,
- ptr: *mut ::c_void,
- ) -> ::boolean_t>,
- }
}
cfg_if! {
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index 5d10a003..6d776924 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -28,15 +28,6 @@ pub type cpu_type_t = integer_t;
pub type cpu_subtype_t = integer_t;
pub type natural_t = u32;
pub type mach_msg_type_number_t = natural_t;
-pub type kern_return_t = ::c_int;
-pub type uuid_t = [u8; 16];
-pub type task_info_t = *mut integer_t;
-pub type host_info_t = *mut integer_t;
-pub type task_flavor_t = natural_t;
-pub type rusage_info_t = *mut ::c_void;
-pub type vm_offset_t = ::uintptr_t;
-pub type vm_size_t = ::uintptr_t;
-pub type vm_address_t = vm_offset_t;
pub type posix_spawnattr_t = *mut ::c_void;
pub type posix_spawn_file_actions_t = *mut ::c_void;
@@ -47,22 +38,7 @@ pub type sae_associd_t = u32;
pub type sae_connid_t = u32;
pub type mach_port_t = ::c_uint;
-pub type host_t = ::c_uint;
-pub type host_flavor_t = integer_t;
-pub type host_info64_t = *mut integer_t;
pub type processor_flavor_t = ::c_int;
-pub type thread_flavor_t = natural_t;
-pub type thread_inspect_t = ::mach_port_t;
-pub type policy_t = ::c_int;
-pub type mach_vm_address_t = u64;
-pub type mach_vm_offset_t = u64;
-pub type mach_vm_size_t = u64;
-pub type vm_map_t = ::mach_port_t;
-pub type mem_entry_name_port_t = ::mach_port_t;
-pub type memory_object_t = ::mach_port_t;
-pub type memory_object_offset_t = ::c_ulonglong;
-pub type vm_inherit_t = ::c_uint;
-pub type vm_prot_t = ::c_int;
pub type iconv_t = *mut ::c_void;
@@ -77,61 +53,9 @@ pub type processor_set_load_info_t = *mut processor_set_load_info;
pub type processor_info_t = *mut integer_t;
pub type processor_info_array_t = *mut integer_t;
-pub type mach_task_basic_info_data_t = mach_task_basic_info;
-pub type mach_task_basic_info_t = *mut mach_task_basic_info;
-pub type task_thread_times_info_data_t = task_thread_times_info;
-pub type task_thread_times_info_t = *mut task_thread_times_info;
-
-pub type thread_info_t = *mut integer_t;
-pub type thread_basic_info_t = *mut thread_basic_info;
-pub type thread_basic_info_data_t = thread_basic_info;
-pub type thread_identifier_info_t = *mut thread_identifier_info;
-pub type thread_identifier_info_data_t = thread_identifier_info;
-pub type thread_extended_info_t = *mut thread_extended_info;
-pub type thread_extended_info_data_t = thread_extended_info;
-
-pub type thread_t = ::mach_port_t;
-pub type thread_policy_flavor_t = natural_t;
-pub type thread_policy_t = *mut integer_t;
-pub type thread_latency_qos_t = integer_t;
-pub type thread_throughput_qos_t = integer_t;
-pub type thread_standard_policy_data_t = thread_standard_policy;
-pub type thread_standard_policy_t = *mut thread_standard_policy;
-pub type thread_extended_policy_data_t = thread_extended_policy;
-pub type thread_extended_policy_t = *mut thread_extended_policy;
-pub type thread_time_constraint_policy_data_t = thread_time_constraint_policy;
-pub type thread_time_constraint_policy_t = *mut thread_time_constraint_policy;
-pub type thread_precedence_policy_data_t = thread_precedence_policy;
-pub type thread_precedence_policy_t = *mut thread_precedence_policy;
-pub type thread_affinity_policy_data_t = thread_affinity_policy;
-pub type thread_affinity_policy_t = *mut thread_affinity_policy;
-pub type thread_background_policy_data_t = thread_background_policy;
-pub type thread_background_policy_t = *mut thread_background_policy;
-pub type thread_latency_qos_policy_data_t = thread_latency_qos_policy;
-pub type thread_latency_qos_policy_t = *mut thread_latency_qos_policy;
-pub type thread_throughput_qos_policy_data_t = thread_throughput_qos_policy;
-pub type thread_throughput_qos_policy_t = *mut thread_throughput_qos_policy;
-
-pub type pthread_introspection_hook_t =
- extern "C" fn(event: ::c_uint, thread: ::pthread_t, addr: *mut ::c_void, size: ::size_t);
-
-pub type vm_statistics_t = *mut vm_statistics;
-pub type vm_statistics_data_t = vm_statistics;
-pub type vm_statistics64_t = *mut vm_statistics64;
-pub type vm_statistics64_data_t = vm_statistics64;
-
-pub type task_t = ::mach_port_t;
-
-pub type sysdir_search_path_enumeration_state = ::c_uint;
-
-pub type CCStatus = i32;
-pub type CCCryptorStatus = i32;
-pub type CCRNGStatus = ::CCCryptorStatus;
-
-pub type copyfile_state_t = *mut ::c_void;
-pub type copyfile_flags_t = u32;
-
deprecated_mach! {
+ pub type vm_prot_t = ::c_int;
+ pub type vm_size_t = ::uintptr_t;
pub type mach_timebase_info_data_t = mach_timebase_info;
}
@@ -144,86 +68,12 @@ impl ::Clone for timezone {
}
}
-#[cfg_attr(feature = "extra_traits", derive(Debug))]
-#[repr(u32)]
-pub enum qos_class_t {
- QOS_CLASS_USER_INTERACTIVE = 0x21,
- QOS_CLASS_USER_INITIATED = 0x19,
- QOS_CLASS_DEFAULT = 0x15,
- QOS_CLASS_UTILITY = 0x11,
- QOS_CLASS_BACKGROUND = 0x09,
- QOS_CLASS_UNSPECIFIED = 0x00,
-}
-impl ::Copy for qos_class_t {}
-impl ::Clone for qos_class_t {
- fn clone(&self) -> qos_class_t {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug))]
-#[repr(u32)]
-pub enum sysdir_search_path_directory_t {
- SYSDIR_DIRECTORY_APPLICATION = 1,
- SYSDIR_DIRECTORY_DEMO_APPLICATION = 2,
- SYSDIR_DIRECTORY_DEVELOPER_APPLICATION = 3,
- SYSDIR_DIRECTORY_ADMIN_APPLICATION = 4,
- SYSDIR_DIRECTORY_LIBRARY = 5,
- SYSDIR_DIRECTORY_DEVELOPER = 6,
- SYSDIR_DIRECTORY_USER = 7,
- SYSDIR_DIRECTORY_DOCUMENTATION = 8,
- SYSDIR_DIRECTORY_DOCUMENT = 9,
- SYSDIR_DIRECTORY_CORESERVICE = 10,
- SYSDIR_DIRECTORY_AUTOSAVED_INFORMATION = 11,
- SYSDIR_DIRECTORY_DESKTOP = 12,
- SYSDIR_DIRECTORY_CACHES = 13,
- SYSDIR_DIRECTORY_APPLICATION_SUPPORT = 14,
- SYSDIR_DIRECTORY_DOWNLOADS = 15,
- SYSDIR_DIRECTORY_INPUT_METHODS = 16,
- SYSDIR_DIRECTORY_MOVIES = 17,
- SYSDIR_DIRECTORY_MUSIC = 18,
- SYSDIR_DIRECTORY_PICTURES = 19,
- SYSDIR_DIRECTORY_PRINTER_DESCRIPTION = 20,
- SYSDIR_DIRECTORY_SHARED_PUBLIC = 21,
- SYSDIR_DIRECTORY_PREFERENCE_PANES = 22,
- SYSDIR_DIRECTORY_ALL_APPLICATIONS = 100,
- SYSDIR_DIRECTORY_ALL_LIBRARIES = 101,
-}
-impl ::Copy for sysdir_search_path_directory_t {}
-impl ::Clone for sysdir_search_path_directory_t {
- fn clone(&self) -> sysdir_search_path_directory_t {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug))]
-#[repr(u32)]
-pub enum sysdir_search_path_domain_mask_t {
- SYSDIR_DOMAIN_MASK_USER = (1 << 0),
- SYSDIR_DOMAIN_MASK_LOCAL = (1 << 1),
- SYSDIR_DOMAIN_MASK_NETWORK = (1 << 2),
- SYSDIR_DOMAIN_MASK_SYSTEM = (1 << 3),
- SYSDIR_DOMAIN_MASK_ALL = 0x0ffff,
-}
-impl ::Copy for sysdir_search_path_domain_mask_t {}
-impl ::Clone for sysdir_search_path_domain_mask_t {
- fn clone(&self) -> sysdir_search_path_domain_mask_t {
- *self
- }
-}
-
s! {
pub struct ip_mreq {
pub imr_multiaddr: in_addr,
pub imr_interface: in_addr,
}
- pub struct ip_mreqn {
- pub imr_multiaddr: in_addr,
- pub imr_address: in_addr,
- pub imr_ifindex: ::c_int,
- }
-
pub struct aiocb {
pub aio_fildes: ::c_int,
pub aio_offset: ::off_t,
@@ -263,7 +113,7 @@ s! {
#[deprecated(
since = "0.2.55",
- note = "Use the `mach2` crate instead",
+ note = "Use the `mach` crate instead",
)]
pub struct mach_timebase_info {
pub numer: u32,
@@ -531,7 +381,7 @@ s! {
#[deprecated(
since = "0.2.55",
- note = "Use the `mach2` crate instead",
+ note = "Use the `mach` crate instead",
)]
pub struct mach_header {
pub magic: u32,
@@ -545,7 +395,7 @@ s! {
#[deprecated(
since = "0.2.55",
- note = "Use the `mach2` crate instead",
+ note = "Use the `mach` crate instead",
)]
pub struct mach_header_64 {
pub magic: u32,
@@ -703,265 +553,6 @@ s! {
pub tai: ::c_long,
pub time_state: ::c_int,
}
-
- pub struct thread_standard_policy {
- pub no_data: natural_t,
- }
-
- pub struct thread_extended_policy {
- pub timeshare: boolean_t,
- }
-
- pub struct thread_time_constraint_policy {
- pub period: u32,
- pub computation: u32,
- pub constraint: u32,
- pub preemptible: boolean_t,
- }
-
- pub struct thread_precedence_policy {
- pub importance: integer_t,
- }
-
- pub struct thread_affinity_policy {
- pub affinity_tag: integer_t,
- }
-
- pub struct thread_background_policy {
- pub priority: integer_t,
- }
-
- pub struct thread_latency_qos_policy {
- pub thread_latency_qos_tier: thread_latency_qos_t,
- }
-
- pub struct thread_throughput_qos_policy {
- pub thread_throughput_qos_tier: thread_throughput_qos_t,
- }
-
- // malloc/malloc.h
- pub struct malloc_statistics_t {
- pub blocks_in_use: ::c_uint,
- pub size_in_use: ::size_t,
- pub max_size_in_use: ::size_t,
- pub size_allocated: ::size_t,
- }
-
- pub struct mstats {
- pub bytes_total: ::size_t,
- pub chunks_used: ::size_t,
- pub bytes_used: ::size_t,
- pub chunks_free: ::size_t,
- pub bytes_free: ::size_t,
- }
-
- pub struct vm_range_t {
- pub address: ::vm_address_t,
- pub size: ::vm_size_t,
- }
-
- // sched.h
- pub struct sched_param {
- pub sched_priority: ::c_int,
- __opaque: [::c_char; 4],
- }
-
- pub struct vinfo_stat {
- pub vst_dev: u32,
- pub vst_mode: u16,
- pub vst_nlink: u16,
- pub vst_ino: u64,
- pub vst_uid: ::uid_t,
- pub vst_gid: ::gid_t,
- pub vst_atime: i64,
- pub vst_atimensec: i64,
- pub vst_mtime: i64,
- pub vst_mtimensec: i64,
- pub vst_ctime: i64,
- pub vst_ctimensec: i64,
- pub vst_birthtime: i64,
- pub vst_birthtimensec: i64,
- pub vst_size: ::off_t,
- pub vst_blocks: i64,
- pub vst_blksize: i32,
- pub vst_flags: u32,
- pub vst_gen: u32,
- pub vst_rdev: u32,
- pub vst_qspare: [i64; 2],
- }
-
- pub struct vnode_info {
- pub vi_stat: vinfo_stat,
- pub vi_type: ::c_int,
- pub vi_pad: ::c_int,
- pub vi_fsid: ::fsid_t,
- }
-
- pub struct vnode_info_path {
- pub vip_vi: vnode_info,
- // Normally it's `vip_path: [::c_char; MAXPATHLEN]` but because libc supports an old rustc
- // version, we go around this limitation like this.
- pub vip_path: [[::c_char; 32]; 32],
- }
-
- pub struct proc_vnodepathinfo {
- pub pvi_cdir: vnode_info_path,
- pub pvi_rdir: vnode_info_path,
- }
-
- pub struct vm_statistics {
- pub free_count: natural_t,
- pub active_count: natural_t,
- pub inactive_count: natural_t,
- pub wire_count: natural_t,
- pub zero_fill_count: natural_t,
- pub reactivations: natural_t,
- pub pageins: natural_t,
- pub pageouts: natural_t,
- pub faults: natural_t,
- pub cow_faults: natural_t,
- pub lookups: natural_t,
- pub hits: natural_t,
- pub purgeable_count: natural_t,
- pub purges: natural_t,
- pub speculative_count: natural_t,
- }
-
- pub struct task_thread_times_info {
- pub user_time: time_value_t,
- pub system_time: time_value_t,
- }
-
- pub struct rusage_info_v0 {
- pub ri_uuid: [u8; 16],
- pub ri_user_time: u64,
- pub ri_system_time: u64,
- pub ri_pkg_idle_wkups: u64,
- pub ri_interrupt_wkups: u64,
- pub ri_pageins: u64,
- pub ri_wired_size: u64,
- pub ri_resident_size: u64,
- pub ri_phys_footprint: u64,
- pub ri_proc_start_abstime: u64,
- pub ri_proc_exit_abstime: u64,
- }
-
- pub struct rusage_info_v1 {
- pub ri_uuid: [u8; 16],
- pub ri_user_time: u64,
- pub ri_system_time: u64,
- pub ri_pkg_idle_wkups: u64,
- pub ri_interrupt_wkups: u64,
- pub ri_pageins: u64,
- pub ri_wired_size: u64,
- pub ri_resident_size: u64,
- pub ri_phys_footprint: u64,
- pub ri_proc_start_abstime: u64,
- pub ri_proc_exit_abstime: u64,
- pub ri_child_user_time: u64,
- pub ri_child_system_time: u64,
- pub ri_child_pkg_idle_wkups: u64,
- pub ri_child_interrupt_wkups: u64,
- pub ri_child_pageins: u64,
- pub ri_child_elapsed_abstime: u64,
- }
-
- pub struct rusage_info_v2 {
- pub ri_uuid: [u8; 16],
- pub ri_user_time: u64,
- pub ri_system_time: u64,
- pub ri_pkg_idle_wkups: u64,
- pub ri_interrupt_wkups: u64,
- pub ri_pageins: u64,
- pub ri_wired_size: u64,
- pub ri_resident_size: u64,
- pub ri_phys_footprint: u64,
- pub ri_proc_start_abstime: u64,
- pub ri_proc_exit_abstime: u64,
- pub ri_child_user_time: u64,
- pub ri_child_system_time: u64,
- pub ri_child_pkg_idle_wkups: u64,
- pub ri_child_interrupt_wkups: u64,
- pub ri_child_pageins: u64,
- pub ri_child_elapsed_abstime: u64,
- pub ri_diskio_bytesread: u64,
- pub ri_diskio_byteswritten: u64,
- }
-
- pub struct rusage_info_v3 {
- pub ri_uuid: [u8; 16],
- pub ri_user_time: u64,
- pub ri_system_time: u64,
- pub ri_pkg_idle_wkups: u64,
- pub ri_interrupt_wkups: u64,
- pub ri_pageins: u64,
- pub ri_wired_size: u64,
- pub ri_resident_size: u64,
- pub ri_phys_footprint: u64,
- pub ri_proc_start_abstime: u64,
- pub ri_proc_exit_abstime: u64,
- pub ri_child_user_time: u64,
- pub ri_child_system_time: u64,
- pub ri_child_pkg_idle_wkups: u64,
- pub ri_child_interrupt_wkups: u64,
- pub ri_child_pageins: u64,
- pub ri_child_elapsed_abstime: u64,
- pub ri_diskio_bytesread: u64,
- pub ri_diskio_byteswritten: u64,
- pub ri_cpu_time_qos_default: u64,
- pub ri_cpu_time_qos_maintenance: u64,
- pub ri_cpu_time_qos_background: u64,
- pub ri_cpu_time_qos_utility: u64,
- pub ri_cpu_time_qos_legacy: u64,
- pub ri_cpu_time_qos_user_initiated: u64,
- pub ri_cpu_time_qos_user_interactive: u64,
- pub ri_billed_system_time: u64,
- pub ri_serviced_system_time: u64,
- }
-
- pub struct rusage_info_v4 {
- pub ri_uuid: [u8; 16],
- pub ri_user_time: u64,
- pub ri_system_time: u64,
- pub ri_pkg_idle_wkups: u64,
- pub ri_interrupt_wkups: u64,
- pub ri_pageins: u64,
- pub ri_wired_size: u64,
- pub ri_resident_size: u64,
- pub ri_phys_footprint: u64,
- pub ri_proc_start_abstime: u64,
- pub ri_proc_exit_abstime: u64,
- pub ri_child_user_time: u64,
- pub ri_child_system_time: u64,
- pub ri_child_pkg_idle_wkups: u64,
- pub ri_child_interrupt_wkups: u64,
- pub ri_child_pageins: u64,
- pub ri_child_elapsed_abstime: u64,
- pub ri_diskio_bytesread: u64,
- pub ri_diskio_byteswritten: u64,
- pub ri_cpu_time_qos_default: u64,
- pub ri_cpu_time_qos_maintenance: u64,
- pub ri_cpu_time_qos_background: u64,
- pub ri_cpu_time_qos_utility: u64,
- pub ri_cpu_time_qos_legacy: u64,
- pub ri_cpu_time_qos_user_initiated: u64,
- pub ri_cpu_time_qos_user_interactive: u64,
- pub ri_billed_system_time: u64,
- pub ri_serviced_system_time: u64,
- pub ri_logical_writes: u64,
- pub ri_lifetime_max_phys_footprint: u64,
- pub ri_instructions: u64,
- pub ri_cycles: u64,
- pub ri_billed_energy: u64,
- pub ri_serviced_energy: u64,
- pub ri_interval_max_phys_footprint: u64,
- pub ri_runnable_time: u64,
- }
-
- pub struct image_offset {
- pub uuid: ::uuid_t,
- pub offset: u32,
- }
}
s_no_extra_traits! {
@@ -1109,135 +700,6 @@ s_no_extra_traits! {
pub load_average: integer_t,
pub mach_factor: integer_t,
}
-
- pub struct time_value_t {
- pub seconds: integer_t,
- pub microseconds: integer_t,
- }
-
- pub struct thread_basic_info {
- pub user_time: time_value_t,
- pub system_time: time_value_t,
- pub cpu_usage: ::integer_t,
- pub policy: ::policy_t,
- pub run_state: ::integer_t,
- pub flags: ::integer_t,
- pub suspend_count: ::integer_t,
- pub sleep_time: ::integer_t,
- }
-
- pub struct thread_identifier_info {
- pub thread_id: u64,
- pub thread_handle: u64,
- pub dispatch_qaddr: u64,
- }
-
- pub struct thread_extended_info {
- pub pth_user_time: u64,
- pub pth_system_time: u64,
- pub pth_cpu_usage: i32,
- pub pth_policy: i32,
- pub pth_run_state: i32,
- pub pth_flags: i32,
- pub pth_sleep_time: i32,
- pub pth_curpri: i32,
- pub pth_priority: i32,
- pub pth_maxpriority: i32,
- pub pth_name: [::c_char; MAXTHREADNAMESIZE],
- }
-
- #[cfg_attr(libc_packedN, repr(packed(4)))]
- pub struct if_data64 {
- pub ifi_type: ::c_uchar,
- pub ifi_typelen: ::c_uchar,
- pub ifi_physical: ::c_uchar,
- pub ifi_addrlen: ::c_uchar,
- pub ifi_hdrlen: ::c_uchar,
- pub ifi_recvquota: ::c_uchar,
- pub ifi_xmitquota: ::c_uchar,
- pub ifi_unused1: ::c_uchar,
- pub ifi_mtu: u32,
- pub ifi_metric: u32,
- pub ifi_baudrate: u64,
- pub ifi_ipackets: u64,
- pub ifi_ierrors: u64,
- pub ifi_opackets: u64,
- pub ifi_oerrors: u64,
- pub ifi_collisions: u64,
- pub ifi_ibytes: u64,
- pub ifi_obytes: u64,
- pub ifi_imcasts: u64,
- pub ifi_omcasts: u64,
- pub ifi_iqdrops: u64,
- pub ifi_noproto: u64,
- pub ifi_recvtiming: u32,
- pub ifi_xmittiming: u32,
- #[cfg(any(target_arch = "arm", target_arch = "x86"))]
- pub ifi_lastchange: ::timeval,
- #[cfg(not(any(target_arch = "arm", target_arch = "x86")))]
- pub ifi_lastchange: timeval32,
- }
-
- #[cfg_attr(libc_packedN, repr(packed(4)))]
- pub struct if_msghdr2 {
- pub ifm_msglen: ::c_ushort,
- pub ifm_version: ::c_uchar,
- pub ifm_type: ::c_uchar,
- pub ifm_addrs: ::c_int,
- pub ifm_flags: ::c_int,
- pub ifm_index: ::c_ushort,
- pub ifm_snd_len: ::c_int,
- pub ifm_snd_maxlen: ::c_int,
- pub ifm_snd_drops: ::c_int,
- pub ifm_timer: ::c_int,
- pub ifm_data: if_data64,
- }
-
- #[cfg_attr(libc_packedN, repr(packed(8)))]
- pub struct vm_statistics64 {
- pub free_count: natural_t,
- pub active_count: natural_t,
- pub inactive_count: natural_t,
- pub wire_count: natural_t,
- pub zero_fill_count: u64,
- pub reactivations: u64,
- pub pageins: u64,
- pub pageouts: u64,
- pub faults: u64,
- pub cow_faults: u64,
- pub lookups: u64,
- pub hits: u64,
- pub purges: u64,
- pub purgeable_count: natural_t,
- pub speculative_count: natural_t,
- pub decompressions: u64,
- pub compressions: u64,
- pub swapins: u64,
- pub swapouts: u64,
- pub compressor_page_count: natural_t,
- pub throttled_count: natural_t,
- pub external_page_count: natural_t,
- pub internal_page_count: natural_t,
- pub total_uncompressed_pages_in_compressor: u64,
- }
-
- #[cfg_attr(libc_packedN, repr(packed(4)))]
- pub struct mach_task_basic_info {
- pub virtual_size: mach_vm_size_t,
- pub resident_size: mach_vm_size_t,
- pub resident_size_max: mach_vm_size_t,
- pub user_time: time_value_t,
- pub system_time: time_value_t,
- pub policy: ::policy_t,
- pub suspend_count: integer_t,
- }
-
- #[cfg_attr(libc_packedN, repr(packed(4)))]
- pub struct log2phys {
- pub l2p_flags: ::c_uint,
- pub l2p_contigbytes: ::off_t,
- pub l2p_devoffset: ::off_t,
- }
}
impl siginfo_t {
@@ -1952,573 +1414,6 @@ cfg_if! {
self.mach_factor.hash(state);
}
}
-
- impl PartialEq for time_value_t {
- fn eq(&self, other: &time_value_t) -> bool {
- self.seconds == other.seconds
- && self.microseconds == other.microseconds
- }
- }
- impl Eq for time_value_t {}
- impl ::fmt::Debug for time_value_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("time_value_t")
- .field("seconds", &self.seconds)
- .field("microseconds", &self.microseconds)
- .finish()
- }
- }
- impl ::hash::Hash for time_value_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.seconds.hash(state);
- self.microseconds.hash(state);
- }
- }
- impl PartialEq for thread_basic_info {
- fn eq(&self, other: &thread_basic_info) -> bool {
- self.user_time == other.user_time
- && self.system_time == other.system_time
- && self.cpu_usage == other.cpu_usage
- && self.policy == other.policy
- && self.run_state == other.run_state
- && self.flags == other.flags
- && self.suspend_count == other.suspend_count
- && self.sleep_time == other.sleep_time
- }
- }
- impl Eq for thread_basic_info {}
- impl ::fmt::Debug for thread_basic_info {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("thread_basic_info")
- .field("user_time", &self.user_time)
- .field("system_time", &self.system_time)
- .field("cpu_usage", &self.cpu_usage)
- .field("policy", &self.policy)
- .field("run_state", &self.run_state)
- .field("flags", &self.flags)
- .field("suspend_count", &self.suspend_count)
- .field("sleep_time", &self.sleep_time)
- .finish()
- }
- }
- impl ::hash::Hash for thread_basic_info {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.user_time.hash(state);
- self.system_time.hash(state);
- self.cpu_usage.hash(state);
- self.policy.hash(state);
- self.run_state.hash(state);
- self.flags.hash(state);
- self.suspend_count.hash(state);
- self.sleep_time.hash(state);
- }
- }
- impl PartialEq for thread_extended_info {
- fn eq(&self, other: &thread_extended_info) -> bool {
- self.pth_user_time == other.pth_user_time
- && self.pth_system_time == other.pth_system_time
- && self.pth_cpu_usage == other.pth_cpu_usage
- && self.pth_policy == other.pth_policy
- && self.pth_run_state == other.pth_run_state
- && self.pth_flags == other.pth_flags
- && self.pth_sleep_time == other.pth_sleep_time
- && self.pth_curpri == other.pth_curpri
- && self.pth_priority == other.pth_priority
- && self.pth_maxpriority == other.pth_maxpriority
- && self.pth_name
- .iter()
- .zip(other.pth_name.iter())
- .all(|(a,b)| a == b)
- }
- }
- impl Eq for thread_extended_info {}
- impl ::fmt::Debug for thread_extended_info {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("proc_threadinfo")
- .field("pth_user_time", &self.pth_user_time)
- .field("pth_system_time", &self.pth_system_time)
- .field("pth_cpu_usage", &self.pth_cpu_usage)
- .field("pth_policy", &self.pth_policy)
- .field("pth_run_state", &self.pth_run_state)
- .field("pth_flags", &self.pth_flags)
- .field("pth_sleep_time", &self.pth_sleep_time)
- .field("pth_curpri", &self.pth_curpri)
- .field("pth_priority", &self.pth_priority)
- .field("pth_maxpriority", &self.pth_maxpriority)
- // FIXME: .field("pth_name", &self.pth_name)
- .finish()
- }
- }
- impl ::hash::Hash for thread_extended_info {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.pth_user_time.hash(state);
- self.pth_system_time.hash(state);
- self.pth_cpu_usage.hash(state);
- self.pth_policy.hash(state);
- self.pth_run_state.hash(state);
- self.pth_flags.hash(state);
- self.pth_sleep_time.hash(state);
- self.pth_curpri.hash(state);
- self.pth_priority.hash(state);
- self.pth_maxpriority.hash(state);
- self.pth_name.hash(state);
- }
- }
- impl PartialEq for thread_identifier_info {
- fn eq(&self, other: &thread_identifier_info) -> bool {
- self.thread_id == other.thread_id
- && self.thread_handle == other.thread_handle
- && self.dispatch_qaddr == other.dispatch_qaddr
- }
- }
- impl Eq for thread_identifier_info {}
- impl ::fmt::Debug for thread_identifier_info {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("thread_identifier_info")
- .field("thread_id", &self.thread_id)
- .field("thread_handle", &self.thread_handle)
- .field("dispatch_qaddr", &self.dispatch_qaddr)
- .finish()
- }
- }
- impl ::hash::Hash for thread_identifier_info {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.thread_id.hash(state);
- self.thread_handle.hash(state);
- self.dispatch_qaddr.hash(state);
- }
- }
- impl PartialEq for if_data64 {
- fn eq(&self, other: &if_data64) -> bool {
- self.ifi_type == other.ifi_type &&
- self.ifi_typelen == other.ifi_typelen &&
- self.ifi_physical == other.ifi_physical &&
- self.ifi_addrlen == other.ifi_addrlen &&
- self.ifi_hdrlen == other.ifi_hdrlen &&
- self.ifi_recvquota == other.ifi_recvquota &&
- self.ifi_xmitquota == other.ifi_xmitquota &&
- self.ifi_unused1 == other.ifi_unused1 &&
- self.ifi_mtu == other.ifi_mtu &&
- self.ifi_metric == other.ifi_metric &&
- self.ifi_baudrate == other.ifi_baudrate &&
- self.ifi_ipackets == other.ifi_ipackets &&
- self.ifi_ierrors == other.ifi_ierrors &&
- self.ifi_opackets == other.ifi_opackets &&
- self.ifi_oerrors == other.ifi_oerrors &&
- self.ifi_collisions == other.ifi_collisions &&
- self.ifi_ibytes == other.ifi_ibytes &&
- self.ifi_obytes == other.ifi_obytes &&
- self.ifi_imcasts == other.ifi_imcasts &&
- self.ifi_omcasts == other.ifi_omcasts &&
- self.ifi_iqdrops == other.ifi_iqdrops &&
- self.ifi_noproto == other.ifi_noproto &&
- self.ifi_recvtiming == other.ifi_recvtiming &&
- self.ifi_xmittiming == other.ifi_xmittiming &&
- self.ifi_lastchange == other.ifi_lastchange
- }
- }
- impl Eq for if_data64 {}
- impl ::fmt::Debug for if_data64 {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let ifi_type = self.ifi_type;
- let ifi_typelen = self.ifi_typelen;
- let ifi_physical = self.ifi_physical;
- let ifi_addrlen = self.ifi_addrlen;
- let ifi_hdrlen = self.ifi_hdrlen;
- let ifi_recvquota = self.ifi_recvquota;
- let ifi_xmitquota = self.ifi_xmitquota;
- let ifi_unused1 = self.ifi_unused1;
- let ifi_mtu = self.ifi_mtu;
- let ifi_metric = self.ifi_metric;
- let ifi_baudrate = self.ifi_baudrate;
- let ifi_ipackets = self.ifi_ipackets;
- let ifi_ierrors = self.ifi_ierrors;
- let ifi_opackets = self.ifi_opackets;
- let ifi_oerrors = self.ifi_oerrors;
- let ifi_collisions = self.ifi_collisions;
- let ifi_ibytes = self.ifi_ibytes;
- let ifi_obytes = self.ifi_obytes;
- let ifi_imcasts = self.ifi_imcasts;
- let ifi_omcasts = self.ifi_omcasts;
- let ifi_iqdrops = self.ifi_iqdrops;
- let ifi_noproto = self.ifi_noproto;
- let ifi_recvtiming = self.ifi_recvtiming;
- let ifi_xmittiming = self.ifi_xmittiming;
- let ifi_lastchange = self.ifi_lastchange;
- f.debug_struct("if_data64")
- .field("ifi_type", &ifi_type)
- .field("ifi_typelen", &ifi_typelen)
- .field("ifi_physical", &ifi_physical)
- .field("ifi_addrlen", &ifi_addrlen)
- .field("ifi_hdrlen", &ifi_hdrlen)
- .field("ifi_recvquota", &ifi_recvquota)
- .field("ifi_xmitquota", &ifi_xmitquota)
- .field("ifi_unused1", &ifi_unused1)
- .field("ifi_mtu", &ifi_mtu)
- .field("ifi_metric", &ifi_metric)
- .field("ifi_baudrate", &ifi_baudrate)
- .field("ifi_ipackets", &ifi_ipackets)
- .field("ifi_ierrors", &ifi_ierrors)
- .field("ifi_opackets", &ifi_opackets)
- .field("ifi_oerrors", &ifi_oerrors)
- .field("ifi_collisions", &ifi_collisions)
- .field("ifi_ibytes", &ifi_ibytes)
- .field("ifi_obytes", &ifi_obytes)
- .field("ifi_imcasts", &ifi_imcasts)
- .field("ifi_omcasts", &ifi_omcasts)
- .field("ifi_iqdrops", &ifi_iqdrops)
- .field("ifi_noproto", &ifi_noproto)
- .field("ifi_recvtiming", &ifi_recvtiming)
- .field("ifi_xmittiming", &ifi_xmittiming)
- .field("ifi_lastchange", &ifi_lastchange)
- .finish()
- }
- }
- impl ::hash::Hash for if_data64 {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- let ifi_type = self.ifi_type;
- let ifi_typelen = self.ifi_typelen;
- let ifi_physical = self.ifi_physical;
- let ifi_addrlen = self.ifi_addrlen;
- let ifi_hdrlen = self.ifi_hdrlen;
- let ifi_recvquota = self.ifi_recvquota;
- let ifi_xmitquota = self.ifi_xmitquota;
- let ifi_unused1 = self.ifi_unused1;
- let ifi_mtu = self.ifi_mtu;
- let ifi_metric = self.ifi_metric;
- let ifi_baudrate = self.ifi_baudrate;
- let ifi_ipackets = self.ifi_ipackets;
- let ifi_ierrors = self.ifi_ierrors;
- let ifi_opackets = self.ifi_opackets;
- let ifi_oerrors = self.ifi_oerrors;
- let ifi_collisions = self.ifi_collisions;
- let ifi_ibytes = self.ifi_ibytes;
- let ifi_obytes = self.ifi_obytes;
- let ifi_imcasts = self.ifi_imcasts;
- let ifi_omcasts = self.ifi_omcasts;
- let ifi_iqdrops = self.ifi_iqdrops;
- let ifi_noproto = self.ifi_noproto;
- let ifi_recvtiming = self.ifi_recvtiming;
- let ifi_xmittiming = self.ifi_xmittiming;
- let ifi_lastchange = self.ifi_lastchange;
- ifi_type.hash(state);
- ifi_typelen.hash(state);
- ifi_physical.hash(state);
- ifi_addrlen.hash(state);
- ifi_hdrlen.hash(state);
- ifi_recvquota.hash(state);
- ifi_xmitquota.hash(state);
- ifi_unused1.hash(state);
- ifi_mtu.hash(state);
- ifi_metric.hash(state);
- ifi_baudrate.hash(state);
- ifi_ipackets.hash(state);
- ifi_ierrors.hash(state);
- ifi_opackets.hash(state);
- ifi_oerrors.hash(state);
- ifi_collisions.hash(state);
- ifi_ibytes.hash(state);
- ifi_obytes.hash(state);
- ifi_imcasts.hash(state);
- ifi_omcasts.hash(state);
- ifi_iqdrops.hash(state);
- ifi_noproto.hash(state);
- ifi_recvtiming.hash(state);
- ifi_xmittiming.hash(state);
- ifi_lastchange.hash(state);
- }
- }
- impl PartialEq for if_msghdr2 {
- fn eq(&self, other: &if_msghdr2) -> bool {
- self.ifm_msglen == other.ifm_msglen &&
- self.ifm_version == other.ifm_version &&
- self.ifm_type == other.ifm_type &&
- self.ifm_addrs == other.ifm_addrs &&
- self.ifm_flags == other.ifm_flags &&
- self.ifm_index == other.ifm_index &&
- self.ifm_snd_len == other.ifm_snd_len &&
- self.ifm_snd_maxlen == other.ifm_snd_maxlen &&
- self.ifm_snd_drops == other.ifm_snd_drops &&
- self.ifm_timer == other.ifm_timer &&
- self.ifm_data == other.ifm_data
- }
- }
- impl Eq for if_msghdr2 {}
- impl ::fmt::Debug for if_msghdr2 {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let ifm_msglen = self.ifm_msglen;
- let ifm_version = self.ifm_version;
- let ifm_type = self.ifm_type;
- let ifm_addrs = self.ifm_addrs;
- let ifm_flags = self.ifm_flags;
- let ifm_index = self.ifm_index;
- let ifm_snd_len = self.ifm_snd_len;
- let ifm_snd_maxlen = self.ifm_snd_maxlen;
- let ifm_snd_drops = self.ifm_snd_drops;
- let ifm_timer = self.ifm_timer;
- let ifm_data = self.ifm_data;
- f.debug_struct("if_msghdr2")
- .field("ifm_msglen", &ifm_msglen)
- .field("ifm_version", &ifm_version)
- .field("ifm_type", &ifm_type)
- .field("ifm_addrs", &ifm_addrs)
- .field("ifm_flags", &ifm_flags)
- .field("ifm_index", &ifm_index)
- .field("ifm_snd_len", &ifm_snd_len)
- .field("ifm_snd_maxlen", &ifm_snd_maxlen)
- .field("ifm_snd_drops", &ifm_snd_drops)
- .field("ifm_timer", &ifm_timer)
- .field("ifm_data", &ifm_data)
- .finish()
- }
- }
- impl ::hash::Hash for if_msghdr2 {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- let ifm_msglen = self.ifm_msglen;
- let ifm_version = self.ifm_version;
- let ifm_type = self.ifm_type;
- let ifm_addrs = self.ifm_addrs;
- let ifm_flags = self.ifm_flags;
- let ifm_index = self.ifm_index;
- let ifm_snd_len = self.ifm_snd_len;
- let ifm_snd_maxlen = self.ifm_snd_maxlen;
- let ifm_snd_drops = self.ifm_snd_drops;
- let ifm_timer = self.ifm_timer;
- let ifm_data = self.ifm_data;
- ifm_msglen.hash(state);
- ifm_version.hash(state);
- ifm_type.hash(state);
- ifm_addrs.hash(state);
- ifm_flags.hash(state);
- ifm_index.hash(state);
- ifm_snd_len.hash(state);
- ifm_snd_maxlen.hash(state);
- ifm_snd_drops.hash(state);
- ifm_timer.hash(state);
- ifm_data.hash(state);
- }
- }
- impl PartialEq for vm_statistics64 {
- fn eq(&self, other: &vm_statistics64) -> bool {
- // Otherwise rustfmt crashes...
- let total_uncompressed = self.total_uncompressed_pages_in_compressor;
- self.free_count == other.free_count &&
- self.active_count == other.active_count &&
- self.inactive_count == other.inactive_count &&
- self.wire_count == other.wire_count &&
- self.zero_fill_count == other.zero_fill_count &&
- self.reactivations == other.reactivations &&
- self.pageins == other.pageins &&
- self.pageouts == other.pageouts &&
- self.faults == other.faults &&
- self.cow_faults == other.cow_faults &&
- self.lookups == other.lookups &&
- self.hits == other.hits &&
- self.purges == other.purges &&
- self.purgeable_count == other.purgeable_count &&
- self.speculative_count == other.speculative_count &&
- self.decompressions == other.decompressions &&
- self.compressions == other.compressions &&
- self.swapins == other.swapins &&
- self.swapouts == other.swapouts &&
- self.compressor_page_count == other.compressor_page_count &&
- self.throttled_count == other.throttled_count &&
- self.external_page_count == other.external_page_count &&
- self.internal_page_count == other.internal_page_count &&
- total_uncompressed == other.total_uncompressed_pages_in_compressor
- }
- }
- impl Eq for vm_statistics64 {}
- impl ::fmt::Debug for vm_statistics64 {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let free_count = self.free_count;
- let active_count = self.active_count;
- let inactive_count = self.inactive_count;
- let wire_count = self.wire_count;
- let zero_fill_count = self.zero_fill_count;
- let reactivations = self.reactivations;
- let pageins = self.pageins;
- let pageouts = self.pageouts;
- let faults = self.faults;
- let cow_faults = self.cow_faults;
- let lookups = self.lookups;
- let hits = self.hits;
- let purges = self.purges;
- let purgeable_count = self.purgeable_count;
- let speculative_count = self.speculative_count;
- let decompressions = self.decompressions;
- let compressions = self.compressions;
- let swapins = self.swapins;
- let swapouts = self.swapouts;
- let compressor_page_count = self.compressor_page_count;
- let throttled_count = self.throttled_count;
- let external_page_count = self.external_page_count;
- let internal_page_count = self.internal_page_count;
- // Otherwise rustfmt crashes...
- let total_uncompressed = self.total_uncompressed_pages_in_compressor;
- f.debug_struct("vm_statistics64")
- .field("free_count", &free_count)
- .field("active_count", &active_count)
- .field("inactive_count", &inactive_count)
- .field("wire_count", &wire_count)
- .field("zero_fill_count", &zero_fill_count)
- .field("reactivations", &reactivations)
- .field("pageins", &pageins)
- .field("pageouts", &pageouts)
- .field("faults", &faults)
- .field("cow_faults", &cow_faults)
- .field("lookups", &lookups)
- .field("hits", &hits)
- .field("purges", &purges)
- .field("purgeable_count", &purgeable_count)
- .field("speculative_count", &speculative_count)
- .field("decompressions", &decompressions)
- .field("compressions", &compressions)
- .field("swapins", &swapins)
- .field("swapouts", &swapouts)
- .field("compressor_page_count", &compressor_page_count)
- .field("throttled_count", &throttled_count)
- .field("external_page_count", &external_page_count)
- .field("internal_page_count", &internal_page_count)
- .field("total_uncompressed_pages_in_compressor", &total_uncompressed)
- .finish()
- }
- }
- impl ::hash::Hash for vm_statistics64 {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- let free_count = self.free_count;
- let active_count = self.active_count;
- let inactive_count = self.inactive_count;
- let wire_count = self.wire_count;
- let zero_fill_count = self.zero_fill_count;
- let reactivations = self.reactivations;
- let pageins = self.pageins;
- let pageouts = self.pageouts;
- let faults = self.faults;
- let cow_faults = self.cow_faults;
- let lookups = self.lookups;
- let hits = self.hits;
- let purges = self.purges;
- let purgeable_count = self.purgeable_count;
- let speculative_count = self.speculative_count;
- let decompressions = self.decompressions;
- let compressions = self.compressions;
- let swapins = self.swapins;
- let swapouts = self.swapouts;
- let compressor_page_count = self.compressor_page_count;
- let throttled_count = self.throttled_count;
- let external_page_count = self.external_page_count;
- let internal_page_count = self.internal_page_count;
- // Otherwise rustfmt crashes...
- let total_uncompressed = self.total_uncompressed_pages_in_compressor;
- free_count.hash(state);
- active_count.hash(state);
- inactive_count.hash(state);
- wire_count.hash(state);
- zero_fill_count.hash(state);
- reactivations.hash(state);
- pageins.hash(state);
- pageouts.hash(state);
- faults.hash(state);
- cow_faults.hash(state);
- lookups.hash(state);
- hits.hash(state);
- purges.hash(state);
- purgeable_count.hash(state);
- speculative_count.hash(state);
- decompressions.hash(state);
- compressions.hash(state);
- swapins.hash(state);
- swapouts.hash(state);
- compressor_page_count.hash(state);
- throttled_count.hash(state);
- external_page_count.hash(state);
- internal_page_count.hash(state);
- total_uncompressed.hash(state);
- }
- }
-
- impl PartialEq for mach_task_basic_info {
- fn eq(&self, other: &mach_task_basic_info) -> bool {
- self.virtual_size == other.virtual_size
- && self.resident_size == other.resident_size
- && self.resident_size_max == other.resident_size_max
- && self.user_time == other.user_time
- && self.system_time == other.system_time
- && self.policy == other.policy
- && self.suspend_count == other.suspend_count
- }
- }
- impl Eq for mach_task_basic_info {}
- impl ::fmt::Debug for mach_task_basic_info {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let virtual_size = self.virtual_size;
- let resident_size = self.resident_size;
- let resident_size_max = self.resident_size_max;
- let user_time = self.user_time;
- let system_time = self.system_time;
- let policy = self.policy;
- let suspend_count = self.suspend_count;
- f.debug_struct("mach_task_basic_info")
- .field("virtual_size", &virtual_size)
- .field("resident_size", &resident_size)
- .field("resident_size_max", &resident_size_max)
- .field("user_time", &user_time)
- .field("system_time", &system_time)
- .field("policy", &policy)
- .field("suspend_count", &suspend_count)
- .finish()
- }
- }
- impl ::hash::Hash for mach_task_basic_info {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- let virtual_size = self.virtual_size;
- let resident_size = self.resident_size;
- let resident_size_max = self.resident_size_max;
- let user_time = self.user_time;
- let system_time = self.system_time;
- let policy = self.policy;
- let suspend_count = self.suspend_count;
- virtual_size.hash(state);
- resident_size.hash(state);
- resident_size_max.hash(state);
- user_time.hash(state);
- system_time.hash(state);
- policy.hash(state);
- suspend_count.hash(state);
- }
- }
-
- impl PartialEq for log2phys {
- fn eq(&self, other: &log2phys) -> bool {
- self.l2p_flags == other.l2p_flags
- && self.l2p_contigbytes == other.l2p_contigbytes
- && self.l2p_devoffset == other.l2p_devoffset
- }
- }
- impl Eq for log2phys {}
- impl ::fmt::Debug for log2phys {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let l2p_flags = self.l2p_flags;
- let l2p_contigbytes = self.l2p_contigbytes;
- let l2p_devoffset = self.l2p_devoffset;
- f.debug_struct("log2phys")
- .field("l2p_flags", &l2p_flags)
- .field("l2p_contigbytes", &l2p_contigbytes)
- .field("l2p_devoffset", &l2p_devoffset)
- .finish()
- }
- }
- impl ::hash::Hash for log2phys {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- let l2p_flags = self.l2p_flags;
- let l2p_contigbytes = self.l2p_contigbytes;
- let l2p_devoffset = self.l2p_devoffset;
- l2p_flags.hash(state);
- l2p_contigbytes.hash(state);
- l2p_devoffset.hash(state);
- }
- }
}
}
@@ -2995,16 +1890,12 @@ pub const F_PREALLOCATE: ::c_int = 42;
pub const F_RDADVISE: ::c_int = 44;
pub const F_RDAHEAD: ::c_int = 45;
pub const F_NOCACHE: ::c_int = 48;
-pub const F_LOG2PHYS: ::c_int = 49;
pub const F_GETPATH: ::c_int = 50;
pub const F_FULLFSYNC: ::c_int = 51;
pub const F_FREEZE_FS: ::c_int = 53;
pub const F_THAW_FS: ::c_int = 54;
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_GETPATH_NOFIRMLINK: ::c_int = 102;
pub const F_ALLOCATECONTIG: ::c_uint = 0x02;
pub const F_ALLOCATEALL: ::c_uint = 0x04;
@@ -3018,11 +1909,6 @@ pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x0020;
pub const AT_SYMLINK_FOLLOW: ::c_int = 0x0040;
pub const AT_REMOVEDIR: ::c_int = 0x0080;
-pub const PTHREAD_INTROSPECTION_THREAD_CREATE: ::c_uint = 1;
-pub const PTHREAD_INTROSPECTION_THREAD_START: ::c_uint = 2;
-pub const PTHREAD_INTROSPECTION_THREAD_TERMINATE: ::c_uint = 3;
-pub const PTHREAD_INTROSPECTION_THREAD_DESTROY: ::c_uint = 4;
-
pub const TIOCMODG: ::c_ulong = 0x40047403;
pub const TIOCMODS: ::c_ulong = 0x80047404;
pub const TIOCM_LE: ::c_int = 0x1;
@@ -3529,10 +2415,8 @@ 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_BOUND_IF: ::c_int = 25;
pub const IP_PKTINFO: ::c_int = 26;
pub const IP_RECVTOS: ::c_int = 27;
-pub const IP_DONTFRAG: ::c_int = 28;
pub const IPV6_JOIN_GROUP: ::c_int = 12;
pub const IPV6_LEAVE_GROUP: ::c_int = 13;
pub const IPV6_CHECKSUM: ::c_int = 26;
@@ -3541,7 +2425,6 @@ pub const IPV6_TCLASS: ::c_int = 36;
pub const IPV6_PKTINFO: ::c_int = 46;
pub const IPV6_HOPLIMIT: ::c_int = 47;
pub const IPV6_RECVPKTINFO: ::c_int = 61;
-pub const IPV6_DONTFRAG: ::c_int = 62;
pub const TCP_NOPUSH: ::c_int = 4;
pub const TCP_NOOPT: ::c_int = 8;
@@ -3797,10 +2680,6 @@ pub const FD_SETSIZE: usize = 1024;
pub const ST_NOSUID: ::c_ulong = 2;
-pub const SCHED_OTHER: ::c_int = 1;
-pub const SCHED_FIFO: ::c_int = 4;
-pub const SCHED_RR: ::c_int = 2;
-
pub const EVFILT_READ: i16 = -1;
pub const EVFILT_WRITE: i16 = -2;
pub const EVFILT_AIO: i16 = -3;
@@ -4081,59 +2960,6 @@ pub const KERN_PROC_TTY: ::c_int = 4;
pub const KERN_PROC_UID: ::c_int = 5;
pub const KERN_PROC_RUID: ::c_int = 6;
pub const KERN_PROC_LCID: ::c_int = 7;
-pub const KERN_SUCCESS: ::c_int = 0;
-pub const KERN_INVALID_ADDRESS: ::c_int = 1;
-pub const KERN_PROTECTION_FAILURE: ::c_int = 2;
-pub const KERN_NO_SPACE: ::c_int = 3;
-pub const KERN_INVALID_ARGUMENT: ::c_int = 4;
-pub const KERN_FAILURE: ::c_int = 5;
-pub const KERN_RESOURCE_SHORTAGE: ::c_int = 6;
-pub const KERN_NOT_RECEIVER: ::c_int = 7;
-pub const KERN_NO_ACCESS: ::c_int = 8;
-pub const KERN_MEMORY_FAILURE: ::c_int = 9;
-pub const KERN_MEMORY_ERROR: ::c_int = 10;
-pub const KERN_ALREADY_IN_SET: ::c_int = 11;
-pub const KERN_NOT_IN_SET: ::c_int = 12;
-pub const KERN_NAME_EXISTS: ::c_int = 13;
-pub const KERN_ABORTED: ::c_int = 14;
-pub const KERN_INVALID_NAME: ::c_int = 15;
-pub const KERN_INVALID_TASK: ::c_int = 16;
-pub const KERN_INVALID_RIGHT: ::c_int = 17;
-pub const KERN_INVALID_VALUE: ::c_int = 18;
-pub const KERN_UREFS_OVERFLOW: ::c_int = 19;
-pub const KERN_INVALID_CAPABILITY: ::c_int = 20;
-pub const KERN_RIGHT_EXISTS: ::c_int = 21;
-pub const KERN_INVALID_HOST: ::c_int = 22;
-pub const KERN_MEMORY_PRESENT: ::c_int = 23;
-pub const KERN_MEMORY_DATA_MOVED: ::c_int = 24;
-pub const KERN_MEMORY_RESTART_COPY: ::c_int = 25;
-pub const KERN_INVALID_PROCESSOR_SET: ::c_int = 26;
-pub const KERN_POLICY_LIMIT: ::c_int = 27;
-pub const KERN_INVALID_POLICY: ::c_int = 28;
-pub const KERN_INVALID_OBJECT: ::c_int = 29;
-pub const KERN_ALREADY_WAITING: ::c_int = 30;
-pub const KERN_DEFAULT_SET: ::c_int = 31;
-pub const KERN_EXCEPTION_PROTECTED: ::c_int = 32;
-pub const KERN_INVALID_LEDGER: ::c_int = 33;
-pub const KERN_INVALID_MEMORY_CONTROL: ::c_int = 34;
-pub const KERN_INVALID_SECURITY: ::c_int = 35;
-pub const KERN_NOT_DEPRESSED: ::c_int = 36;
-pub const KERN_TERMINATED: ::c_int = 37;
-pub const KERN_LOCK_SET_DESTROYED: ::c_int = 38;
-pub const KERN_LOCK_UNSTABLE: ::c_int = 39;
-pub const KERN_LOCK_OWNED: ::c_int = 40;
-pub const KERN_LOCK_OWNED_SELF: ::c_int = 41;
-pub const KERN_SEMAPHORE_DESTROYED: ::c_int = 42;
-pub const KERN_RPC_SERVER_TERMINATED: ::c_int = 43;
-pub const KERN_RPC_TERMINATE_ORPHAN: ::c_int = 44;
-pub const KERN_RPC_CONTINUE_ORPHAN: ::c_int = 45;
-pub const KERN_NOT_SUPPORTED: ::c_int = 46;
-pub const KERN_NODE_DOWN: ::c_int = 47;
-pub const KERN_NOT_WAITING: ::c_int = 48;
-pub const KERN_OPERATION_TIMED_OUT: ::c_int = 49;
-pub const KERN_CODESIGN_ERROR: ::c_int = 50;
-pub const KERN_POLICY_STATIC: ::c_int = 51;
-pub const KERN_INSUFFICIENT_BUFFER_SIZE: ::c_int = 52;
pub const KIPC_MAXSOCKBUF: ::c_int = 1;
pub const KIPC_SOCKBUF_WASTE: ::c_int = 2;
pub const KIPC_SOMAXCONN: ::c_int = 3;
@@ -4149,11 +2975,6 @@ pub const VM_LOADAVG: ::c_int = 2;
pub const VM_MACHFACTOR: ::c_int = 4;
pub const VM_SWAPUSAGE: ::c_int = 5;
pub const VM_MAXID: ::c_int = 6;
-pub const VM_PROT_NONE: ::vm_prot_t = 0x00;
-pub const VM_PROT_READ: ::vm_prot_t = 0x01;
-pub const VM_PROT_WRITE: ::vm_prot_t = 0x02;
-pub const VM_PROT_EXECUTE: ::vm_prot_t = 0x04;
-pub const MEMORY_OBJECT_NULL: ::memory_object_t = 0;
pub const HW_MACHINE: ::c_int = 1;
pub const HW_MODEL: ::c_int = 2;
pub const HW_NCPU: ::c_int = 3;
@@ -4295,8 +3116,6 @@ pub const RTF_CONDEMNED: ::c_int = 0x2000000;
pub const RTF_IFREF: ::c_int = 0x4000000;
pub const RTF_PROXY: ::c_int = 0x8000000;
pub const RTF_ROUTER: ::c_int = 0x10000000;
-pub const RTF_DEAD: ::c_int = 0x20000000;
-pub const RTF_GLOBAL: ::c_int = 0x40000000;
pub const RTM_VERSION: ::c_int = 5;
@@ -4355,14 +3174,8 @@ pub const RTAX_MAX: ::c_int = 8;
pub const KERN_PROCARGS2: ::c_int = 49;
pub const PROC_PIDTASKALLINFO: ::c_int = 2;
-pub const PROC_PIDTBSDINFO: ::c_int = 3;
pub const PROC_PIDTASKINFO: ::c_int = 4;
pub const PROC_PIDTHREADINFO: ::c_int = 5;
-pub const PROC_PIDVNODEPATHINFO: ::c_int = 9;
-pub const PROC_PIDPATHINFO_MAXSIZE: ::c_int = 4096;
-pub const PROC_CSM_ALL: ::c_uint = 0x0001;
-pub const PROC_CSM_NOSMT: ::c_uint = 0x0002;
-pub const PROC_CSM_TECS: ::c_uint = 0x0004;
pub const MAXCOMLEN: usize = 16;
pub const MAXTHREADNAMESIZE: usize = 64;
@@ -4399,10 +3212,18 @@ pub const DLT_LOOP: ::c_uint = 108;
pub const BPF_ALIGNMENT: ::c_int = 4;
// sys/mount.h
+pub const MNT_RDONLY: ::c_int = 0x00000001;
+pub const MNT_SYNCHRONOUS: ::c_int = 0x00000002;
+pub const MNT_NOEXEC: ::c_int = 0x00000004;
+pub const MNT_NOSUID: ::c_int = 0x00000008;
pub const MNT_NODEV: ::c_int = 0x00000010;
pub const MNT_UNION: ::c_int = 0x00000020;
+pub const MNT_ASYNC: ::c_int = 0x00000040;
pub const MNT_CPROTECT: ::c_int = 0x00000080;
+// NFS export related mount flags.
+pub const MNT_EXPORTED: ::c_int = 0x00000100;
+
// MAC labeled / "quarantined" flag
pub const MNT_QUARANTINE: ::c_int = 0x00000400;
@@ -4423,7 +3244,9 @@ pub const MNT_NOATIME: ::c_int = 0x10000000;
pub const MNT_SNAPSHOT: ::c_int = 0x40000000;
// External filesystem command modifier flags.
+pub const MNT_UPDATE: ::c_int = 0x00010000;
pub const MNT_NOBLOCK: ::c_int = 0x00020000;
+pub const MNT_RELOAD: ::c_int = 0x00040000;
// sys/spawn.h:
pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01;
@@ -4539,118 +3362,6 @@ pub const TIME_ERROR: ::c_int = 5;
pub const MNT_WAIT: ::c_int = 1;
pub const MNT_NOWAIT: ::c_int = 2;
-// <mach/thread_policy.h>
-pub const THREAD_STANDARD_POLICY: ::c_int = 1;
-pub const THREAD_STANDARD_POLICY_COUNT: ::c_int = 0;
-pub const THREAD_EXTENDED_POLICY: ::c_int = 1;
-pub const THREAD_TIME_CONSTRAINT_POLICY: ::c_int = 2;
-pub const THREAD_PRECEDENCE_POLICY: ::c_int = 3;
-pub const THREAD_AFFINITY_POLICY: ::c_int = 4;
-pub const THREAD_AFFINITY_TAG_NULL: ::c_int = 0;
-pub const THREAD_BACKGROUND_POLICY: ::c_int = 5;
-pub const THREAD_BACKGROUND_POLICY_DARWIN_BG: ::c_int = 0x1000;
-pub const THREAD_LATENCY_QOS_POLICY: ::c_int = 7;
-pub const THREAD_THROUGHPUT_QOS_POLICY: ::c_int = 8;
-
-// <mach/thread_info.h>
-pub const TH_STATE_RUNNING: ::c_int = 1;
-pub const TH_STATE_STOPPED: ::c_int = 2;
-pub const TH_STATE_WAITING: ::c_int = 3;
-pub const TH_STATE_UNINTERRUPTIBLE: ::c_int = 4;
-pub const TH_STATE_HALTED: ::c_int = 5;
-pub const TH_FLAGS_SWAPPED: ::c_int = 0x1;
-pub const TH_FLAGS_IDLE: ::c_int = 0x2;
-pub const TH_FLAGS_GLOBAL_FORCED_IDLE: ::c_int = 0x4;
-pub const THREAD_BASIC_INFO: ::c_int = 3;
-pub const THREAD_IDENTIFIER_INFO: ::c_int = 4;
-pub const THREAD_EXTENDED_INFO: ::c_int = 5;
-
-// CommonCrypto/CommonCryptoError.h
-pub const kCCSuccess: i32 = 0;
-pub const kCCParamError: i32 = -4300;
-pub const kCCBufferTooSmall: i32 = -4301;
-pub const kCCMemoryFailure: i32 = -4302;
-pub const kCCAlignmentError: i32 = -4303;
-pub const kCCDecodeError: i32 = -4304;
-pub const kCCUnimplemented: i32 = -4305;
-pub const kCCOverflow: i32 = -4306;
-pub const kCCRNGFailure: i32 = -4307;
-pub const kCCUnspecifiedError: i32 = -4308;
-pub const kCCCallSequenceError: i32 = -4309;
-pub const kCCKeySizeError: i32 = -4310;
-pub const kCCInvalidKey: i32 = -4311;
-
-// mach/host_info.h
-pub const HOST_LOAD_INFO: i32 = 1;
-pub const HOST_VM_INFO: i32 = 2;
-pub const HOST_CPU_LOAD_INFO: i32 = 3;
-pub const HOST_VM_INFO64: i32 = 4;
-pub const HOST_EXTMOD_INFO64: i32 = 5;
-pub const HOST_EXPIRED_TASK_INFO: i32 = 6;
-
-// mach/vm_statistics.h
-pub const VM_PAGE_QUERY_PAGE_PRESENT: i32 = 0x1;
-pub const VM_PAGE_QUERY_PAGE_FICTITIOUS: i32 = 0x2;
-pub const VM_PAGE_QUERY_PAGE_REF: i32 = 0x4;
-pub const VM_PAGE_QUERY_PAGE_DIRTY: i32 = 0x8;
-pub const VM_PAGE_QUERY_PAGE_PAGED_OUT: i32 = 0x10;
-pub const VM_PAGE_QUERY_PAGE_COPIED: i32 = 0x20;
-pub const VM_PAGE_QUERY_PAGE_SPECULATIVE: i32 = 0x40;
-pub const VM_PAGE_QUERY_PAGE_EXTERNAL: i32 = 0x80;
-pub const VM_PAGE_QUERY_PAGE_CS_VALIDATED: i32 = 0x100;
-pub const VM_PAGE_QUERY_PAGE_CS_TAINTED: i32 = 0x200;
-pub const VM_PAGE_QUERY_PAGE_CS_NX: i32 = 0x400;
-
-// mach/task_info.h
-pub const TASK_THREAD_TIMES_INFO: u32 = 3;
-pub const HOST_CPU_LOAD_INFO_COUNT: u32 = 4;
-pub const MACH_TASK_BASIC_INFO: u32 = 20;
-
-pub const MACH_PORT_NULL: i32 = 0;
-
-pub const RUSAGE_INFO_V0: ::c_int = 0;
-pub const RUSAGE_INFO_V1: ::c_int = 1;
-pub const RUSAGE_INFO_V2: ::c_int = 2;
-pub const RUSAGE_INFO_V3: ::c_int = 3;
-pub const RUSAGE_INFO_V4: ::c_int = 4;
-
-// copyfile.h
-pub const COPYFILE_ACL: ::copyfile_flags_t = 1 << 0;
-pub const COPYFILE_STAT: ::copyfile_flags_t = 1 << 1;
-pub const COPYFILE_XATTR: ::copyfile_flags_t = 1 << 2;
-pub const COPYFILE_DATA: ::copyfile_flags_t = 1 << 3;
-pub const COPYFILE_SECURITY: ::copyfile_flags_t = COPYFILE_STAT | COPYFILE_ACL;
-pub const COPYFILE_METADATA: ::copyfile_flags_t = COPYFILE_SECURITY | COPYFILE_XATTR;
-pub const COPYFILE_RECURSIVE: ::copyfile_flags_t = 1 << 15;
-pub const COPYFILE_CHECK: ::copyfile_flags_t = 1 << 16;
-pub const COPYFILE_EXCL: ::copyfile_flags_t = 1 << 17;
-pub const COPYFILE_NOFOLLOW_SRC: ::copyfile_flags_t = 1 << 18;
-pub const COPYFILE_NOFOLLOW_DST: ::copyfile_flags_t = 1 << 19;
-pub const COPYFILE_MOVE: ::copyfile_flags_t = 1 << 20;
-pub const COPYFILE_UNLINK: ::copyfile_flags_t = 1 << 21;
-pub const COPYFILE_NOFOLLOW: ::copyfile_flags_t = COPYFILE_NOFOLLOW_SRC | COPYFILE_NOFOLLOW_DST;
-pub const COPYFILE_PACK: ::copyfile_flags_t = 1 << 22;
-pub const COPYFILE_UNPACK: ::copyfile_flags_t = 1 << 23;
-pub const COPYFILE_CLONE: ::copyfile_flags_t = 1 << 24;
-pub const COPYFILE_CLONE_FORCE: ::copyfile_flags_t = 1 << 25;
-pub const COPYFILE_RUN_IN_PLACE: ::copyfile_flags_t = 1 << 26;
-pub const COPYFILE_DATA_SPARSE: ::copyfile_flags_t = 1 << 27;
-pub const COPYFILE_PRESERVE_DST_TRACKED: ::copyfile_flags_t = 1 << 28;
-pub const COPYFILE_VERBOSE: ::copyfile_flags_t = 1 << 30;
-pub const COPYFILE_RECURSE_ERROR: ::c_int = 0;
-pub const COPYFILE_RECURSE_FILE: ::c_int = 1;
-pub const COPYFILE_RECURSE_DIR: ::c_int = 2;
-pub const COPYFILE_RECURSE_DIR_CLEANUP: ::c_int = 3;
-pub const COPYFILE_COPY_DATA: ::c_int = 4;
-pub const COPYFILE_COPY_XATTR: ::c_int = 5;
-pub const COPYFILE_START: ::c_int = 1;
-pub const COPYFILE_FINISH: ::c_int = 2;
-pub const COPYFILE_ERR: ::c_int = 3;
-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;
-
cfg_if! {
if #[cfg(libc_const_extern_fn)] {
const fn __DARWIN_ALIGN32(p: usize) -> usize {
@@ -4662,63 +3373,11 @@ cfg_if! {
const __DARWIN_ALIGNBYTES32: usize = ::mem::size_of::<u32>() - 1;
p + __DARWIN_ALIGNBYTES32 & !__DARWIN_ALIGNBYTES32
}
- pub const THREAD_EXTENDED_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_extended_policy_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_TIME_CONSTRAINT_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_time_constraint_policy_data_t>() /
- ::mem::size_of::<integer_t>()) as mach_msg_type_number_t;
- pub const THREAD_PRECEDENCE_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_precedence_policy_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_AFFINITY_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_affinity_policy_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_BACKGROUND_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_background_policy_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_LATENCY_QOS_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_latency_qos_policy_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_THROUGHPUT_QOS_POLICY_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_throughput_qos_policy_data_t>() /
- ::mem::size_of::<integer_t>()) as mach_msg_type_number_t;
- pub const THREAD_BASIC_INFO_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_basic_info_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_IDENTIFIER_INFO_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_identifier_info_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
- pub const THREAD_EXTENDED_INFO_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<thread_extended_info_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
-
- pub const TASK_THREAD_TIMES_INFO_COUNT: u32 =
- (::mem::size_of::<task_thread_times_info_data_t>()
- / ::mem::size_of::<natural_t>()) as u32;
- pub const MACH_TASK_BASIC_INFO_COUNT: u32 = (::mem::size_of::<mach_task_basic_info_data_t>()
- / ::mem::size_of::<natural_t>()) as u32;
- pub const HOST_VM_INFO64_COUNT: mach_msg_type_number_t =
- (::mem::size_of::<vm_statistics64_data_t>() / ::mem::size_of::<integer_t>())
- as mach_msg_type_number_t;
} else {
fn __DARWIN_ALIGN32(p: usize) -> usize {
let __DARWIN_ALIGNBYTES32: usize = ::mem::size_of::<u32>() - 1;
p + __DARWIN_ALIGNBYTES32 & !__DARWIN_ALIGNBYTES32
}
- pub const THREAD_EXTENDED_POLICY_COUNT: mach_msg_type_number_t = 1;
- pub const THREAD_TIME_CONSTRAINT_POLICY_COUNT: mach_msg_type_number_t = 4;
- pub const THREAD_PRECEDENCE_POLICY_COUNT: mach_msg_type_number_t = 1;
- pub const THREAD_AFFINITY_POLICY_COUNT: mach_msg_type_number_t = 1;
- pub const THREAD_BACKGROUND_POLICY_COUNT: mach_msg_type_number_t = 1;
- pub const THREAD_LATENCY_QOS_POLICY_COUNT: mach_msg_type_number_t = 1;
- pub const THREAD_THROUGHPUT_QOS_POLICY_COUNT: mach_msg_type_number_t = 1;
- pub const THREAD_BASIC_INFO_COUNT: mach_msg_type_number_t = 10;
- pub const THREAD_IDENTIFIER_INFO_COUNT: mach_msg_type_number_t = 6;
- pub const THREAD_EXTENDED_INFO_COUNT: mach_msg_type_number_t = 28;
- pub const TASK_THREAD_TIMES_INFO_COUNT: u32 = 4;
- pub const MACH_TASK_BASIC_INFO_COUNT: u32 = 12;
- pub const HOST_VM_INFO64_COUNT: mach_msg_type_number_t = 38;
}
}
@@ -4754,10 +3413,6 @@ f! {
(__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) + length as usize)
as ::c_uint
}
-
- pub {const} fn VM_MAKE_TAG(id: u8) -> u32 {
- (id as u32) << 24u32
- }
}
safe_f! {
@@ -4885,23 +3540,14 @@ extern "C" {
newp: *mut ::c_void,
newlen: ::size_t,
) -> ::c_int;
- #[deprecated(since = "0.2.55", note = "Use the `mach2` crate instead")]
+ #[deprecated(since = "0.2.55", note = "Use the mach crate")]
pub fn mach_absolute_time() -> u64;
- #[deprecated(since = "0.2.55", note = "Use the `mach2` crate instead")]
+ #[deprecated(since = "0.2.55", note = "Use the mach crate")]
#[allow(deprecated)]
pub fn mach_timebase_info(info: *mut ::mach_timebase_info) -> ::c_int;
- pub fn mach_host_self() -> mach_port_t;
- pub fn mach_thread_self() -> mach_port_t;
pub fn pthread_setname_np(name: *const ::c_char) -> ::c_int;
pub fn pthread_getname_np(thread: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int;
- pub fn pthread_mach_thread_np(thread: ::pthread_t) -> ::mach_port_t;
pub fn pthread_from_mach_thread_np(port: ::mach_port_t) -> ::pthread_t;
- pub fn pthread_create_from_mach_thread(
- thread: *mut ::pthread_t,
- attr: *const ::pthread_attr_t,
- f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
- value: *mut ::c_void,
- ) -> ::c_int;
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;
@@ -4922,97 +3568,8 @@ extern "C" {
val: *mut ::c_int,
) -> ::c_int;
pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int;
- pub fn pthread_threadid_np(thread: ::pthread_t, thread_id: *mut u64) -> ::c_int;
- pub fn pthread_attr_set_qos_class_np(
- attr: *mut pthread_attr_t,
- class: qos_class_t,
- priority: ::c_int,
- ) -> ::c_int;
- pub fn pthread_attr_get_qos_class_np(
- attr: *mut pthread_attr_t,
- class: *mut qos_class_t,
- priority: *mut ::c_int,
- ) -> ::c_int;
- pub fn pthread_set_qos_class_self_np(class: qos_class_t, priority: ::c_int) -> ::c_int;
- pub fn pthread_get_qos_class_np(
- thread: ::pthread_t,
- class: *mut qos_class_t,
- priority: *mut ::c_int,
- ) -> ::c_int;
- pub fn pthread_attr_getschedparam(
- attr: *const ::pthread_attr_t,
- param: *mut sched_param,
- ) -> ::c_int;
- pub fn pthread_attr_setschedparam(
- attr: *mut ::pthread_attr_t,
- param: *const sched_param,
- ) -> ::c_int;
- pub fn pthread_getschedparam(
- thread: ::pthread_t,
- policy: *mut ::c_int,
- param: *mut sched_param,
- ) -> ::c_int;
- pub fn pthread_setschedparam(
- thread: ::pthread_t,
- policy: ::c_int,
- param: *const sched_param,
- ) -> ::c_int;
-
- // Available from Big Sur
- pub fn pthread_introspection_hook_install(
- hook: ::pthread_introspection_hook_t,
- ) -> ::pthread_introspection_hook_t;
- pub fn pthread_introspection_setspecific_np(
- thread: ::pthread_t,
- key: ::pthread_key_t,
- value: *const ::c_void,
- ) -> ::c_int;
- pub fn pthread_introspection_getspecific_np(
- thread: ::pthread_t,
- key: ::pthread_key_t,
- ) -> *mut ::c_void;
- pub fn pthread_jit_write_protect_np(enabled: ::c_int);
- pub fn pthread_jit_write_protect_supported_np() -> ::c_int;
- pub fn pthread_cpu_number_np(cpu_number_out: *mut ::size_t) -> ::c_int;
-
- pub fn thread_policy_set(
- thread: thread_t,
- flavor: thread_policy_flavor_t,
- policy_info: thread_policy_t,
- count: mach_msg_type_number_t,
- ) -> kern_return_t;
- pub fn thread_policy_get(
- thread: thread_t,
- flavor: thread_policy_flavor_t,
- policy_info: thread_policy_t,
- count: *mut mach_msg_type_number_t,
- get_default: *mut boolean_t,
- ) -> kern_return_t;
- pub fn thread_info(
- target_act: thread_inspect_t,
- flavor: thread_flavor_t,
- thread_info_out: thread_info_t,
- thread_info_outCnt: *mut mach_msg_type_number_t,
- ) -> kern_return_t;
pub fn __error() -> *mut ::c_int;
pub fn backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int;
- pub fn backtrace_symbols(addrs: *const *mut ::c_void, sz: ::c_int) -> *mut *mut ::c_char;
- pub fn backtrace_symbols_fd(addrs: *const *mut ::c_void, sz: ::c_int, fd: ::c_int);
- pub fn backtrace_from_fp(
- startfp: *mut ::c_void,
- array: *mut *mut ::c_void,
- size: ::c_int,
- ) -> ::c_int;
- pub fn backtrace_image_offsets(
- array: *const *mut ::c_void,
- image_offsets: *mut image_offset,
- size: ::c_int,
- );
- pub fn backtrace_async(
- array: *mut *mut ::c_void,
- length: ::size_t,
- task_id: *mut u32,
- ) -> ::size_t;
#[cfg_attr(
all(target_os = "macos", not(target_arch = "aarch64")),
link_name = "statfs$INODE64"
@@ -5046,12 +3603,6 @@ extern "C" {
flags: ::c_int,
data: *mut ::c_void,
) -> ::c_int;
- pub fn fmount(
- src: *const ::c_char,
- fd: ::c_int,
- flags: ::c_int,
- data: *mut ::c_void,
- ) -> ::c_int;
pub fn ptrace(request: ::c_int, pid: ::pid_t, addr: *mut ::c_char, data: ::c_int) -> ::c_int;
pub fn quotactl(
special: *const ::c_char,
@@ -5174,14 +3725,14 @@ extern "C" {
pub fn brk(addr: *const ::c_void) -> *mut ::c_void;
pub fn sbrk(increment: ::c_int) -> *mut ::c_void;
pub fn settimeofday(tv: *const ::timeval, tz: *const ::timezone) -> ::c_int;
- #[deprecated(since = "0.2.55", note = "Use the `mach2` crate instead")]
+ #[deprecated(since = "0.2.55", note = "Use the mach crate")]
pub fn _dyld_image_count() -> u32;
- #[deprecated(since = "0.2.55", note = "Use the `mach2` crate instead")]
+ #[deprecated(since = "0.2.55", note = "Use the mach crate")]
#[allow(deprecated)]
pub fn _dyld_get_image_header(image_index: u32) -> *const mach_header;
- #[deprecated(since = "0.2.55", note = "Use the `mach2` crate instead")]
+ #[deprecated(since = "0.2.55", note = "Use the mach crate")]
pub fn _dyld_get_image_vmaddr_slide(image_index: u32) -> ::intptr_t;
- #[deprecated(since = "0.2.55", note = "Use the `mach2` crate instead")]
+ #[deprecated(since = "0.2.55", note = "Use the mach crate")]
pub fn _dyld_get_image_name(image_index: u32) -> *const ::c_char;
pub fn posix_spawn(
@@ -5228,20 +3779,6 @@ extern "C" {
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_setarchpref_np(
- attr: *mut posix_spawnattr_t,
- count: ::size_t,
- pref: *mut ::cpu_type_t,
- subpref: *mut ::cpu_subtype_t,
- ocount: *mut ::size_t,
- ) -> ::c_int;
- pub fn posix_spawnattr_getarchpref_np(
- attr: *const posix_spawnattr_t,
- count: ::size_t,
- pref: *mut ::cpu_type_t,
- subpref: *mut ::cpu_subtype_t,
- ocount: *mut ::size_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;
@@ -5289,227 +3826,6 @@ extern "C" {
)]
pub fn getfsstat(mntbufp: *mut statfs, bufsize: ::c_int, flags: ::c_int) -> ::c_int;
- // Copy-on-write functions.
- // According to the man page `flags` is an `int` but in the header
- // this is a `uint32_t`.
- pub fn clonefile(src: *const ::c_char, dst: *const ::c_char, flags: u32) -> ::c_int;
- pub fn clonefileat(
- src_dirfd: ::c_int,
- src: *const ::c_char,
- dst_dirfd: ::c_int,
- dst: *const ::c_char,
- flags: u32,
- ) -> ::c_int;
- pub fn fclonefileat(
- srcfd: ::c_int,
- dst_dirfd: ::c_int,
- dst: *const ::c_char,
- flags: u32,
- ) -> ::c_int;
-
- pub fn copyfile(
- from: *const ::c_char,
- to: *const ::c_char,
- state: copyfile_state_t,
- flags: copyfile_flags_t,
- ) -> ::c_int;
- pub fn fcopyfile(
- from: ::c_int,
- to: ::c_int,
- state: copyfile_state_t,
- flags: copyfile_flags_t,
- ) -> ::c_int;
-
- // Added in macOS 10.13
- // ISO/IEC 9899:2011 ("ISO C11") K.3.7.4.1
- pub fn memset_s(s: *mut ::c_void, smax: ::size_t, c: ::c_int, n: ::size_t) -> ::c_int;
- // Added in macOS 10.5
- pub fn memset_pattern4(b: *mut ::c_void, pattern4: *const ::c_void, len: ::size_t);
- pub fn memset_pattern8(b: *mut ::c_void, pattern8: *const ::c_void, len: ::size_t);
- pub fn memset_pattern16(b: *mut ::c_void, pattern16: *const ::c_void, len: ::size_t);
-
- // Inherited from BSD but available from Big Sur only
- pub fn strtonum(
- __numstr: *const ::c_char,
- __minval: ::c_longlong,
- __maxval: ::c_longlong,
- errstrp: *mut *const ::c_char,
- ) -> ::c_longlong;
-
- pub fn mstats() -> mstats;
- pub fn malloc_printf(format: *const ::c_char, ...);
- pub fn malloc_zone_check(zone: *mut ::malloc_zone_t) -> ::boolean_t;
- pub fn malloc_zone_print(zone: *mut ::malloc_zone_t, verbose: ::boolean_t);
- pub fn malloc_zone_statistics(zone: *mut ::malloc_zone_t, stats: *mut malloc_statistics_t);
- pub fn malloc_zone_log(zone: *mut ::malloc_zone_t, address: *mut ::c_void);
- pub fn malloc_zone_print_ptr_info(ptr: *mut ::c_void);
- pub fn malloc_default_zone() -> *mut ::malloc_zone_t;
- pub fn malloc_zone_from_ptr(ptr: *const ::c_void) -> *mut ::malloc_zone_t;
- pub fn malloc_zone_malloc(zone: *mut ::malloc_zone_t, size: ::size_t) -> *mut ::c_void;
- pub fn malloc_zone_valloc(zone: *mut ::malloc_zone_t, size: ::size_t) -> *mut ::c_void;
- pub fn malloc_zone_calloc(
- zone: *mut ::malloc_zone_t,
- num_items: ::size_t,
- size: ::size_t,
- ) -> *mut ::c_void;
- pub fn malloc_zone_realloc(
- zone: *mut ::malloc_zone_t,
- ptr: *mut ::c_void,
- size: ::size_t,
- ) -> *mut ::c_void;
- pub fn malloc_zone_free(zone: *mut ::malloc_zone_t, ptr: *mut ::c_void);
-
- pub fn proc_listpids(
- t: u32,
- typeinfo: u32,
- buffer: *mut ::c_void,
- buffersize: ::c_int,
- ) -> ::c_int;
- pub fn proc_listallpids(buffer: *mut ::c_void, buffersize: ::c_int) -> ::c_int;
- pub fn proc_listpgrppids(
- pgrpid: ::pid_t,
- buffer: *mut ::c_void,
- buffersize: ::c_int,
- ) -> ::c_int;
- pub fn proc_listchildpids(ppid: ::pid_t, buffer: *mut ::c_void, buffersize: ::c_int)
- -> ::c_int;
- pub fn proc_pidinfo(
- pid: ::c_int,
- flavor: ::c_int,
- arg: u64,
- buffer: *mut ::c_void,
- buffersize: ::c_int,
- ) -> ::c_int;
- pub fn proc_pidfdinfo(
- pid: ::c_int,
- fd: ::c_int,
- flavor: ::c_int,
- buffer: *mut ::c_void,
- buffersize: ::c_int,
- ) -> ::c_int;
- pub fn proc_pidfileportinfo(
- pid: ::c_int,
- fileport: u32,
- flavor: ::c_int,
- buffer: *mut ::c_void,
- buffersize: ::c_int,
- ) -> ::c_int;
- pub fn proc_pidpath(pid: ::c_int, buffer: *mut ::c_void, buffersize: u32) -> ::c_int;
- pub fn proc_name(pid: ::c_int, buffer: *mut ::c_void, buffersize: u32) -> ::c_int;
- pub fn proc_regionfilename(
- pid: ::c_int,
- address: u64,
- buffer: *mut ::c_void,
- 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_pid_rusage(pid: ::c_int, flavor: ::c_int, buffer: *mut rusage_info_t) -> ::c_int;
-
- // Available from Big Sur
- pub fn proc_set_no_smt() -> ::c_int;
- pub fn proc_setthread_no_smt() -> ::c_int;
- pub fn proc_set_csm(flags: u32) -> ::c_int;
- pub fn proc_setthread_csm(flags: u32) -> ::c_int;
- /// # Notes
- ///
- /// `id` is of type [`uuid_t`].
- pub fn gethostuuid(id: *mut u8, timeout: *const ::timespec) -> ::c_int;
-
- pub fn gethostid() -> ::c_long;
- pub fn sethostid(hostid: ::c_long);
-
- pub fn CCRandomGenerateBytes(bytes: *mut ::c_void, size: ::size_t) -> ::CCRNGStatus;
-
- pub fn _NSGetExecutablePath(buf: *mut ::c_char, bufsize: *mut u32) -> ::c_int;
- pub fn _NSGetEnviron() -> *mut *mut *mut ::c_char;
-
- pub fn mach_vm_map(
- target_task: ::vm_map_t,
- address: *mut ::mach_vm_address_t,
- size: ::mach_vm_size_t,
- mask: ::mach_vm_offset_t,
- flags: ::c_int,
- object: ::mem_entry_name_port_t,
- offset: ::memory_object_offset_t,
- copy: ::boolean_t,
- cur_protection: ::vm_prot_t,
- max_protection: ::vm_prot_t,
- inheritance: ::vm_inherit_t,
- ) -> ::kern_return_t;
-
- pub fn vm_deallocate(
- target_task: vm_map_t,
- address: vm_address_t,
- size: vm_size_t,
- ) -> ::kern_return_t;
-
- pub fn host_statistics64(
- host_priv: host_t,
- flavor: host_flavor_t,
- host_info64_out: host_info64_t,
- host_info64_outCnt: *mut mach_msg_type_number_t,
- ) -> ::kern_return_t;
- pub fn host_processor_info(
- host: host_t,
- flavor: processor_flavor_t,
- out_processor_count: *mut natural_t,
- out_processor_info: *mut processor_info_array_t,
- out_processor_infoCnt: *mut mach_msg_type_number_t,
- ) -> ::kern_return_t;
-
- pub static mut mach_task_self_: ::mach_port_t;
- pub fn task_for_pid(
- host: ::mach_port_t,
- pid: ::pid_t,
- task: *mut ::mach_port_t,
- ) -> ::kern_return_t;
- pub fn task_info(
- host: ::mach_port_t,
- flavor: task_flavor_t,
- task_info_out: task_info_t,
- task_info_count: *mut mach_msg_type_number_t,
- ) -> ::kern_return_t;
- pub fn host_statistics(
- host_priv: host_t,
- flavor: host_flavor_t,
- host_info_out: host_info_t,
- host_info_outCnt: *mut mach_msg_type_number_t,
- ) -> ::kern_return_t;
-
- // sysdir.h
- pub fn sysdir_start_search_path_enumeration(
- dir: sysdir_search_path_directory_t,
- domainMask: sysdir_search_path_domain_mask_t,
- ) -> ::sysdir_search_path_enumeration_state;
- pub fn sysdir_get_next_search_path_enumeration(
- state: ::sysdir_search_path_enumeration_state,
- path: *mut ::c_char,
- ) -> ::sysdir_search_path_enumeration_state;
-
- pub static vm_page_size: vm_size_t;
-}
-
-pub unsafe fn mach_task_self() -> ::mach_port_t {
- mach_task_self_
-}
-
-cfg_if! {
- if #[cfg(target_os = "macos")] {
- extern "C" {
- pub fn clock_settime(clock_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
- pub fn memmem(
- haystack: *const ::c_void,
- haystacklen: ::size_t,
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
- }
- }
-}
-
-#[link(name = "iconv")]
-extern "C" {
pub fn iconv_open(tocode: *const ::c_char, fromcode: *const ::c_char) -> iconv_t;
pub fn iconv(
cd: iconv_t,
diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs
index f4fa6047..60ab2188 100644
--- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs
+++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs
@@ -18,20 +18,10 @@ pub type uuid_t = ::uuid;
pub type fsblkcnt_t = u64;
pub type fsfilcnt_t = u64;
pub type idtype_t = ::c_uint;
-pub type shmatt_t = ::c_uint;
pub type mqd_t = ::c_int;
pub type sem_t = *mut sem;
-pub type cpuset_t = cpumask_t;
-pub type cpu_set_t = cpumask_t;
-
-pub type register_t = ::c_long;
-pub type umtx_t = ::c_int;
-pub type pthread_barrierattr_t = ::c_int;
-pub type pthread_barrier_t = ::uintptr_t;
-pub type pthread_spinlock_t = ::uintptr_t;
-
#[cfg_attr(feature = "extra_traits", derive(Debug))]
pub enum sem {}
impl ::Copy for sem {}
@@ -123,11 +113,11 @@ s! {
pub st_ctime_nsec: ::c_long,
pub st_size: ::off_t,
pub st_blocks: i64,
- pub __old_st_blksize: u32,
+ pub st_blksize: u32,
pub st_flags: u32,
pub st_gen: u32,
pub st_lspare: i32,
- pub st_blksize: i64,
+ pub st_qspare1: i64,
pub st_qspare2: i64,
}
@@ -190,74 +180,10 @@ s! {
}
pub struct stack_t {
- pub ss_sp: *mut ::c_void,
+ pub ss_sp: *mut ::c_char,
pub ss_size: ::size_t,
pub ss_flags: ::c_int,
}
-
- pub struct cpumask_t {
- ary: [u64; 4],
- }
-
- 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,
- shm_internal: *mut ::c_void,
- }
-
- pub struct kinfo_file {
- pub f_size: ::size_t,
- pub f_pid: ::pid_t,
- pub f_uid: ::uid_t,
- pub f_fd: ::c_int,
- pub f_file: *mut ::c_void,
- pub f_type: ::c_short,
- pub f_count: ::c_int,
- pub f_msgcount: ::c_int,
- pub f_offset: ::off_t,
- pub f_data: *mut ::c_void,
- pub f_flag: ::c_uint,
- }
-
- pub struct kinfo_cputime {
- pub cp_user: u64,
- pub cp_nice: u64,
- pub cp_sys: u64,
- pub cp_intr: u64,
- pub cp_idel: u64,
- cp_unused01: u64,
- cp_unused02: u64,
- pub cp_sample_pc: u64,
- pub cp_sample_sp: u64,
- pub cp_msg: [::c_char; 32],
- }
-
- pub struct cpuctl_msr_args_t {
- pub msr: ::c_int,
- pub data: u64,
- }
-
- pub struct cpuctl_cpuid_args_t {
- pub level: ::c_int,
- pub data: [u32; 4],
- }
-
- pub struct cpuctl_cpuid_count_args_t {
- pub level: ::c_int,
- pub level_type: ::c_int,
- pub data: [u32; 4],
- }
-
- pub struct cpuctl_update_args_t {
- pub data: *mut ::c_void,
- pub size: ::size_t,
- }
}
s_no_extra_traits! {
@@ -278,13 +204,6 @@ s_no_extra_traits! {
pub ut_unused2: [u8; 16],
}
- pub struct lastlogx {
- pub ll_tv: ::timeval,
- pub ll_line: [::c_char; _UTX_LINESIZE],
- pub ll_host: [::c_char; _UTX_HOSTSIZE],
- pub ll_ss: ::sockaddr_storage,
- }
-
pub struct dirent {
pub d_fileno: ::ino_t,
pub d_namlen: u16,
@@ -295,7 +214,6 @@ s_no_extra_traits! {
}
pub struct statfs {
- __spare2: ::c_long,
pub f_bsize: ::c_long,
pub f_iosize: ::c_long,
pub f_blocks: ::c_long,
@@ -305,18 +223,15 @@ s_no_extra_traits! {
pub f_ffree: ::c_long,
pub f_fsid: ::fsid_t,
pub f_owner: ::uid_t,
- pub f_type: ::c_int,
- pub f_flags: ::c_int,
+ pub f_type: i32,
+ pub f_flags: i32,
pub f_syncwrites: ::c_long,
pub f_asyncwrites: ::c_long,
pub f_fstypename: [::c_char; 16],
- pub f_mntonname: [::c_char; 80],
+ pub f_mntonname: [::c_char; 90],
pub f_syncreads: ::c_long,
pub f_asyncreads: ::c_long,
- __spares1: ::c_short,
- pub f_mntfromname: [::c_char; 80],
- __spares2: ::c_short,
- __spare: [::c_long; 2],
+ pub f_mntfromname: [::c_char; 90],
}
pub struct sigevent {
@@ -331,51 +246,6 @@ s_no_extra_traits! {
pub sigev_value: ::sigval,
__unused3: *mut ::c_void //actually a function pointer
}
-
- pub struct mcontext_t {
- pub mc_onstack: register_t,
- pub mc_rdi: register_t,
- pub mc_rsi: register_t,
- pub mc_rdx: register_t,
- pub mc_rcx: register_t,
- pub mc_r8: register_t,
- pub mc_r9: register_t,
- pub mc_rax: register_t,
- pub mc_rbx: register_t,
- pub mc_rbp: register_t,
- pub mc_r10: register_t,
- pub mc_r11: register_t,
- pub mc_r12: register_t,
- pub mc_r13: register_t,
- pub mc_r14: register_t,
- pub mc_r15: register_t,
- pub mc_xflags: register_t,
- pub mc_trapno: register_t,
- pub mc_addr: register_t,
- pub mc_flags: register_t,
- pub mc_err: register_t,
- pub mc_rip: register_t,
- pub mc_cs: register_t,
- pub mc_rflags: register_t,
- pub mc_rsp: register_t,
- pub mc_ss: register_t,
- pub mc_len: ::c_uint,
- pub mc_fpformat: ::c_uint,
- pub mc_ownedfp: ::c_uint,
- __reserved: ::c_uint,
- __unused: [::c_uint; 8],
- pub mc_fpregs: [[::c_uint; 8]; 32],
- }
-
- 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_cofunc: ::Option<unsafe extern "C" fn(uc: *mut ucontext_t, arg: *mut ::c_void)>,
- pub uc_arg: *mut ::c_void,
- __pad: [::c_int; 4],
- }
}
cfg_if! {
@@ -435,33 +305,6 @@ cfg_if! {
self.ut_unused2.hash(state);
}
}
- impl PartialEq for lastlogx {
- fn eq(&self, other: &lastlogx) -> bool {
- self.ll_tv == other.ll_tv
- && self.ll_line == other.ll_line
- && self.ll_host == other.ll_host
- && self.ll_ss == other.ll_ss
- }
- }
- impl Eq for lastlogx {}
- impl ::fmt::Debug for lastlogx {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("lastlogx")
- .field("ll_tv", &self.ll_tv)
- .field("ll_line", &self.ll_line)
- .field("ll_host", &self.ll_host)
- .field("ll_ss", &self.ll_ss)
- .finish()
- }
- }
- impl ::hash::Hash for lastlogx {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.ll_tv.hash(state);
- self.ll_line.hash(state);
- self.ll_host.hash(state);
- self.ll_ss.hash(state);
- }
- }
impl PartialEq for dirent {
fn eq(&self, other: &dirent) -> bool {
@@ -602,157 +445,12 @@ cfg_if! {
self.sigev_value.hash(state);
}
}
- impl PartialEq for mcontext_t {
- fn eq(&self, other: &mcontext_t) -> bool {
- self.mc_onstack == other.mc_onstack &&
- self.mc_rdi == other.mc_rdi &&
- self.mc_rsi == other.mc_rsi &&
- self.mc_rdx == other.mc_rdx &&
- self.mc_rcx == other.mc_rcx &&
- self.mc_r8 == other.mc_r8 &&
- self.mc_r9 == other.mc_r9 &&
- self.mc_rax == other.mc_rax &&
- self.mc_rbx == other.mc_rbx &&
- self.mc_rbp == other.mc_rbp &&
- self.mc_r10 == other.mc_r10 &&
- self.mc_r11 == other.mc_r11 &&
- self.mc_r12 == other.mc_r12 &&
- self.mc_r13 == other.mc_r13 &&
- self.mc_r14 == other.mc_r14 &&
- self.mc_r15 == other.mc_r15 &&
- self.mc_xflags == other.mc_xflags &&
- self.mc_trapno == other.mc_trapno &&
- self.mc_addr == other.mc_addr &&
- self.mc_flags == other.mc_flags &&
- self.mc_err == other.mc_err &&
- self.mc_rip == other.mc_rip &&
- self.mc_cs == other.mc_cs &&
- self.mc_rflags == other.mc_rflags &&
- self.mc_rsp == other.mc_rsp &&
- 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_fpregs.iter().zip(other.mc_fpregs.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_rdi", &self.mc_rdi)
- .field("mc_rsi", &self.mc_rsi)
- .field("mc_rdx", &self.mc_rdx)
- .field("mc_rcx", &self.mc_rcx)
- .field("mc_r8", &self.mc_r8)
- .field("mc_r9", &self.mc_r9)
- .field("mc_rax", &self.mc_rax)
- .field("mc_rbx", &self.mc_rbx)
- .field("mc_rbp", &self.mc_rbp)
- .field("mc_r10", &self.mc_r10)
- .field("mc_r11", &self.mc_r11)
- .field("mc_r12", &self.mc_r12)
- .field("mc_r13", &self.mc_r13)
- .field("mc_r14", &self.mc_r14)
- .field("mc_r15", &self.mc_r15)
- .field("mc_xflags", &self.mc_xflags)
- .field("mc_trapno", &self.mc_trapno)
- .field("mc_addr", &self.mc_addr)
- .field("mc_flags", &self.mc_flags)
- .field("mc_err", &self.mc_err)
- .field("mc_rip", &self.mc_rip)
- .field("mc_cs", &self.mc_cs)
- .field("mc_rflags", &self.mc_rflags)
- .field("mc_rsp", &self.mc_rsp)
- .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_fpregs", &self.mc_fpregs)
- .finish()
- }
- }
- impl ::hash::Hash for mcontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.mc_onstack.hash(state);
- self.mc_rdi.hash(state);
- self.mc_rsi.hash(state);
- self.mc_rdx.hash(state);
- self.mc_rcx.hash(state);
- self.mc_r8.hash(state);
- self.mc_r9.hash(state);
- self.mc_rax.hash(state);
- self.mc_rbx.hash(state);
- self.mc_rbp.hash(state);
- self.mc_r10.hash(state);
- self.mc_r11.hash(state);
- self.mc_r10.hash(state);
- self.mc_r11.hash(state);
- self.mc_r12.hash(state);
- self.mc_r13.hash(state);
- self.mc_r14.hash(state);
- self.mc_r15.hash(state);
- self.mc_xflags.hash(state);
- self.mc_trapno.hash(state);
- self.mc_addr.hash(state);
- self.mc_flags.hash(state);
- self.mc_err.hash(state);
- self.mc_rip.hash(state);
- self.mc_cs.hash(state);
- self.mc_rflags.hash(state);
- self.mc_rsp.hash(state);
- self.mc_ss.hash(state);
- self.mc_len.hash(state);
- self.mc_fpformat.hash(state);
- self.mc_ownedfp.hash(state);
- self.mc_fpregs.hash(state);
- }
- }
- impl PartialEq for ucontext_t {
- fn eq(&self, other: &ucontext_t) -> bool {
- self.uc_sigmask == other.uc_sigmask
- && self.uc_mcontext == other.uc_mcontext
- && self.uc_link == other.uc_link
- && self.uc_stack == other.uc_stack
- && self.uc_cofunc == other.uc_cofunc
- && self.uc_arg == other.uc_arg
- }
- }
- impl Eq for ucontext_t {}
- impl ::fmt::Debug for ucontext_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("ucontext_t")
- .field("uc_sigmask", &self.uc_sigmask)
- .field("uc_mcontext", &self.uc_mcontext)
- .field("uc_link", &self.uc_link)
- .field("uc_stack", &self.uc_stack)
- .field("uc_cofunc", &self.uc_cofunc)
- .field("uc_arg", &self.uc_arg)
- .finish()
- }
- }
- impl ::hash::Hash for ucontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.uc_sigmask.hash(state);
- self.uc_mcontext.hash(state);
- self.uc_link.hash(state);
- self.uc_stack.hash(state);
- self.uc_cofunc.hash(state);
- self.uc_arg.hash(state);
- }
- }
}
}
pub const RAND_MAX: ::c_int = 0x7fff_ffff;
pub const PTHREAD_STACK_MIN: ::size_t = 16384;
pub const SIGSTKSZ: ::size_t = 40960;
-pub const SIGCKPT: ::c_int = 33;
-pub const SIGCKPTEXIT: ::c_int = 34;
-pub const CKPT_FREEZE: ::c_int = 0x1;
-pub const CKPT_THAW: ::c_int = 0x2;
pub const MADV_INVAL: ::c_int = 10;
pub const MADV_SETMAP: ::c_int = 11;
pub const O_CLOEXEC: ::c_int = 0x00020000;
@@ -760,10 +458,7 @@ pub const O_DIRECTORY: ::c_int = 0x08000000;
pub const F_GETLK: ::c_int = 7;
pub const F_SETLK: ::c_int = 8;
pub const F_SETLKW: ::c_int = 9;
-pub const F_GETPATH: ::c_int = 19;
pub const ENOMEDIUM: ::c_int = 93;
-pub const ENOTRECOVERABLE: ::c_int = 94;
-pub const EOWNERDEAD: ::c_int = 95;
pub const EASYNC: ::c_int = 99;
pub const ELAST: ::c_int = 99;
pub const RLIMIT_POSIXLOCKS: ::c_int = 11;
@@ -905,14 +600,6 @@ pub const CTL_P1003_1B_SIGQUEUE_MAX: ::c_int = 24;
pub const CTL_P1003_1B_TIMER_MAX: ::c_int = 25;
pub const CTL_P1003_1B_MAXID: ::c_int = 26;
-pub const CPUCTL_RSMSR: ::c_int = 0xc0106301;
-pub const CPUCTL_WRMSR: ::c_int = 0xc0106302;
-pub const CPUCTL_CPUID: ::c_int = 0xc0106303;
-pub const CPUCTL_UPDATE: ::c_int = 0xc0106304;
-pub const CPUCTL_MSRSBIT: ::c_int = 0xc0106305;
-pub const CPUCTL_MSRCBIT: ::c_int = 0xc0106306;
-pub const CPUCTL_CPUID_COUNT: ::c_int = 0xc0106307;
-
pub const EVFILT_READ: i16 = -1;
pub const EVFILT_WRITE: i16 = -2;
pub const EVFILT_AIO: i16 = -3;
@@ -938,8 +625,6 @@ pub const EV_ERROR: u16 = 0x4000;
pub const EV_EOF: u16 = 0x8000;
pub const EV_SYSFLAGS: u16 = 0xf000;
-pub const FIODNAME: ::c_ulong = 0x80106678;
-
pub const NOTE_TRIGGER: u32 = 0x01000000;
pub const NOTE_FFNOP: u32 = 0x00000000;
pub const NOTE_FFAND: u32 = 0x40000000;
@@ -967,16 +652,9 @@ pub const NOTE_CHILD: u32 = 0x00000004;
pub const SO_SNDSPACE: ::c_int = 0x100a;
pub const SO_CPUHINT: ::c_int = 0x1030;
-pub const SO_PASSCRED: ::c_int = 0x4000;
pub const PT_FIRSTMACH: ::c_int = 32;
-pub const PROC_REAP_ACQUIRE: ::c_int = 0x0001;
-pub const PROC_REAP_RELEASE: ::c_int = 0x0002;
-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
pub const IFF_UP: ::c_int = 0x1; // interface is up
pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
@@ -1271,10 +949,6 @@ pub const DOWNTIME: ::c_short = 11;
pub const UTX_DB_UTMPX: ::c_uint = 0;
pub const UTX_DB_WTMPX: ::c_uint = 1;
pub const UTX_DB_LASTLOG: ::c_uint = 2;
-pub const _UTX_LINESIZE: usize = 32;
-pub const _UTX_USERSIZE: usize = 32;
-pub const _UTX_IDSIZE: usize = 4;
-pub const _UTX_HOSTSIZE: usize = 256;
pub const LC_COLLATE_MASK: ::c_int = 1 << 0;
pub const LC_CTYPE_MASK: ::c_int = 1 << 1;
@@ -1289,11 +963,11 @@ pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
| LC_NUMERIC_MASK
| LC_TIME_MASK;
-pub const TIOCSIG: ::c_ulong = 0x2000745f;
+pub const TIOCSIG: ::c_uint = 0x2000745f;
pub const BTUARTDISC: ::c_int = 0x7;
-pub const TIOCDCDTIMESTAMP: ::c_ulong = 0x40107458;
-pub const TIOCISPTMASTER: ::c_ulong = 0x20007455;
-pub const TIOCMODG: ::c_ulong = 0x40047403;
+pub const TIOCDCDTIMESTAMP: ::c_uint = 0x40107458;
+pub const TIOCISPTMASTER: ::c_uint = 0x20007455;
+pub const TIOCMODG: ::c_uint = 0x40047403;
pub const TIOCMODS: ::c_ulong = 0x80047404;
pub const TIOCREMOTE: ::c_ulong = 0x80047469;
@@ -1346,11 +1020,9 @@ pub const SF_XLINK: ::c_ulong = 0x01000000;
pub const UTIME_OMIT: c_long = -2;
pub const UTIME_NOW: c_long = -1;
-pub const MINCORE_SUPER: ::c_int = 0x20;
-
const_fn! {
{const} fn _CMSG_ALIGN(n: usize) -> usize {
- (n + (::mem::size_of::<::c_long>() - 1)) & !(::mem::size_of::<::c_long>() - 1)
+ (n + 3) & !3
}
}
@@ -1384,29 +1056,6 @@ f! {
(_CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) +
_CMSG_ALIGN(length as usize)) as ::c_uint
}
-
- pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
- for slot in cpuset.ary.iter_mut() {
- *slot = 0;
- }
- }
-
- pub fn CPU_SET(cpu: usize, cpuset: &mut cpu_set_t) -> () {
- let (idx, offset) = ((cpu >> 6) & 3, cpu & 63);
- cpuset.ary[idx] |= 1 << offset;
- ()
- }
-
- pub fn CPU_CLR(cpu: usize, cpuset: &mut cpu_set_t) -> () {
- let (idx, offset) = ((cpu >> 6) & 3, cpu & 63);
- cpuset.ary[idx] &= !(1 << offset);
- ()
- }
-
- pub fn CPU_ISSET(cpu: usize, cpuset: &cpu_set_t) -> bool {
- let (idx, offset) = ((cpu >> 6) & 3, cpu & 63);
- 0 != cpuset.ary[idx] & (1 << offset)
- }
}
safe_f! {
@@ -1424,13 +1073,6 @@ extern "C" {
pub fn aio_waitcomplete(iocbp: *mut *mut aiocb, timeout: *mut ::timespec) -> ::c_int;
- pub fn devname_r(
- dev: ::dev_t,
- mode: ::mode_t,
- buf: *mut ::c_char,
- len: ::size_t,
- ) -> *mut ::c_char;
-
pub fn waitid(
idtype: idtype_t,
id: ::id_t,
@@ -1456,31 +1098,6 @@ extern "C" {
needle: *const ::c_void,
needlelen: ::size_t,
) -> *mut ::c_void;
- pub fn pthread_spin_init(lock: *mut pthread_spinlock_t, pshared: ::c_int) -> ::c_int;
- pub fn pthread_spin_destroy(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_lock(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_trylock(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_unlock(lock: *mut pthread_spinlock_t) -> ::c_int;
-
- pub fn sched_getaffinity(pid: ::pid_t, cpusetsize: ::size_t, mask: *mut cpu_set_t) -> ::c_int;
- pub fn sched_setaffinity(pid: ::pid_t, cpusetsize: ::size_t, mask: *const cpu_set_t)
- -> ::c_int;
- pub fn sched_getcpu() -> ::c_int;
- pub fn setproctitle(fmt: *const ::c_char, ...);
-
- pub fn shmget(key: ::key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int;
- 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 procctl(idtype: ::idtype_t, id: ::id_t, cmd: ::c_int, data: *mut ::c_void) -> ::c_int;
-
- pub fn updwtmpx(file: *const ::c_char, ut: *const utmpx) -> ::c_int;
- pub fn getlastlogx(fname: *const ::c_char, uid: ::uid_t, ll: *mut lastlogx) -> *mut lastlogx;
- pub fn updlastlogx(fname: *const ::c_char, uid: ::uid_t, ll: *mut lastlogx) -> ::c_int;
- pub fn getutxuser(name: *const ::c_char) -> utmpx;
- pub fn utmpxname(file: *const ::c_char) -> ::c_int;
-
- pub fn sys_checkpoint(tpe: ::c_int, fd: ::c_int, pid: ::pid_t, retval: ::c_int) -> ::c_int;
}
#[link(name = "rt")]
@@ -1502,9 +1119,6 @@ extern "C" {
nitems: ::c_int,
sevp: *mut sigevent,
) -> ::c_int;
-
- pub fn reallocf(ptr: *mut ::c_void, size: ::size_t) -> *mut ::c_void;
- pub fn freezero(ptr: *mut ::c_void, size: ::size_t);
}
cfg_if! {
diff --git a/src/unix/bsd/freebsdlike/freebsd/aarch64.rs b/src/unix/bsd/freebsdlike/freebsd/aarch64.rs
index d29a8d2c..db0093a5 100644
--- a/src/unix/bsd/freebsdlike/freebsd/aarch64.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/aarch64.rs
@@ -17,130 +17,5 @@ cfg_if! {
}
}
-s_no_extra_traits! {
- pub struct gpregs {
- pub gp_x: [::register_t; 30],
- pub gp_lr: ::register_t,
- pub gp_sp: ::register_t,
- pub gp_elr: ::register_t,
- pub gp_spsr: u32,
- pub gp_pad: ::c_int,
- }
-
- pub struct fpregs {
- pub fp_q: u128,
- pub fp_sr: u32,
- pub fp_cr: u32,
- pub fp_flags: ::c_int,
- pub fp_pad: ::c_int,
- }
-
- pub struct mcontext_t {
- pub mc_gpregs: gpregs,
- pub mc_fpregs: fpregs,
- pub mc_flags: ::c_int,
- pub mc_pad: ::c_int,
- pub mc_spare: [u64; 8],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- impl PartialEq for gpregs {
- fn eq(&self, other: &gpregs) -> bool {
- self.gp_x.iter().zip(other.gp_x.iter()).all(|(a, b)| a == b) &&
- self.gp_lr == other.gp_lr &&
- self.gp_sp == other.gp_sp &&
- self.gp_elr == other.gp_elr &&
- self.gp_spsr == other.gp_spsr &&
- self.gp_pad == other.gp_pad
- }
- }
- impl Eq for gpregs {}
- impl ::fmt::Debug for gpregs {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("gpregs")
- .field("gp_x", &self.gp_x)
- .field("gp_lr", &self.gp_lr)
- .field("gp_sp", &self.gp_sp)
- .field("gp_elr", &self.gp_elr)
- .field("gp_spsr", &self.gp_spsr)
- .field("gp_pad", &self.gp_pad)
- .finish()
- }
- }
- impl ::hash::Hash for gpregs {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.gp_x.hash(state);
- self.gp_lr.hash(state);
- self.gp_sp.hash(state);
- self.gp_elr.hash(state);
- self.gp_spsr.hash(state);
- self.gp_pad.hash(state);
- }
- }
- impl PartialEq for fpregs {
- fn eq(&self, other: &fpregs) -> bool {
- self.fp_q == other.fp_q &&
- self.fp_sr == other.fp_sr &&
- self.fp_cr == other.fp_cr &&
- self.fp_flags == other.fp_flags &&
- self.fp_pad == other.fp_pad
- }
- }
- impl Eq for fpregs {}
- impl ::fmt::Debug for fpregs {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("fpregs")
- .field("fp_q", &self.fp_q)
- .field("fp_sr", &self.fp_sr)
- .field("fp_cr", &self.fp_cr)
- .field("fp_flags", &self.fp_flags)
- .field("fp_pad", &self.fp_pad)
- .finish()
- }
- }
- impl ::hash::Hash for fpregs {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.fp_q.hash(state);
- self.fp_sr.hash(state);
- self.fp_cr.hash(state);
- self.fp_flags.hash(state);
- self.fp_pad.hash(state);
- }
- }
- impl PartialEq for mcontext_t {
- fn eq(&self, other: &mcontext_t) -> bool {
- self.mc_gpregs == other.mc_gpregs &&
- self.mc_fpregs == other.mc_fpregs &&
- self.mc_flags == other.mc_flags &&
- self.mc_pad == other.mc_pad &&
- self.mc_spare.iter().zip(other.mc_spare.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_gpregs", &self.mc_gpregs)
- .field("mc_fpregs", &self.mc_fpregs)
- .field("mc_flags", &self.mc_flags)
- .field("mc_pad", &self.mc_pad)
- .field("mc_spare", &self.mc_spare)
- .finish()
- }
- }
- impl ::hash::Hash for mcontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.mc_gpregs.hash(state);
- self.mc_fpregs.hash(state);
- self.mc_flags.hash(state);
- self.mc_pad.hash(state);
- self.mc_spare.hash(state);
- }
- }
- }
-}
-
pub const MAP_32BIT: ::c_int = 0x00080000;
pub const MINSIGSTKSZ: ::size_t = 4096; // 1024 * 4
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
index 1af555fa..a0b51051 100644
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs
@@ -29,186 +29,6 @@ s! {
pub shm_dtime: ::time_t,
pub shm_ctime: ::time_t,
}
-
- 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: *mut ::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: ::dev_t,
- /// 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],
- /// 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,
- 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! {
@@ -247,17 +67,6 @@ s_no_extra_traits! {
// Array length changed from 88 to 1024 in FreeBSD 12:
pub f_mntonname: [::c_char; 88],
}
-
- pub struct vnstat {
- pub vn_fileid: u64,
- pub vn_size: u64,
- pub vn_mntdir: *mut ::c_char,
- pub vn_dev: u32,
- pub vn_fsid: u32,
- pub vn_type: ::c_int,
- pub vn_mode: u16,
- pub vn_devname: [::c_char; ::SPECNAMELEN as usize + 1],
- }
}
cfg_if! {
@@ -377,62 +186,11 @@ cfg_if! {
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_mntdir == other.vn_mntdir &&
- self.vn_dev == other.vn_dev &&
- self.vn_fsid == other.vn_fsid &&
- 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_mntdir", &self.vn_mntdir)
- .field("vn_dev", &self.vn_dev)
- .field("vn_fsid", &self.vn_fsid)
- .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_mntdir.hash(state);
- self.vn_dev.hash(state);
- self.vn_fsid.hash(state);
- self.vn_type.hash(state);
- self.vn_mode.hash(state);
- self_vn_devname.hash(state);
- }
- }
}
}
pub const ELAST: ::c_int = 96;
pub const RAND_MAX: ::c_int = 0x7fff_fffd;
-pub const KI_NSPARE_PTR: usize = 6;
-pub const MINCORE_SUPER: ::c_int = 0x20;
-/// max length of devicename
-pub const SPECNAMELEN: ::c_int = 63;
extern "C" {
// Return type ::c_int was removed in FreeBSD 12
@@ -459,8 +217,7 @@ extern "C" {
cfg_if! {
if #[cfg(any(target_arch = "x86_64",
- target_arch = "aarch64",
- target_arch = "riscv64"))] {
+ target_arch = "aarch64"))] {
mod b64;
pub use self::b64::*;
}
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
index 25c70c89..30fc8869 100644
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs
@@ -26,198 +26,6 @@ s! {
pub udata: *mut ::c_void,
pub ext: [u64; 4],
}
-
- pub struct kvm_page {
- pub version: ::c_uint,
- pub paddr: ::c_ulong,
- pub kmap_vaddr: ::c_ulong,
- pub dmap_vaddr: ::c_ulong,
- pub prot: ::vm_prot_t,
- pub offset: ::u_long,
- pub len: ::size_t,
- }
-
- 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: *mut ::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: ::dev_t,
- /// 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,
- 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! {
@@ -256,17 +64,6 @@ s_no_extra_traits! {
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! {
@@ -390,64 +187,24 @@ cfg_if! {
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 F_ADD_SEALS: ::c_int = 19;
+pub const F_GET_SEALS: ::c_int = 20;
+pub const F_SEAL_SEAL: ::c_int = 0x0001;
+pub const F_SEAL_SHRINK: ::c_int = 0x0002;
+pub const F_SEAL_GROW: ::c_int = 0x0004;
+pub const F_SEAL_WRITE: ::c_int = 0x0008;
+
+pub const GRND_NONBLOCK: ::c_uint = 0x1;
+pub const GRND_RANDOM: ::c_uint = 0x2;
+
pub const RAND_MAX: ::c_int = 0x7fff_fffd;
-pub const ELAST: ::c_int = 97;
-/// max length of devicename
-pub const SPECNAMELEN: ::c_int = 63;
-pub const KI_NSPARE_PTR: usize = 6;
+pub const SO_DOMAIN: ::c_int = 0x1019;
-pub const MINCORE_SUPER: ::c_int = 0x20;
+pub const ELAST: ::c_int = 96;
extern "C" {
pub fn setgrent();
@@ -470,24 +227,12 @@ extern "C" {
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;
}
cfg_if! {
if #[cfg(any(target_arch = "x86_64",
- target_arch = "aarch64",
- target_arch = "riscv64"))] {
+ target_arch = "aarch64"))] {
mod b64;
pub use self::b64::*;
}
}
-
-cfg_if! {
- if #[cfg(target_arch = "x86_64")] {
- mod x86_64;
- pub use self::x86_64::*;
- }
-}
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs
deleted file mode 100644
index 7bf25344..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-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;
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
index cc92b175..1753583b 100644
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs
@@ -1,12 +1,9 @@
-// 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;
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 {
@@ -29,205 +26,6 @@ s! {
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! {
@@ -266,17 +64,6 @@ s_no_extra_traits! {
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! {
@@ -400,73 +187,26 @@ cfg_if! {
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 F_ADD_SEALS: ::c_int = 19;
+pub const F_GET_SEALS: ::c_int = 20;
+pub const F_SEAL_SEAL: ::c_int = 0x0001;
+pub const F_SEAL_SHRINK: ::c_int = 0x0002;
+pub const F_SEAL_GROW: ::c_int = 0x0004;
+pub const F_SEAL_WRITE: ::c_int = 0x0008;
-pub const KF_TYPE_EVENTFD: ::c_int = 13;
+pub const GRND_NONBLOCK: ::c_uint = 0x1;
+pub const GRND_RANDOM: ::c_uint = 0x2;
-/// max length of devicename
-pub const SPECNAMELEN: ::c_int = 255;
-pub const KI_NSPARE_PTR: usize = 5;
+pub const RAND_MAX: ::c_int = 0x7fff_ffff;
-/// 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 SO_DOMAIN: ::c_int = 0x1019;
-pub const MINCORE_SUPER: ::c_int = 0x20;
+pub const EINTEGRITY: ::c_int = 97;
+pub const ELAST: ::c_int = 97;
+pub const GRND_INSECURE: ::c_uint = 0x4;
extern "C" {
pub fn aio_readv(aiocbp: *mut ::aiocb) -> ::c_int;
@@ -488,61 +228,15 @@ extern "C" {
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,
- 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 copy_file_range(
- infd: ::c_int,
- inoffp: *mut ::off_t,
- outfd: ::c_int,
- outoffp: *mut ::off_t,
- len: ::size_t,
- flags: ::c_uint,
- ) -> ::ssize_t;
-}
-
-#[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"))] {
+ target_arch = "aarch64"))] {
mod b64;
pub use self::b64::*;
}
}
-
-cfg_if! {
- if #[cfg(target_arch = "x86_64")] {
- mod x86_64;
- pub use self::x86_64::*;
- }
-}
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs
deleted file mode 100644
index 7bf25344..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-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;
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs
deleted file mode 100644
index 80c6fa16..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-#[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
- }
-}
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs
deleted file mode 100644
index 56b6412b..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs
+++ /dev/null
@@ -1,548 +0,0 @@
-// APIs in FreeBSD 13 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: ::intptr_t,
- 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;
-
-extern "C" {
- pub fn aio_readv(aiocbp: *mut ::aiocb) -> ::c_int;
- pub fn aio_writev(aiocbp: *mut ::aiocb) -> ::c_int;
- 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 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,
- 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 copy_file_range(
- infd: ::c_int,
- inoffp: *mut ::off_t,
- outfd: ::c_int,
- outoffp: *mut ::off_t,
- len: ::size_t,
- flags: ::c_uint,
- ) -> ::ssize_t;
-}
-
-#[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::*;
- }
-}
diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs
deleted file mode 100644
index 7bf25344..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-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;
diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs
index 9599e9cd..db495e48 100644
--- a/src/unix/bsd/freebsdlike/freebsd/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs
@@ -1,239 +1,23 @@
pub type fflags_t = u32;
pub type clock_t = i32;
-pub type vm_prot_t = u_char;
-pub type kvaddr_t = u64;
-pub type segsz_t = isize;
-pub type __fixpt_t = u32;
-pub type fixpt_t = __fixpt_t;
-pub type __lwpid_t = i32;
-pub type lwpid_t = __lwpid_t;
+pub type lwpid_t = i32;
pub type blksize_t = i32;
pub type clockid_t = ::c_int;
pub type sem_t = _sem;
-pub type timer_t = *mut __c_anonymous__timer;
pub type fsblkcnt_t = u64;
pub type fsfilcnt_t = u64;
pub type idtype_t = ::c_uint;
+pub type key_t = ::c_long;
pub type msglen_t = ::c_ulong;
pub type msgqnum_t = ::c_ulong;
-pub type cpulevel_t = ::c_int;
-pub type cpuwhich_t = ::c_int;
-
pub type mqd_t = *mut ::c_void;
pub type posix_spawnattr_t = *mut ::c_void;
pub type posix_spawn_file_actions_t = *mut ::c_void;
-pub type pthread_spinlock_t = *mut __c_anonymous_pthread_spinlock;
-pub type pthread_barrierattr_t = *mut __c_anonymous_pthread_barrierattr;
-pub type pthread_barrier_t = *mut __c_anonymous_pthread_barrier;
-
-pub type uuid_t = ::uuid;
-pub type u_int = ::c_uint;
-pub type u_char = ::c_uchar;
-pub type u_long = ::c_ulong;
-pub type u_short = ::c_ushort;
-
-pub type caddr_t = *mut ::c_char;
-
-pub type fhandle_t = fhandle;
-
-pub type au_id_t = ::uid_t;
-pub type au_asid_t = ::pid_t;
-
-// It's an alias over "struct __kvm_t". However, its fields aren't supposed to be used directly,
-// making the type definition system dependent. Better not bind it exactly.
-pub type kvm_t = ::c_void;
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_support_flags {
- DEVSTAT_ALL_SUPPORTED = 0x00,
- DEVSTAT_NO_BLOCKSIZE = 0x01,
- DEVSTAT_NO_ORDERED_TAGS = 0x02,
- DEVSTAT_BS_UNAVAILABLE = 0x04,
-}
-impl ::Copy for devstat_support_flags {}
-impl ::Clone for devstat_support_flags {
- fn clone(&self) -> devstat_support_flags {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_trans_flags {
- DEVSTAT_NO_DATA = 0x00,
- DEVSTAT_READ = 0x01,
- DEVSTAT_WRITE = 0x02,
- DEVSTAT_FREE = 0x03,
-}
-
-impl ::Copy for devstat_trans_flags {}
-impl ::Clone for devstat_trans_flags {
- fn clone(&self) -> devstat_trans_flags {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_tag_type {
- DEVSTAT_TAG_SIMPLE = 0x00,
- DEVSTAT_TAG_HEAD = 0x01,
- DEVSTAT_TAG_ORDERED = 0x02,
- DEVSTAT_TAG_NONE = 0x03,
-}
-impl ::Copy for devstat_tag_type {}
-impl ::Clone for devstat_tag_type {
- fn clone(&self) -> devstat_tag_type {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_match_flags {
- DEVSTAT_MATCH_NONE = 0x00,
- DEVSTAT_MATCH_TYPE = 0x01,
- DEVSTAT_MATCH_IF = 0x02,
- DEVSTAT_MATCH_PASS = 0x04,
-}
-impl ::Copy for devstat_match_flags {}
-impl ::Clone for devstat_match_flags {
- fn clone(&self) -> devstat_match_flags {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_priority {
- DEVSTAT_PRIORITY_MIN = 0x000,
- DEVSTAT_PRIORITY_OTHER = 0x020,
- DEVSTAT_PRIORITY_PASS = 0x030,
- DEVSTAT_PRIORITY_FD = 0x040,
- DEVSTAT_PRIORITY_WFD = 0x050,
- DEVSTAT_PRIORITY_TAPE = 0x060,
- DEVSTAT_PRIORITY_CD = 0x090,
- DEVSTAT_PRIORITY_DISK = 0x110,
- DEVSTAT_PRIORITY_ARRAY = 0x120,
- DEVSTAT_PRIORITY_MAX = 0xfff,
-}
-impl ::Copy for devstat_priority {}
-impl ::Clone for devstat_priority {
- fn clone(&self) -> devstat_priority {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_type_flags {
- DEVSTAT_TYPE_DIRECT = 0x000,
- DEVSTAT_TYPE_SEQUENTIAL = 0x001,
- DEVSTAT_TYPE_PRINTER = 0x002,
- DEVSTAT_TYPE_PROCESSOR = 0x003,
- DEVSTAT_TYPE_WORM = 0x004,
- DEVSTAT_TYPE_CDROM = 0x005,
- DEVSTAT_TYPE_SCANNER = 0x006,
- DEVSTAT_TYPE_OPTICAL = 0x007,
- DEVSTAT_TYPE_CHANGER = 0x008,
- DEVSTAT_TYPE_COMM = 0x009,
- DEVSTAT_TYPE_ASC0 = 0x00a,
- DEVSTAT_TYPE_ASC1 = 0x00b,
- DEVSTAT_TYPE_STORARRAY = 0x00c,
- DEVSTAT_TYPE_ENCLOSURE = 0x00d,
- DEVSTAT_TYPE_FLOPPY = 0x00e,
- DEVSTAT_TYPE_MASK = 0x00f,
- DEVSTAT_TYPE_IF_SCSI = 0x010,
- DEVSTAT_TYPE_IF_IDE = 0x020,
- DEVSTAT_TYPE_IF_OTHER = 0x030,
- DEVSTAT_TYPE_IF_MASK = 0x0f0,
- DEVSTAT_TYPE_PASS = 0x100,
-}
-impl ::Copy for devstat_type_flags {}
-impl ::Clone for devstat_type_flags {
- fn clone(&self) -> devstat_type_flags {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_metric {
- DSM_NONE,
- DSM_TOTAL_BYTES,
- DSM_TOTAL_BYTES_READ,
- DSM_TOTAL_BYTES_WRITE,
- DSM_TOTAL_TRANSFERS,
- DSM_TOTAL_TRANSFERS_READ,
- DSM_TOTAL_TRANSFERS_WRITE,
- DSM_TOTAL_TRANSFERS_OTHER,
- DSM_TOTAL_BLOCKS,
- DSM_TOTAL_BLOCKS_READ,
- DSM_TOTAL_BLOCKS_WRITE,
- DSM_KB_PER_TRANSFER,
- DSM_KB_PER_TRANSFER_READ,
- DSM_KB_PER_TRANSFER_WRITE,
- DSM_TRANSFERS_PER_SECOND,
- DSM_TRANSFERS_PER_SECOND_READ,
- DSM_TRANSFERS_PER_SECOND_WRITE,
- DSM_TRANSFERS_PER_SECOND_OTHER,
- DSM_MB_PER_SECOND,
- DSM_MB_PER_SECOND_READ,
- DSM_MB_PER_SECOND_WRITE,
- DSM_BLOCKS_PER_SECOND,
- DSM_BLOCKS_PER_SECOND_READ,
- DSM_BLOCKS_PER_SECOND_WRITE,
- DSM_MS_PER_TRANSACTION,
- DSM_MS_PER_TRANSACTION_READ,
- DSM_MS_PER_TRANSACTION_WRITE,
- DSM_SKIP,
- DSM_TOTAL_BYTES_FREE,
- DSM_TOTAL_TRANSFERS_FREE,
- DSM_TOTAL_BLOCKS_FREE,
- DSM_KB_PER_TRANSFER_FREE,
- DSM_MB_PER_SECOND_FREE,
- DSM_TRANSFERS_PER_SECOND_FREE,
- DSM_BLOCKS_PER_SECOND_FREE,
- DSM_MS_PER_TRANSACTION_OTHER,
- DSM_MS_PER_TRANSACTION_FREE,
- DSM_BUSY_PCT,
- DSM_QUEUE_LENGTH,
- DSM_TOTAL_DURATION,
- DSM_TOTAL_DURATION_READ,
- DSM_TOTAL_DURATION_WRITE,
- DSM_TOTAL_DURATION_FREE,
- DSM_TOTAL_DURATION_OTHER,
- DSM_TOTAL_BUSY_TIME,
- DSM_MAX,
-}
-impl ::Copy for devstat_metric {}
-impl ::Clone for devstat_metric {
- fn clone(&self) -> devstat_metric {
- *self
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))]
-#[repr(u32)]
-pub enum devstat_select_mode {
- DS_SELECT_ADD,
- DS_SELECT_ONLY,
- DS_SELECT_REMOVE,
- DS_SELECT_ADDONLY,
-}
-impl ::Copy for devstat_select_mode {}
-impl ::Clone for devstat_select_mode {
- fn clone(&self) -> devstat_select_mode {
- *self
- }
-}
-
s! {
pub struct aiocb {
pub aio_fildes: ::c_int,
@@ -280,10 +64,15 @@ s! {
pub struct _sem {
data: [u32; 4],
}
- pub struct sembuf {
- pub sem_num: ::c_ushort,
- pub sem_op: ::c_short,
- pub sem_flg: ::c_short,
+
+ pub struct ipc_perm {
+ pub cuid: ::uid_t,
+ pub cgid: ::gid_t,
+ pub uid: ::uid_t,
+ pub gid: ::gid_t,
+ pub mode: ::mode_t,
+ pub seq: ::c_ushort,
+ pub key: ::key_t,
}
pub struct msqid_ds {
@@ -332,662 +121,6 @@ s! {
pub pve_fsid: u32,
pub pve_path: *mut ::c_char,
}
-
- pub struct ptrace_lwpinfo {
- pub pl_lwpid: lwpid_t,
- pub pl_event: ::c_int,
- pub pl_flags: ::c_int,
- pub pl_sigmask: ::sigset_t,
- pub pl_siglist: ::sigset_t,
- pub pl_siginfo: ::siginfo_t,
- pub pl_tdname: [::c_char; ::MAXCOMLEN as usize + 1],
- pub pl_child_pid: ::pid_t,
- pub pl_syscall_code: ::c_uint,
- pub pl_syscall_narg: ::c_uint,
- }
-
- pub struct ptrace_sc_ret {
- pub sr_retval: [::register_t; 2],
- pub sr_error: ::c_int,
- }
-
- pub struct ptrace_coredump {
- pub pc_fd: ::c_int,
- pub pc_flags: u32,
- pub pc_limit: ::off_t,
- }
-
- pub struct cpuset_t {
- #[cfg(target_pointer_width = "64")]
- __bits: [::c_long; 4],
- #[cfg(target_pointer_width = "32")]
- __bits: [::c_long; 8],
- }
-
- pub struct cap_rights_t {
- cr_rights: [u64; 2],
- }
-
- pub struct umutex {
- m_owner: ::lwpid_t,
- m_flags: u32,
- m_ceilings: [u32; 2],
- m_rb_link: ::uintptr_t,
- #[cfg(target_pointer_width = "32")]
- m_pad: u32,
- m_spare: [u32; 2],
-
- }
-
- pub struct ucond {
- c_has_waiters: u32,
- c_flags: u32,
- c_clockid: u32,
- c_spare: [u32; 1],
- }
-
- pub struct uuid {
- pub time_low: u32,
- pub time_mid: u16,
- pub time_hi_and_version: u16,
- pub clock_seq_hi_and_reserved: u8,
- pub clock_seq_low: u8,
- pub node: [u8; _UUID_NODE_LEN],
- }
-
- pub struct __c_anonymous_pthread_spinlock {
- s_clock: umutex,
- }
-
- pub struct __c_anonymous_pthread_barrierattr {
- pshared: ::c_int,
- }
-
- pub struct __c_anonymous_pthread_barrier {
- b_lock: umutex,
- b_cv: ucond,
- b_cycle: i64,
- b_count: ::c_int,
- b_waiters: ::c_int,
- b_refcount: ::c_int,
- b_destroying: ::c_int,
- }
-
- pub struct kinfo_vmentry {
- pub kve_structsize: ::c_int,
- pub kve_type: ::c_int,
- pub kve_start: u64,
- pub kve_end: u64,
- pub kve_offset: u64,
- pub kve_vn_fileid: u64,
- #[cfg(not(freebsd11))]
- pub kve_vn_fsid_freebsd11: u32,
- #[cfg(freebsd11)]
- pub kve_vn_fsid: u32,
- pub kve_flags: ::c_int,
- pub kve_resident: ::c_int,
- pub kve_private_resident: ::c_int,
- pub kve_protection: ::c_int,
- pub kve_ref_count: ::c_int,
- pub kve_shadow_count: ::c_int,
- pub kve_vn_type: ::c_int,
- pub kve_vn_size: u64,
- #[cfg(not(freebsd11))]
- pub kve_vn_rdev_freebsd11: u32,
- #[cfg(freebsd11)]
- pub kve_vn_rdev: u32,
- pub kve_vn_mode: u16,
- pub kve_status: u16,
- #[cfg(not(freebsd11))]
- pub kve_vn_fsid: u64,
- #[cfg(not(freebsd11))]
- pub kve_vn_rdev: u64,
- #[cfg(not(freebsd11))]
- _kve_is_spare: [::c_int; 8],
- #[cfg(freebsd11)]
- _kve_is_spare: [::c_int; 12],
- pub kve_path: [[::c_char; 32]; 32],
- }
-
- pub struct __c_anonymous_filestat {
- pub stqe_next: *mut filestat,
- }
-
- pub struct filestat {
- pub fs_type: ::c_int,
- pub fs_flags: ::c_int,
- pub fs_fflags: ::c_int,
- pub fs_uflags: ::c_int,
- pub fs_fd: ::c_int,
- pub fs_ref_count: ::c_int,
- pub fs_offset: ::off_t,
- pub fs_typedep: *mut ::c_void,
- pub fs_path: *mut ::c_char,
- pub next: __c_anonymous_filestat,
- pub fs_cap_rights: cap_rights_t,
- }
-
- pub struct filestat_list {
- pub stqh_first: *mut filestat,
- pub stqh_last: *mut *mut filestat,
- }
-
- pub struct procstat {
- pub tpe: ::c_int,
- pub kd: ::uintptr_t,
- pub vmentries: *mut ::c_void,
- pub files: *mut ::c_void,
- pub argv: *mut ::c_void,
- pub envv: *mut ::c_void,
- pub core: ::uintptr_t,
- }
-
- pub struct itimerspec {
- pub it_interval: ::timespec,
- pub it_value: ::timespec,
- }
-
- pub struct __c_anonymous__timer {
- _priv: [::c_int; 3],
- }
-
- /// Used to hold a copy of the command line, if it had a sane length.
- pub struct pargs {
- /// Reference count.
- pub ar_ref: u_int,
- /// Length.
- pub ar_length: u_int,
- /// Arguments.
- pub ar_args: [::c_uchar; 1],
- }
-
- pub struct priority {
- /// Scheduling class.
- pub pri_class: u_char,
- /// Normal priority level.
- pub pri_level: u_char,
- /// Priority before propagation.
- pub pri_native: u_char,
- /// User priority based on p_cpu and p_nice.
- pub pri_user: u_char,
- }
-
- pub struct kvm_swap {
- pub ksw_devname: [::c_char; 32],
- pub ksw_used: u_int,
- pub ksw_total: u_int,
- pub ksw_flags: ::c_int,
- pub ksw_reserved1: u_int,
- pub ksw_reserved2: u_int,
- }
-
- pub struct nlist {
- /// symbol name (in memory)
- pub n_name: *const ::c_char,
- /// type defines
- pub n_type: ::c_uchar,
- /// "type" and binding information
- pub n_other: ::c_char,
- /// used by stab entries
- pub n_desc: ::c_short,
- pub n_value: ::c_ulong,
- }
-
- pub struct kvm_nlist {
- pub n_name: *const ::c_char,
- pub n_type: ::c_uchar,
- pub n_value: ::kvaddr_t,
- }
-
- pub struct __c_anonymous_sem {
- _priv: ::uintptr_t,
- }
-
- pub struct semid_ds {
- pub sem_perm: ::ipc_perm,
- pub __sem_base: *mut __c_anonymous_sem,
- pub sem_nsems: ::c_ushort,
- pub sem_otime: ::time_t,
- pub sem_ctime: ::time_t,
- }
-
- pub struct vmtotal {
- pub t_vm: u64,
- pub t_avm: u64,
- pub t_rm: u64,
- pub t_arm: u64,
- pub t_vmshr: u64,
- pub t_avmshr: u64,
- pub t_rmshr: u64,
- pub t_armshr: u64,
- pub t_free: u64,
- pub t_rq: i16,
- pub t_dw: i16,
- pub t_pw: i16,
- pub t_sl: i16,
- pub t_sw: i16,
- pub t_pad: [u16; 3],
- }
-
- pub struct sockstat {
- pub inp_ppcb: u64,
- pub so_addr: u64,
- pub so_pcb: u64,
- pub unp_conn: u64,
- pub dom_family: ::c_int,
- pub proto: ::c_int,
- pub so_rcv_sb_state: ::c_int,
- pub so_snd_sb_state: ::c_int,
- /// Socket address.
- pub sa_local: ::sockaddr_storage,
- /// Peer address.
- pub sa_peer: ::sockaddr_storage,
- pub type_: ::c_int,
- pub dname: [::c_char; 32],
- #[cfg(any(freebsd12, freebsd13, freebsd14))]
- pub sendq: ::c_uint,
- #[cfg(any(freebsd12, freebsd13, freebsd14))]
- pub recvq: ::c_uint,
- }
-
- pub struct shmstat {
- pub size: u64,
- pub mode: u16,
- }
-
- pub struct spacectl_range {
- pub r_offset: ::off_t,
- pub r_len: ::off_t
- }
-
- pub struct rusage_ext {
- pub rux_runtime: u64,
- pub rux_uticks: u64,
- pub rux_sticks: u64,
- pub rux_iticks: u64,
- pub rux_uu: u64,
- pub rux_su: u64,
- pub rux_tu: u64,
- }
-
- pub struct if_clonereq {
- pub ifcr_total: ::c_int,
- pub ifcr_count: ::c_int,
- pub ifcr_buffer: *mut ::c_char,
- }
-
- pub struct if_msghdr {
- /// to skip over non-understood messages
- pub ifm_msglen: ::c_ushort,
- /// future binary compatibility
- pub ifm_version: ::c_uchar,
- /// message type
- pub ifm_type: ::c_uchar,
- /// like rtm_addrs
- pub ifm_addrs: ::c_int,
- /// value of if_flags
- pub ifm_flags: ::c_int,
- /// index for associated ifp
- pub ifm_index: ::c_ushort,
- pub _ifm_spare1: ::c_ushort,
- /// statistics and other data about if
- pub ifm_data: if_data,
- }
-
- pub struct if_msghdrl {
- /// to skip over non-understood messages
- pub ifm_msglen: ::c_ushort,
- /// future binary compatibility
- pub ifm_version: ::c_uchar,
- /// message type
- pub ifm_type: ::c_uchar,
- /// like rtm_addrs
- pub ifm_addrs: ::c_int,
- /// value of if_flags
- pub ifm_flags: ::c_int,
- /// index for associated ifp
- pub ifm_index: ::c_ushort,
- /// spare space to grow if_index, see if_var.h
- pub _ifm_spare1: ::c_ushort,
- /// length of if_msghdrl incl. if_data
- pub ifm_len: ::c_ushort,
- /// offset of if_data from beginning
- pub ifm_data_off: ::c_ushort,
- pub _ifm_spare2: ::c_int,
- /// statistics and other data about if
- pub ifm_data: if_data,
- }
-
- pub struct ifa_msghdr {
- /// to skip over non-understood messages
- pub ifam_msglen: ::c_ushort,
- /// future binary compatibility
- pub ifam_version: ::c_uchar,
- /// message type
- pub ifam_type: ::c_uchar,
- /// like rtm_addrs
- pub ifam_addrs: ::c_int,
- /// value of ifa_flags
- pub ifam_flags: ::c_int,
- /// index for associated ifp
- pub ifam_index: ::c_ushort,
- pub _ifam_spare1: ::c_ushort,
- /// value of ifa_ifp->if_metric
- pub ifam_metric: ::c_int,
- }
-
- pub struct ifa_msghdrl {
- /// to skip over non-understood messages
- pub ifam_msglen: ::c_ushort,
- /// future binary compatibility
- pub ifam_version: ::c_uchar,
- /// message type
- pub ifam_type: ::c_uchar,
- /// like rtm_addrs
- pub ifam_addrs: ::c_int,
- /// value of ifa_flags
- pub ifam_flags: ::c_int,
- /// index for associated ifp
- pub ifam_index: ::c_ushort,
- /// spare space to grow if_index, see if_var.h
- pub _ifam_spare1: ::c_ushort,
- /// length of ifa_msghdrl incl. if_data
- pub ifam_len: ::c_ushort,
- /// offset of if_data from beginning
- pub ifam_data_off: ::c_ushort,
- /// value of ifa_ifp->if_metric
- pub ifam_metric: ::c_int,
- /// statistics and other data about if or address
- pub ifam_data: if_data,
- }
-
- pub struct ifma_msghdr {
- /// to skip over non-understood messages
- pub ifmam_msglen: ::c_ushort,
- /// future binary compatibility
- pub ifmam_version: ::c_uchar,
- /// message type
- pub ifmam_type: ::c_uchar,
- /// like rtm_addrs
- pub ifmam_addrs: ::c_int,
- /// value of ifa_flags
- pub ifmam_flags: ::c_int,
- /// index for associated ifp
- pub ifmam_index: ::c_ushort,
- pub _ifmam_spare1: ::c_ushort,
- }
-
- pub struct if_announcemsghdr {
- /// to skip over non-understood messages
- pub ifan_msglen: ::c_ushort,
- /// future binary compatibility
- pub ifan_version: ::c_uchar,
- /// message type
- pub ifan_type: ::c_uchar,
- /// index for associated ifp
- pub ifan_index: ::c_ushort,
- /// if name, e.g. "en0"
- pub ifan_name: [::c_char; ::IFNAMSIZ as usize],
- /// what type of announcement
- pub ifan_what: ::c_ushort,
- }
-
- pub struct ifreq_buffer {
- pub length: ::size_t,
- pub buffer: *mut ::c_void,
- }
-
- pub struct ifaliasreq {
- /// if name, e.g. "en0"
- pub ifra_name: [::c_char; ::IFNAMSIZ as usize],
- pub ifra_addr: ::sockaddr,
- pub ifra_broadaddr: ::sockaddr,
- pub ifra_mask: ::sockaddr,
- pub ifra_vhid: ::c_int,
- }
-
- /// 9.x compat
- pub struct oifaliasreq {
- /// if name, e.g. "en0"
- pub ifra_name: [::c_char; ::IFNAMSIZ as usize],
- pub ifra_addr: ::sockaddr,
- pub ifra_broadaddr: ::sockaddr,
- pub ifra_mask: ::sockaddr,
- }
-
- pub struct ifmediareq {
- /// if name, e.g. "en0"
- pub ifm_name: [::c_char; ::IFNAMSIZ as usize],
- /// current media options
- pub ifm_current: ::c_int,
- /// don't care mask
- pub ifm_mask: ::c_int,
- /// media status
- pub ifm_status: ::c_int,
- /// active options
- pub ifm_active: ::c_int,
- /// # entries in ifm_ulist array
- pub ifm_count: ::c_int,
- /// media words
- pub ifm_ulist: *mut ::c_int,
- }
-
- pub struct ifdrv {
- /// if name, e.g. "en0"
- pub ifd_name: [::c_char; ::IFNAMSIZ as usize],
- pub ifd_cmd: ::c_ulong,
- pub ifd_len: ::size_t,
- pub ifd_data: *mut ::c_void,
- }
-
- pub struct ifi2creq {
- /// i2c address (0xA0, 0xA2)
- pub dev_addr: u8,
- /// read offset
- pub offset: u8,
- /// read length
- pub len: u8,
- pub spare0: u8,
- pub spare1: u32,
- /// read buffer
- pub data: [u8; 8],
- }
-
- pub struct ifrsshash {
- /// if name, e.g. "en0"
- pub ifrh_name: [::c_char; ::IFNAMSIZ as usize],
- /// RSS_FUNC_
- pub ifrh_func: u8,
- pub ifrh_spare0: u8,
- pub ifrh_spare1: u16,
- /// RSS_TYPE_
- pub ifrh_types: u32,
- }
-
- pub struct ifmibdata {
- /// name of interface
- pub ifmd_name: [::c_char; ::IFNAMSIZ as usize],
- /// number of promiscuous listeners
- pub ifmd_pcount: ::c_int,
- /// interface flags
- pub ifmd_flags: ::c_int,
- /// instantaneous length of send queue
- pub ifmd_snd_len: ::c_int,
- /// maximum length of send queue
- pub ifmd_snd_maxlen: ::c_int,
- /// number of drops in send queue
- pub ifmd_snd_drops: ::c_int,
- /// for future expansion
- pub ifmd_filler: [::c_int; 4],
- /// generic information and statistics
- pub ifmd_data: if_data,
- }
-
- pub struct ifmib_iso_8802_3 {
- pub dot3StatsAlignmentErrors: u32,
- pub dot3StatsFCSErrors: u32,
- pub dot3StatsSingleCollisionFrames: u32,
- pub dot3StatsMultipleCollisionFrames: u32,
- pub dot3StatsSQETestErrors: u32,
- pub dot3StatsDeferredTransmissions: u32,
- pub dot3StatsLateCollisions: u32,
- pub dot3StatsExcessiveCollisions: u32,
- pub dot3StatsInternalMacTransmitErrors: u32,
- pub dot3StatsCarrierSenseErrors: u32,
- pub dot3StatsFrameTooLongs: u32,
- pub dot3StatsInternalMacReceiveErrors: u32,
- pub dot3StatsEtherChipSet: u32,
- pub dot3StatsMissedFrames: u32,
- pub dot3StatsCollFrequencies: [u32; 16],
- pub dot3Compliance: u32,
- }
-
- pub struct __c_anonymous_ph {
- pub ph1: u64,
- pub ph2: u64,
- }
-
- pub struct fid {
- pub fid_len: ::c_ushort,
- pub fid_data0: ::c_ushort,
- pub fid_data: [::c_char; ::MAXFIDSZ as usize],
- }
-
- pub struct fhandle {
- pub fh_fsid: ::fsid_t,
- pub fh_fid: fid,
- }
-
- pub struct bintime {
- pub sec: ::time_t,
- pub frac: u64,
- }
-
- pub struct clockinfo {
- /// clock frequency
- pub hz: ::c_int,
- /// micro-seconds per hz tick
- pub tick: ::c_int,
- pub spare: ::c_int,
- /// statistics clock frequency
- pub stathz: ::c_int,
- /// profiling clock frequency
- pub profhz: ::c_int,
- }
-
- pub struct __c_anonymous_stailq_entry_devstat {
- pub stqe_next: *mut devstat,
- }
-
- pub struct devstat {
- /// Update sequence
- pub sequence0: ::u_int,
- /// Allocated entry
- pub allocated: ::c_int,
- /// started ops
- pub start_count: ::u_int,
- /// completed ops
- pub end_count: ::u_int,
- /// busy time unaccounted for since this time
- pub busy_from: bintime,
- pub dev_links: __c_anonymous_stailq_entry_devstat,
- /// Devstat device number.
- pub device_number: u32,
- pub device_name: [::c_char; DEVSTAT_NAME_LEN as usize],
- pub unit_number: ::c_int,
- pub bytes: [u64; DEVSTAT_N_TRANS_FLAGS as usize],
- pub operations: [u64; DEVSTAT_N_TRANS_FLAGS as usize],
- pub duration: [bintime; DEVSTAT_N_TRANS_FLAGS as usize],
- pub busy_time: bintime,
- /// Time the device was created.
- pub creation_time: bintime,
- /// Block size, bytes
- pub block_size: u32,
- /// The number of simple, ordered, and head of queue tags sent.
- pub tag_types: [u64; 3],
- /// Which statistics are supported by a given device.
- pub flags: devstat_support_flags,
- /// Device type
- pub device_type: devstat_type_flags,
- /// Controls list pos.
- pub priority: devstat_priority,
- /// Identification for GEOM nodes
- pub id: *const ::c_void,
- /// Update sequence
- pub sequence1: ::u_int,
- }
-
- pub struct devstat_match {
- pub match_fields: devstat_match_flags,
- pub device_type: devstat_type_flags,
- pub num_match_categories: ::c_int,
- }
-
- pub struct devstat_match_table {
- pub match_str: *const ::c_char,
- pub type_: devstat_type_flags,
- pub match_field: devstat_match_flags,
- }
-
- pub struct device_selection {
- pub device_number: u32,
- pub device_name: [::c_char; DEVSTAT_NAME_LEN as usize],
- pub unit_number: ::c_int,
- pub selected: ::c_int,
- pub bytes: u64,
- pub position: ::c_int,
- }
-
- pub struct devinfo {
- pub devices: *mut devstat,
- pub mem_ptr: *mut u8,
- pub generation: ::c_long,
- pub numdevs: ::c_int,
- }
-
- pub struct sockcred2 {
- pub sc_version: ::c_int,
- pub sc_pid: ::pid_t,
- pub sc_uid: ::uid_t,
- pub sc_euid: ::uid_t,
- pub sc_gid: ::gid_t,
- pub sc_egid: ::gid_t,
- pub sc_ngroups: ::c_int,
- pub sc_groups: [::gid_t; 1],
- }
-
- pub struct ifconf {
- pub ifc_len: ::c_int,
- #[cfg(libc_union)]
- pub ifc_ifcu: __c_anonymous_ifc_ifcu,
- }
-
- pub struct au_mask_t {
- pub am_success: ::c_uint,
- pub am_failure: ::c_uint,
- }
-
- pub struct au_tid_t {
- pub port: u32,
- pub machine: u32,
- }
-
- pub struct auditinfo_t {
- pub ai_auid: ::au_id_t,
- pub ai_mask: ::au_mask_t,
- pub ai_termid: au_tid_t,
- pub ai_asid: ::au_asid_t,
- }
-
- pub struct tcp_fastopen {
- pub enable: ::c_int,
- pub psk: [u8; ::TCP_FASTOPEN_PSK_LEN as usize],
- }
-
- pub struct tcp_function_set {
- pub function_set_name: [::c_char; ::TCP_FUNCTION_NAME_LEN_MAX as usize],
- pub pcbcnt: u32,
- }
}
s_no_extra_traits! {
@@ -1049,155 +182,6 @@ s_no_extra_traits! {
__unused1: ::c_int,
__unused2: [::c_long; 7]
}
-
- pub struct ptsstat {
- #[cfg(any(freebsd12, freebsd13, freebsd14))]
- pub dev: u64,
- #[cfg(not(any(freebsd12, freebsd13, freebsd14)))]
- pub dev: u32,
- pub devname: [::c_char; SPECNAMELEN as usize + 1],
- }
-
- #[cfg(libc_union)]
- pub union __c_anonymous_elf32_auxv_union {
- pub a_val: ::c_int,
- }
-
- pub struct Elf32_Auxinfo {
- pub a_type: ::c_int,
- #[cfg(libc_union)]
- pub a_un: __c_anonymous_elf32_auxv_union,
- }
-
- #[cfg(libc_union)]
- pub union __c_anonymous_ifi_epoch {
- pub tt: ::time_t,
- pub ph: u64,
- }
-
- #[cfg(libc_union)]
- pub union __c_anonymous_ifi_lastchange {
- pub tv: ::timeval,
- pub ph: __c_anonymous_ph,
- }
-
- pub struct if_data {
- /// ethernet, tokenring, etc
- pub ifi_type: u8,
- /// e.g., AUI, Thinnet, 10base-T, etc
- pub ifi_physical: u8,
- /// media address length
- pub ifi_addrlen: u8,
- /// media header length
- pub ifi_hdrlen: u8,
- /// current link state
- pub ifi_link_state: u8,
- /// carp vhid
- pub ifi_vhid: u8,
- /// length of this data struct
- pub ifi_datalen: u16,
- /// maximum transmission unit
- pub ifi_mtu: u32,
- /// routing metric (external only)
- pub ifi_metric: u32,
- /// linespeed
- pub ifi_baudrate: u64,
- /// packets received on interface
- pub ifi_ipackets: u64,
- /// input errors on interface
- pub ifi_ierrors: u64,
- /// packets sent on interface
- pub ifi_opackets: u64,
- /// output errors on interface
- pub ifi_oerrors: u64,
- /// collisions on csma interfaces
- pub ifi_collisions: u64,
- /// total number of octets received
- pub ifi_ibytes: u64,
- /// total number of octets sent
- pub ifi_obytes: u64,
- /// packets received via multicast
- pub ifi_imcasts: u64,
- /// packets sent via multicast
- pub ifi_omcasts: u64,
- /// dropped on input
- pub ifi_iqdrops: u64,
- /// dropped on output
- pub ifi_oqdrops: u64,
- /// destined for unsupported protocol
- pub ifi_noproto: u64,
- /// HW offload capabilities, see IFCAP
- pub ifi_hwassist: u64,
- /// uptime at attach or stat reset
- #[cfg(libc_union)]
- pub __ifi_epoch: __c_anonymous_ifi_epoch,
- /// uptime at attach or stat reset
- #[cfg(not(libc_union))]
- pub __ifi_epoch: u64,
- /// time of last administrative change
- #[cfg(libc_union)]
- pub __ifi_lastchange: __c_anonymous_ifi_lastchange,
- /// time of last administrative change
- #[cfg(not(libc_union))]
- pub __ifi_lastchange: ::timeval,
- }
-
- #[cfg(libc_union)]
- pub union __c_anonymous_ifr_ifru {
- pub ifru_addr: ::sockaddr,
- pub ifru_dstaddr: ::sockaddr,
- pub ifru_broadaddr: ::sockaddr,
- pub ifru_buffer: ifreq_buffer,
- pub ifru_flags: [::c_short; 2],
- pub ifru_index: ::c_short,
- pub ifru_jid: ::c_int,
- pub ifru_metric: ::c_int,
- pub ifru_mtu: ::c_int,
- pub ifru_phys: ::c_int,
- pub ifru_media: ::c_int,
- pub ifru_data: ::caddr_t,
- pub ifru_cap: [::c_int; 2],
- pub ifru_fib: ::c_uint,
- pub ifru_vlan_pcp: ::c_uchar,
- }
-
- pub struct ifreq {
- /// if name, e.g. "en0"
- 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: ::caddr_t,
- pub ifcu_req: *mut ifreq,
- }
-
- pub struct ifstat {
- /// if name, e.g. "en0"
- pub ifs_name: [::c_char; ::IFNAMSIZ as usize],
- pub ascii: [::c_char; ::IFSTATMAX as usize + 1],
- }
-
- pub struct ifrsskey {
- /// if name, e.g. "en0"
- pub ifrk_name: [::c_char; ::IFNAMSIZ as usize],
- /// RSS_FUNC_
- pub ifrk_func: u8,
- pub ifrk_spare0: u8,
- pub ifrk_keylen: u16,
- pub ifrk_key: [u8; ::RSS_KEYLEN as usize],
- }
-
- pub struct ifdownreason {
- pub ifdr_name: [::c_char; ::IFNAMSIZ as usize],
- pub ifdr_reason: u32,
- pub ifdr_vendor: u32,
- pub ifdr_msg: [::c_char; ::IFDR_MSG_SIZE as usize],
- }
}
cfg_if! {
@@ -1418,471 +402,9 @@ cfg_if! {
self.sigev_notify_thread_id.hash(state);
}
}
-
- impl PartialEq for ptsstat {
- fn eq(&self, other: &ptsstat) -> bool {
- let self_devname: &[::c_char] = &self.devname;
- let other_devname: &[::c_char] = &other.devname;
-
- self.dev == other.dev && self_devname == other_devname
- }
- }
- impl Eq for ptsstat {}
- impl ::fmt::Debug for ptsstat {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let self_devname: &[::c_char] = &self.devname;
-
- f.debug_struct("ptsstat")
- .field("dev", &self.dev)
- .field("devname", &self_devname)
- .finish()
- }
- }
- impl ::hash::Hash for ptsstat {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- let self_devname: &[::c_char] = &self.devname;
-
- self.dev.hash(state);
- self_devname.hash(state);
- }
- }
-
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_elf32_auxv_union {
- fn eq(&self, other: &__c_anonymous_elf32_auxv_union) -> bool {
- unsafe { self.a_val == other.a_val}
- }
- }
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_elf32_auxv_union {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_elf32_auxv_union {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("a_val")
- .field("a_val", unsafe { &self.a_val })
- .finish()
- }
- }
- #[cfg(not(libc_union))]
- impl PartialEq for Elf32_Auxinfo {
- fn eq(&self, other: &Elf32_Auxinfo) -> bool {
- self.a_type == other.a_type
- }
- }
- #[cfg(libc_union)]
- impl PartialEq for Elf32_Auxinfo {
- fn eq(&self, other: &Elf32_Auxinfo) -> bool {
- self.a_type == other.a_type
- && self.a_un == other.a_un
- }
- }
- impl Eq for Elf32_Auxinfo {}
- #[cfg(not(libc_union))]
- impl ::fmt::Debug for Elf32_Auxinfo {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("Elf32_Auxinfo")
- .field("a_type", &self.a_type)
- .finish()
- }
- }
- #[cfg(libc_union)]
- impl ::fmt::Debug for Elf32_Auxinfo {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("Elf32_Auxinfo")
- .field("a_type", &self.a_type)
- .field("a_un", &self.a_un)
- .finish()
- }
- }
-
- #[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_buffer == other.ifru_buffer &&
- self.ifru_flags == other.ifru_flags &&
- self.ifru_index == other.ifru_index &&
- self.ifru_jid == other.ifru_jid &&
- self.ifru_metric == other.ifru_metric &&
- self.ifru_mtu == other.ifru_mtu &&
- self.ifru_phys == other.ifru_phys &&
- self.ifru_media == other.ifru_media &&
- self.ifru_data == other.ifru_data &&
- self.ifru_cap == other.ifru_cap &&
- self.ifru_fib == other.ifru_fib &&
- self.ifru_vlan_pcp == other.ifru_vlan_pcp
- }
- }
- }
- #[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("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_buffer", unsafe { &self.ifru_buffer })
- .field("ifru_flags", unsafe { &self.ifru_flags })
- .field("ifru_index", unsafe { &self.ifru_index })
- .field("ifru_jid", unsafe { &self.ifru_jid })
- .field("ifru_metric", unsafe { &self.ifru_metric })
- .field("ifru_mtu", unsafe { &self.ifru_mtu })
- .field("ifru_phys", unsafe { &self.ifru_phys })
- .field("ifru_media", unsafe { &self.ifru_media })
- .field("ifru_data", unsafe { &self.ifru_data })
- .field("ifru_cap", unsafe { &self.ifru_cap })
- .field("ifru_fib", unsafe { &self.ifru_fib })
- .field("ifru_vlan_pcp", unsafe { &self.ifru_vlan_pcp })
- .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) };
- unsafe { self.ifru_dstaddr.hash(state) };
- unsafe { self.ifru_broadaddr.hash(state) };
- unsafe { self.ifru_buffer.hash(state) };
- unsafe { self.ifru_flags.hash(state) };
- unsafe { self.ifru_index.hash(state) };
- unsafe { self.ifru_jid.hash(state) };
- unsafe { self.ifru_metric.hash(state) };
- unsafe { self.ifru_mtu.hash(state) };
- unsafe { self.ifru_phys.hash(state) };
- unsafe { self.ifru_media.hash(state) };
- unsafe { self.ifru_data.hash(state) };
- unsafe { self.ifru_cap.hash(state) };
- unsafe { self.ifru_fib.hash(state) };
- unsafe { self.ifru_vlan_pcp.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) };
- }
- }
-
- impl PartialEq for ifstat {
- fn eq(&self, other: &ifstat) -> bool {
- let self_ascii: &[::c_char] = &self.ascii;
- let other_ascii: &[::c_char] = &other.ascii;
-
- self.ifs_name == other.ifs_name && self_ascii == other_ascii
- }
- }
- impl Eq for ifstat {}
- impl ::fmt::Debug for ifstat {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let ascii: &[::c_char] = &self.ascii;
-
- f.debug_struct("ifstat")
- .field("ifs_name", &self.ifs_name)
- .field("ascii", &ascii)
- .finish()
- }
- }
- impl ::hash::Hash for ifstat {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.ifs_name.hash(state);
- self.ascii.hash(state);
- }
- }
-
- impl PartialEq for ifrsskey {
- fn eq(&self, other: &ifrsskey) -> bool {
- let self_ifrk_key: &[u8] = &self.ifrk_key;
- let other_ifrk_key: &[u8] = &other.ifrk_key;
-
- self.ifrk_name == other.ifrk_name &&
- self.ifrk_func == other.ifrk_func &&
- self.ifrk_spare0 == other.ifrk_spare0 &&
- self.ifrk_keylen == other.ifrk_keylen &&
- self_ifrk_key == other_ifrk_key
- }
- }
- impl Eq for ifrsskey {}
- impl ::fmt::Debug for ifrsskey {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let ifrk_key: &[u8] = &self.ifrk_key;
-
- f.debug_struct("ifrsskey")
- .field("ifrk_name", &self.ifrk_name)
- .field("ifrk_func", &self.ifrk_func)
- .field("ifrk_spare0", &self.ifrk_spare0)
- .field("ifrk_keylen", &self.ifrk_keylen)
- .field("ifrk_key", &ifrk_key)
- .finish()
- }
- }
- impl ::hash::Hash for ifrsskey {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.ifrk_name.hash(state);
- self.ifrk_func.hash(state);
- self.ifrk_spare0.hash(state);
- self.ifrk_keylen.hash(state);
- self.ifrk_key.hash(state);
- }
- }
-
- impl PartialEq for ifdownreason {
- fn eq(&self, other: &ifdownreason) -> bool {
- let self_ifdr_msg: &[::c_char] = &self.ifdr_msg;
- let other_ifdr_msg: &[::c_char] = &other.ifdr_msg;
-
- self.ifdr_name == other.ifdr_name &&
- self.ifdr_reason == other.ifdr_reason &&
- self.ifdr_vendor == other.ifdr_vendor &&
- self_ifdr_msg == other_ifdr_msg
- }
- }
- impl Eq for ifdownreason {}
- impl ::fmt::Debug for ifdownreason {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- let ifdr_msg: &[::c_char] = &self.ifdr_msg;
-
- f.debug_struct("ifdownreason")
- .field("ifdr_name", &self.ifdr_name)
- .field("ifdr_reason", &self.ifdr_reason)
- .field("ifdr_vendor", &self.ifdr_vendor)
- .field("ifdr_msg", &ifdr_msg)
- .finish()
- }
- }
- impl ::hash::Hash for ifdownreason {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.ifdr_name.hash(state);
- self.ifdr_reason.hash(state);
- self.ifdr_vendor.hash(state);
- self.ifdr_msg.hash(state);
- }
- }
-
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_ifi_epoch {
- fn eq(&self, other: &__c_anonymous_ifi_epoch) -> bool {
- unsafe {
- self.tt == other.tt &&
- self.ph == other.ph
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_ifi_epoch {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_ifi_epoch {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("__c_anonymous_ifi_epoch")
- .field("tt", unsafe { &self.tt })
- .field("ph", unsafe { &self.ph })
- .finish()
- }
- }
- #[cfg(libc_union)]
- impl ::hash::Hash for __c_anonymous_ifi_epoch {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- self.tt.hash(state);
- self.ph.hash(state);
- }
- }
- }
-
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_ifi_lastchange {
- fn eq(&self, other: &__c_anonymous_ifi_lastchange) -> bool {
- unsafe {
- self.tv == other.tv &&
- self.ph == other.ph
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_ifi_lastchange {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_ifi_lastchange {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("__c_anonymous_ifi_lastchange")
- .field("tv", unsafe { &self.tv })
- .field("ph", unsafe { &self.ph })
- .finish()
- }
- }
- #[cfg(libc_union)]
- impl ::hash::Hash for __c_anonymous_ifi_lastchange {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- self.tv.hash(state);
- self.ph.hash(state);
- }
- }
- }
-
- impl PartialEq for if_data {
- fn eq(&self, other: &if_data) -> bool {
- self.ifi_type == other.ifi_type &&
- self.ifi_physical == other.ifi_physical &&
- self.ifi_addrlen == other.ifi_addrlen &&
- self.ifi_hdrlen == other.ifi_hdrlen &&
- self.ifi_link_state == other.ifi_link_state &&
- self.ifi_vhid == other.ifi_vhid &&
- self.ifi_datalen == other.ifi_datalen &&
- self.ifi_mtu == other.ifi_mtu &&
- self.ifi_metric == other.ifi_metric &&
- self.ifi_baudrate == other.ifi_baudrate &&
- self.ifi_ipackets == other.ifi_ipackets &&
- self.ifi_ierrors == other.ifi_ierrors &&
- self.ifi_opackets == other.ifi_opackets &&
- self.ifi_oerrors == other.ifi_oerrors &&
- self.ifi_collisions == other.ifi_collisions &&
- self.ifi_ibytes == other.ifi_ibytes &&
- self.ifi_obytes == other.ifi_obytes &&
- self.ifi_imcasts == other.ifi_imcasts &&
- self.ifi_omcasts == other.ifi_omcasts &&
- self.ifi_iqdrops == other.ifi_iqdrops &&
- self.ifi_oqdrops == other.ifi_oqdrops &&
- self.ifi_noproto == other.ifi_noproto &&
- self.ifi_hwassist == other.ifi_hwassist &&
- self.__ifi_epoch == other.__ifi_epoch &&
- self.__ifi_lastchange == other.__ifi_lastchange
- }
- }
- impl Eq for if_data {}
- impl ::fmt::Debug for if_data {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("if_data")
- .field("ifi_type", &self.ifi_type)
- .field("ifi_physical", &self.ifi_physical)
- .field("ifi_addrlen", &self.ifi_addrlen)
- .field("ifi_hdrlen", &self.ifi_hdrlen)
- .field("ifi_link_state", &self.ifi_link_state)
- .field("ifi_vhid", &self.ifi_vhid)
- .field("ifi_datalen", &self.ifi_datalen)
- .field("ifi_mtu", &self.ifi_mtu)
- .field("ifi_metric", &self.ifi_metric)
- .field("ifi_baudrate", &self.ifi_baudrate)
- .field("ifi_ipackets", &self.ifi_ipackets)
- .field("ifi_ierrors", &self.ifi_ierrors)
- .field("ifi_opackets", &self.ifi_opackets)
- .field("ifi_oerrors", &self.ifi_oerrors)
- .field("ifi_collisions", &self.ifi_collisions)
- .field("ifi_ibytes", &self.ifi_ibytes)
- .field("ifi_obytes", &self.ifi_obytes)
- .field("ifi_imcasts", &self.ifi_imcasts)
- .field("ifi_omcasts", &self.ifi_omcasts)
- .field("ifi_iqdrops", &self.ifi_iqdrops)
- .field("ifi_oqdrops", &self.ifi_oqdrops)
- .field("ifi_noproto", &self.ifi_noproto)
- .field("ifi_hwassist", &self.ifi_hwassist)
- .field("__ifi_epoch", &self.__ifi_epoch)
- .field("__ifi_lastchange", &self.__ifi_lastchange)
- .finish()
- }
- }
- impl ::hash::Hash for if_data {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.ifi_type.hash(state);
- self.ifi_physical.hash(state);
- self.ifi_addrlen.hash(state);
- self.ifi_hdrlen.hash(state);
- self.ifi_link_state.hash(state);
- self.ifi_vhid.hash(state);
- self.ifi_datalen.hash(state);
- self.ifi_mtu.hash(state);
- self.ifi_metric.hash(state);
- self.ifi_baudrate.hash(state);
- self.ifi_ipackets.hash(state);
- self.ifi_ierrors.hash(state);
- self.ifi_opackets.hash(state);
- self.ifi_oerrors.hash(state);
- self.ifi_collisions.hash(state);
- self.ifi_ibytes.hash(state);
- self.ifi_obytes.hash(state);
- self.ifi_imcasts.hash(state);
- self.ifi_omcasts.hash(state);
- self.ifi_iqdrops.hash(state);
- self.ifi_oqdrops.hash(state);
- self.ifi_noproto.hash(state);
- self.ifi_hwassist.hash(state);
- self.__ifi_epoch.hash(state);
- self.__ifi_lastchange.hash(state);
- }
- }
- }
-}
-
-#[cfg_attr(feature = "extra_traits", derive(Debug))]
-#[repr(u32)]
-pub enum dot3Vendors {
- dot3VendorAMD = 1,
- dot3VendorIntel = 2,
- dot3VendorNational = 4,
- dot3VendorFujitsu = 5,
- dot3VendorDigital = 6,
- dot3VendorWesternDigital = 7,
-}
-impl ::Copy for dot3Vendors {}
-impl ::Clone for dot3Vendors {
- fn clone(&self) -> dot3Vendors {
- *self
}
}
-// sys/devicestat.h
-pub const DEVSTAT_N_TRANS_FLAGS: ::c_int = 4;
-pub const DEVSTAT_NAME_LEN: ::c_int = 16;
-
pub const SIGEV_THREAD_ID: ::c_int = 4;
pub const EXTATTR_NAMESPACE_EMPTY: ::c_int = 0;
@@ -1891,8 +413,6 @@ pub const EXTATTR_NAMESPACE_SYSTEM: ::c_int = 2;
pub const PTHREAD_STACK_MIN: ::size_t = MINSIGSTKSZ;
pub const PTHREAD_MUTEX_ADAPTIVE_NP: ::c_int = 4;
-pub const PTHREAD_MUTEX_STALLED: ::c_int = 0;
-pub const PTHREAD_MUTEX_ROBUST: ::c_int = 1;
pub const SIGSTKSZ: ::size_t = MINSIGSTKSZ + 32768;
pub const SF_NODISKIO: ::c_int = 0x00000001;
pub const SF_MNOWAIT: ::c_int = 0x00000002;
@@ -1910,22 +430,12 @@ pub const ENOTCAPABLE: ::c_int = 93;
pub const ECAPMODE: ::c_int = 94;
pub const ENOTRECOVERABLE: ::c_int = 95;
pub const EOWNERDEAD: ::c_int = 96;
-pub const EINTEGRITY: ::c_int = 97;
pub const RLIMIT_NPTS: ::c_int = 11;
pub const RLIMIT_SWAP: ::c_int = 12;
pub const RLIMIT_KQUEUES: ::c_int = 13;
pub const RLIMIT_UMTXP: ::c_int = 14;
#[deprecated(since = "0.2.64", note = "Not stable across OS versions")]
pub const RLIM_NLIMITS: ::rlim_t = 15;
-pub const RLIM_SAVED_MAX: ::rlim_t = ::RLIM_INFINITY;
-pub const RLIM_SAVED_CUR: ::rlim_t = ::RLIM_INFINITY;
-
-pub const CP_USER: ::c_int = 0;
-pub const CP_NICE: ::c_int = 1;
-pub const CP_SYS: ::c_int = 2;
-pub const CP_INTR: ::c_int = 3;
-pub const CP_IDLE: ::c_int = 4;
-pub const CPUSTATES: ::c_int = 5;
pub const NI_NOFQDN: ::c_int = 0x00000001;
pub const NI_NUMERICHOST: ::c_int = 0x00000002;
@@ -1934,15 +444,10 @@ pub const NI_NUMERICSERV: ::c_int = 0x00000008;
pub const NI_DGRAM: ::c_int = 0x00000010;
pub const NI_NUMERICSCOPE: ::c_int = 0x00000020;
-pub const XU_NGROUPS: ::c_int = 16;
-
pub const Q_GETQUOTA: ::c_int = 0x700;
pub const Q_SETQUOTA: ::c_int = 0x800;
pub const MAP_GUARD: ::c_int = 0x00002000;
-pub const MAP_EXCL: ::c_int = 0x00004000;
-pub const MAP_PREFAULT_READ: ::c_int = 0x00040000;
-pub const MAP_ALIGNED_SUPER: ::c_int = 1 << 24;
pub const POSIX_FADV_NORMAL: ::c_int = 0;
pub const POSIX_FADV_RANDOM: ::c_int = 1;
@@ -2010,6 +515,7 @@ pub const NOTE_USECONDS: u32 = 0x00000004;
pub const NOTE_NSECONDS: u32 = 0x00000008;
pub const MADV_PROTECT: ::c_int = 10;
+pub const RUSAGE_THREAD: ::c_int = 1;
#[doc(hidden)]
#[deprecated(
@@ -2027,58 +533,6 @@ pub const CTL_HW: ::c_int = 6;
pub const CTL_MACHDEP: ::c_int = 7;
pub const CTL_USER: ::c_int = 8;
pub const CTL_P1003_1B: ::c_int = 9;
-
-// sys/sysctl.h
-pub const CTL_MAXNAME: ::c_int = 24;
-
-pub const CTLTYPE: ::c_int = 0xf;
-pub const CTLTYPE_NODE: ::c_int = 1;
-pub const CTLTYPE_INT: ::c_int = 2;
-pub const CTLTYPE_STRING: ::c_int = 3;
-pub const CTLTYPE_S64: ::c_int = 4;
-pub const CTLTYPE_OPAQUE: ::c_int = 5;
-pub const CTLTYPE_STRUCT: ::c_int = CTLTYPE_OPAQUE;
-pub const CTLTYPE_UINT: ::c_int = 6;
-pub const CTLTYPE_LONG: ::c_int = 7;
-pub const CTLTYPE_ULONG: ::c_int = 8;
-pub const CTLTYPE_U64: ::c_int = 9;
-pub const CTLTYPE_U8: ::c_int = 0xa;
-pub const CTLTYPE_U16: ::c_int = 0xb;
-pub const CTLTYPE_S8: ::c_int = 0xc;
-pub const CTLTYPE_S16: ::c_int = 0xd;
-pub const CTLTYPE_S32: ::c_int = 0xe;
-pub const CTLTYPE_U32: ::c_int = 0xf;
-
-pub const CTLFLAG_RD: ::c_int = 0x80000000;
-pub const CTLFLAG_WR: ::c_int = 0x40000000;
-pub const CTLFLAG_RW: ::c_int = CTLFLAG_RD | CTLFLAG_WR;
-pub const CTLFLAG_DORMANT: ::c_int = 0x20000000;
-pub const CTLFLAG_ANYBODY: ::c_int = 0x10000000;
-pub const CTLFLAG_SECURE: ::c_int = 0x08000000;
-pub const CTLFLAG_PRISON: ::c_int = 0x04000000;
-pub const CTLFLAG_DYN: ::c_int = 0x02000000;
-pub const CTLFLAG_SKIP: ::c_int = 0x01000000;
-pub const CTLMASK_SECURE: ::c_int = 0x00F00000;
-pub const CTLFLAG_TUN: ::c_int = 0x00080000;
-pub const CTLFLAG_RDTUN: ::c_int = CTLFLAG_RD | CTLFLAG_TUN;
-pub const CTLFLAG_RWTUN: ::c_int = CTLFLAG_RW | CTLFLAG_TUN;
-pub const CTLFLAG_MPSAFE: ::c_int = 0x00040000;
-pub const CTLFLAG_VNET: ::c_int = 0x00020000;
-pub const CTLFLAG_DYING: ::c_int = 0x00010000;
-pub const CTLFLAG_CAPRD: ::c_int = 0x00008000;
-pub const CTLFLAG_CAPWR: ::c_int = 0x00004000;
-pub const CTLFLAG_STATS: ::c_int = 0x00002000;
-pub const CTLFLAG_NOFETCH: ::c_int = 0x00001000;
-pub const CTLFLAG_CAPRW: ::c_int = CTLFLAG_CAPRD | CTLFLAG_CAPWR;
-pub const CTLFLAG_NEEDGIANT: ::c_int = 0x00000800;
-
-pub const CTLSHIFT_SECURE: ::c_int = 20;
-pub const CTLFLAG_SECURE1: ::c_int = CTLFLAG_SECURE | (0 << CTLSHIFT_SECURE);
-pub const CTLFLAG_SECURE2: ::c_int = CTLFLAG_SECURE | (1 << CTLSHIFT_SECURE);
-pub const CTLFLAG_SECURE3: ::c_int = CTLFLAG_SECURE | (2 << CTLSHIFT_SECURE);
-
-pub const OID_AUTO: ::c_int = -1;
-
pub const CTL_SYSCTL_DEBUG: ::c_int = 0;
pub const CTL_SYSCTL_NAME: ::c_int = 1;
pub const CTL_SYSCTL_NEXT: ::c_int = 2;
@@ -2086,8 +540,6 @@ pub const CTL_SYSCTL_NAME2OID: ::c_int = 3;
pub const CTL_SYSCTL_OIDFMT: ::c_int = 4;
pub const CTL_SYSCTL_OIDDESCR: ::c_int = 5;
pub const CTL_SYSCTL_OIDLABEL: ::c_int = 6;
-pub const CTL_SYSCTL_NEXTNOSKIP: ::c_int = 7;
-
pub const KERN_OSTYPE: ::c_int = 1;
pub const KERN_OSRELEASE: ::c_int = 2;
pub const KERN_OSREV: ::c_int = 3;
@@ -2125,8 +577,6 @@ pub const KERN_LOGSIGEXIT: ::c_int = 34;
pub const KERN_IOV_MAX: ::c_int = 35;
pub const KERN_HOSTUUID: ::c_int = 36;
pub const KERN_ARND: ::c_int = 37;
-pub const KERN_MAXPHYS: ::c_int = 38;
-
pub const KERN_PROC_ALL: ::c_int = 0;
pub const KERN_PROC_PID: ::c_int = 1;
pub const KERN_PROC_PGRP: ::c_int = 2;
@@ -2154,10 +604,6 @@ pub const KERN_PROC_PS_STRINGS: ::c_int = 38;
pub const KERN_PROC_UMASK: ::c_int = 39;
pub const KERN_PROC_OSREL: ::c_int = 40;
pub const KERN_PROC_SIGTRAMP: ::c_int = 41;
-pub const KERN_PROC_CWD: ::c_int = 42;
-pub const KERN_PROC_NFDS: ::c_int = 43;
-pub const KERN_PROC_SIGFASTBLK: ::c_int = 44;
-
pub const KIPC_MAXSOCKBUF: ::c_int = 1;
pub const KIPC_SOCKBUF_WASTE: ::c_int = 2;
pub const KIPC_SOMAXCONN: ::c_int = 3;
@@ -2165,7 +611,6 @@ pub const KIPC_MAX_LINKHDR: ::c_int = 4;
pub const KIPC_MAX_PROTOHDR: ::c_int = 5;
pub const KIPC_MAX_HDR: ::c_int = 6;
pub const KIPC_MAX_DATALEN: ::c_int = 7;
-
pub const HW_MACHINE: ::c_int = 1;
pub const HW_MODEL: ::c_int = 2;
pub const HW_NCPU: ::c_int = 3;
@@ -2178,7 +623,6 @@ pub const HW_DISKSTATS: ::c_int = 9;
pub const HW_FLOATINGPT: ::c_int = 10;
pub const HW_MACHINE_ARCH: ::c_int = 11;
pub const HW_REALMEM: ::c_int = 12;
-
pub const USER_CS_PATH: ::c_int = 1;
pub const USER_BC_BASE_MAX: ::c_int = 2;
pub const USER_BC_DIM_MAX: ::c_int = 3;
@@ -2199,8 +643,6 @@ pub const USER_POSIX2_SW_DEV: ::c_int = 17;
pub const USER_POSIX2_UPE: ::c_int = 18;
pub const USER_STREAM_MAX: ::c_int = 19;
pub const USER_TZNAME_MAX: ::c_int = 20;
-pub const USER_LOCALBASE: ::c_int = 21;
-
pub const CTL_P1003_1B_ASYNCHRONOUS_IO: ::c_int = 1;
pub const CTL_P1003_1B_MAPPED_FILES: ::c_int = 2;
pub const CTL_P1003_1B_MEMLOCK: ::c_int = 3;
@@ -2226,18 +668,14 @@ pub const CTL_P1003_1B_SEM_NSEMS_MAX: ::c_int = 22;
pub const CTL_P1003_1B_SEM_VALUE_MAX: ::c_int = 23;
pub const CTL_P1003_1B_SIGQUEUE_MAX: ::c_int = 24;
pub const CTL_P1003_1B_TIMER_MAX: ::c_int = 25;
-
-pub const TIOCGPTN: ::c_ulong = 0x4004740f;
-pub const TIOCPTMASTER: ::c_ulong = 0x2000741c;
-pub const TIOCSIG: ::c_ulong = 0x2004745f;
+pub const TIOCGPTN: ::c_uint = 0x4004740f;
+pub const TIOCPTMASTER: ::c_uint = 0x2000741c;
+pub const TIOCSIG: ::c_uint = 0x2004745f;
pub const TIOCM_DCD: ::c_int = 0x40;
pub const H4DISC: ::c_int = 0x7;
-pub const VM_TOTAL: ::c_int = 1;
-
pub const BIOCSETFNR: ::c_ulong = 0x80104282;
-pub const FIODGNAME: ::c_ulong = 0x80106678;
pub const FIONWRITE: ::c_ulong = 0x40046677;
pub const FIONSPACE: ::c_ulong = 0x40046676;
pub const FIOSEEKDATA: ::c_ulong = 0xc0086661;
@@ -2254,18 +692,6 @@ pub const JAIL_SYS_DISABLE: ::c_int = 0;
pub const JAIL_SYS_NEW: ::c_int = 1;
pub const JAIL_SYS_INHERIT: ::c_int = 2;
-pub const MNT_ACLS: ::c_int = 0x08000000;
-pub const MNT_BYFSID: ::c_int = 0x08000000;
-pub const MNT_GJOURNAL: ::c_int = 0x02000000;
-pub const MNT_MULTILABEL: ::c_int = 0x04000000;
-pub const MNT_NFS4ACLS: ::c_int = 0x00000010;
-pub const MNT_SNAPSHOT: ::c_int = 0x01000000;
-pub const MNT_UNION: ::c_int = 0x00000020;
-pub const MNT_EXPUBLIC: ::c_int = 0x20000000;
-pub const MNT_NONBUSY: ::c_int = 0x04000000;
-
-pub const SCM_CREDS2: ::c_int = 0x08;
-
pub const SO_BINTIME: ::c_int = 0x2000;
pub const SO_NO_OFFLOAD: ::c_int = 0x4000;
pub const SO_NO_DDP: ::c_int = 0x8000;
@@ -2279,29 +705,12 @@ pub const SO_SETFIB: ::c_int = 0x1014;
pub const SO_USER_COOKIE: ::c_int = 0x1015;
pub const SO_PROTOCOL: ::c_int = 0x1016;
pub const SO_PROTOTYPE: ::c_int = SO_PROTOCOL;
-pub const SO_DOMAIN: ::c_int = 0x1019;
pub const SO_VENDOR: ::c_int = 0x80000000;
pub const LOCAL_CREDS: ::c_int = 2;
-pub const LOCAL_CREDS_PERSISTENT: ::c_int = 3;
pub const LOCAL_CONNWAIT: ::c_int = 4;
pub const LOCAL_VENDOR: ::c_int = SO_VENDOR;
-pub const PL_EVENT_NONE: ::c_int = 0;
-pub const PL_EVENT_SIGNAL: ::c_int = 1;
-pub const PL_FLAG_SA: ::c_int = 0x01;
-pub const PL_FLAG_BOUND: ::c_int = 0x02;
-pub const PL_FLAG_SCE: ::c_int = 0x04;
-pub const PL_FLAG_SCX: ::c_int = 0x08;
-pub const PL_FLAG_EXEC: ::c_int = 0x10;
-pub const PL_FLAG_SI: ::c_int = 0x20;
-pub const PL_FLAG_FORKED: ::c_int = 0x40;
-pub const PL_FLAG_CHILD: ::c_int = 0x80;
-pub const PL_FLAG_BORN: ::c_int = 0x100;
-pub const PL_FLAG_EXITED: ::c_int = 0x200;
-pub const PL_FLAG_VFORKED: ::c_int = 0x400;
-pub const PL_FLAG_VFORK_DONE: ::c_int = 0x800;
-
pub const PT_LWPINFO: ::c_int = 13;
pub const PT_GETNUMLWPS: ::c_int = 14;
pub const PT_GETLWPLIST: ::c_int = 15;
@@ -2316,9 +725,6 @@ pub const PT_FOLLOW_FORK: ::c_int = 23;
pub const PT_LWP_EVENTS: ::c_int = 24;
pub const PT_GET_EVENT_MASK: ::c_int = 25;
pub const PT_SET_EVENT_MASK: ::c_int = 26;
-pub const PT_GET_SC_ARGS: ::c_int = 27;
-pub const PT_GET_SC_RET: ::c_int = 28;
-pub const PT_COREDUMP: ::c_int = 29;
pub const PT_GETREGS: ::c_int = 33;
pub const PT_SETREGS: ::c_int = 34;
pub const PT_GETFPREGS: ::c_int = 35;
@@ -2327,8 +733,6 @@ pub const PT_GETDBREGS: ::c_int = 37;
pub const PT_SETDBREGS: ::c_int = 38;
pub const PT_VM_TIMESTAMP: ::c_int = 40;
pub const PT_VM_ENTRY: ::c_int = 41;
-pub const PT_GETREGSET: ::c_int = 42;
-pub const PT_SETREGSET: ::c_int = 43;
pub const PT_FIRSTMACH: ::c_int = 64;
pub const PTRACE_EXEC: ::c_int = 0x0001;
@@ -2340,56 +744,6 @@ pub const PTRACE_LWP: ::c_int = 0x0010;
pub const PTRACE_VFORK: ::c_int = 0x0020;
pub const PTRACE_DEFAULT: ::c_int = PTRACE_EXEC;
-pub const PC_COMPRESS: u32 = 0x00000001;
-pub const PC_ALL: u32 = 0x00000002;
-
-pub const PROC_SPROTECT: ::c_int = 1;
-pub const PROC_REAP_ACQUIRE: ::c_int = 2;
-pub const PROC_REAP_RELEASE: ::c_int = 3;
-pub const PROC_REAP_STATUS: ::c_int = 4;
-pub const PROC_REAP_GETPIDS: ::c_int = 5;
-pub const PROC_REAP_KILL: ::c_int = 6;
-pub const PROC_TRACE_CTL: ::c_int = 7;
-pub const PROC_TRACE_STATUS: ::c_int = 8;
-pub const PROC_TRAPCAP_CTL: ::c_int = 9;
-pub const PROC_TRAPCAP_STATUS: ::c_int = 10;
-pub const PROC_PDEATHSIG_CTL: ::c_int = 11;
-pub const PROC_PDEATHSIG_STATUS: ::c_int = 12;
-pub const PROC_ASLR_CTL: ::c_int = 13;
-pub const PROC_ASLR_STATUS: ::c_int = 14;
-pub const PROC_PROTMAX_CTL: ::c_int = 15;
-pub const PROC_PROTMAX_STATUS: ::c_int = 16;
-pub const PROC_STACKGAP_CTL: ::c_int = 17;
-pub const PROC_STACKGAP_STATUS: ::c_int = 18;
-pub const PROC_PROCCTL_MD_MIN: ::c_int = 0x10000000;
-
-pub const PPROT_SET: ::c_int = 1;
-pub const PPROT_CLEAR: ::c_int = 2;
-pub const PPROT_DESCEND: ::c_int = 0x10;
-pub const PPROT_INHERIT: ::c_int = 0x20;
-
-pub const PROC_TRACE_CTL_ENABLE: ::c_int = 1;
-pub const PROC_TRACE_CTL_DISABLE: ::c_int = 2;
-pub const PROC_TRACE_CTL_DISABLE_EXEC: ::c_int = 3;
-
-pub const PROC_TRAPCAP_CTL_ENABLE: ::c_int = 1;
-pub const PROC_TRAPCAP_CTL_DISABLE: ::c_int = 2;
-
-pub const PROC_ASLR_FORCE_ENABLE: ::c_int = 1;
-pub const PROC_ASLR_FORCE_DISABLE: ::c_int = 2;
-pub const PROC_ASLR_NOFORCE: ::c_int = 3;
-pub const PROC_ASLR_ACTIVE: ::c_int = 0x80000000;
-
-pub const PROC_PROTMAX_FORCE_ENABLE: ::c_int = 1;
-pub const PROC_PROTMAX_FORCE_DISABLE: ::c_int = 2;
-pub const PROC_PROTMAX_NOFORCE: ::c_int = 3;
-pub const PROC_PROTMAX_ACTIVE: ::c_int = 0x80000000;
-
-pub const PROC_STACKGAP_ENABLE: ::c_int = 0x0001;
-pub const PROC_STACKGAP_DISABLE: ::c_int = 0x0002;
-pub const PROC_STACKGAP_ENABLE_EXEC: ::c_int = 0x0004;
-pub const PROC_STACKGAP_DISABLE_EXEC: ::c_int = 0x0008;
-
pub const AF_SLOW: ::c_int = 33;
pub const AF_SCLUSTER: ::c_int = 34;
pub const AF_ARP: ::c_int = 35;
@@ -2398,218 +752,40 @@ pub const AF_IEEE80211: ::c_int = 37;
pub const AF_INET_SDP: ::c_int = 40;
pub const AF_INET6_SDP: ::c_int = 42;
-// sys/net/if.h
-pub const IF_MAXUNIT: ::c_int = 0x7fff;
-/// (n) interface is up
-pub const IFF_UP: ::c_int = 0x1;
-/// (i) broadcast address valid
-pub const IFF_BROADCAST: ::c_int = 0x2;
-/// (n) turn on debugging
-pub const IFF_DEBUG: ::c_int = 0x4;
-/// (i) is a loopback net
-pub const IFF_LOOPBACK: ::c_int = 0x8;
-/// (i) is a point-to-point link
-pub const IFF_POINTOPOINT: ::c_int = 0x10;
-/// (i) calls if_input in net epoch
-pub const IFF_KNOWSEPOCH: ::c_int = 0x20;
-/// (d) resources allocated
-pub const IFF_RUNNING: ::c_int = 0x40;
+// https://github.com/freebsd/freebsd/blob/master/sys/net/if.h#L140
+pub const IFF_UP: ::c_int = 0x1; // (n) interface is up
+pub const IFF_BROADCAST: ::c_int = 0x2; // (i) broadcast address valid
+pub const IFF_DEBUG: ::c_int = 0x4; // (n) turn on debugging
+pub const IFF_LOOPBACK: ::c_int = 0x8; // (i) is a loopback net
+pub const IFF_POINTOPOINT: ::c_int = 0x10; // (i) is a point-to-point link
+ // 0x20 was IFF_SMART
+pub const IFF_RUNNING: ::c_int = 0x40; // (d) resources allocated
#[doc(hidden)]
#[deprecated(
since = "0.2.54",
note = "IFF_DRV_RUNNING is deprecated. Use the portable IFF_RUNNING instead"
)]
-/// (d) resources allocate
pub const IFF_DRV_RUNNING: ::c_int = 0x40;
-/// (n) no address resolution protocol
-pub const IFF_NOARP: ::c_int = 0x80;
-/// (n) receive all packets
-pub const IFF_PROMISC: ::c_int = 0x100;
-/// (n) receive all multicast packets
-pub const IFF_ALLMULTI: ::c_int = 0x200;
-/// (d) tx hardware queue is full
-pub const IFF_OACTIVE: ::c_int = 0x400;
+pub const IFF_NOARP: ::c_int = 0x80; // (n) no address resolution protocol
+pub const IFF_PROMISC: ::c_int = 0x100; // (n) receive all packets
+pub const IFF_ALLMULTI: ::c_int = 0x200; // (n) receive all multicast packets
+pub const IFF_OACTIVE: ::c_int = 0x400; // (d) tx hardware queue is full
#[doc(hidden)]
#[deprecated(since = "0.2.54", note = "Use the portable `IFF_OACTIVE` instead")]
-/// (d) tx hardware queue is full
pub const IFF_DRV_OACTIVE: ::c_int = 0x400;
-/// (i) can't hear own transmissions
-pub const IFF_SIMPLEX: ::c_int = 0x800;
-/// per link layer defined bit
-pub const IFF_LINK0: ::c_int = 0x1000;
-/// per link layer defined bit
-pub const IFF_LINK1: ::c_int = 0x2000;
-/// per link layer defined bit
-pub const IFF_LINK2: ::c_int = 0x4000;
-/// use alternate physical connection
-pub const IFF_ALTPHYS: ::c_int = IFF_LINK2;
-/// (i) supports multicast
-pub const IFF_MULTICAST: ::c_int = 0x8000;
-/// (i) unconfigurable using ioctl(2)
+pub const IFF_SIMPLEX: ::c_int = 0x800; // (i) can't hear own transmissions
+pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
+pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
+pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
+pub const IFF_ALTPHYS: ::c_int = IFF_LINK2; // use alternate physical connection
+pub const IFF_MULTICAST: ::c_int = 0x8000; // (i) supports multicast
+ // (i) unconfigurable using ioctl(2)
pub const IFF_CANTCONFIG: ::c_int = 0x10000;
-/// (n) user-requested promisc mode
-pub const IFF_PPROMISC: ::c_int = 0x20000;
-/// (n) user-requested monitor mode
-pub const IFF_MONITOR: ::c_int = 0x40000;
-/// (n) static ARP
-pub const IFF_STATICARP: ::c_int = 0x80000;
-/// (n) interface is winding down
-pub const IFF_DYING: ::c_int = 0x200000;
-/// (n) interface is being renamed
-pub const IFF_RENAMING: ::c_int = 0x400000;
-/// interface is not part of any groups
-pub const IFF_NOGROUP: ::c_int = 0x800000;
-
-/// link invalid/unknown
-pub const LINK_STATE_UNKNOWN: ::c_int = 0;
-/// link is down
-pub const LINK_STATE_DOWN: ::c_int = 1;
-/// link is up
-pub const LINK_STATE_UP: ::c_int = 2;
-
-/// can offload checksum on RX
-pub const IFCAP_RXCSUM: ::c_int = 0x00001;
-/// can offload checksum on TX
-pub const IFCAP_TXCSUM: ::c_int = 0x00002;
-/// can be a network console
-pub const IFCAP_NETCONS: ::c_int = 0x00004;
-/// VLAN-compatible MTU
-pub const IFCAP_VLAN_MTU: ::c_int = 0x00008;
-/// hardware VLAN tag support
-pub const IFCAP_VLAN_HWTAGGING: ::c_int = 0x00010;
-/// 9000 byte MTU supported
-pub const IFCAP_JUMBO_MTU: ::c_int = 0x00020;
-/// driver supports polling
-pub const IFCAP_POLLING: ::c_int = 0x00040;
-/// can do IFCAP_HWCSUM on VLANs
-pub const IFCAP_VLAN_HWCSUM: ::c_int = 0x00080;
-/// can do TCP Segmentation Offload
-pub const IFCAP_TSO4: ::c_int = 0x00100;
-/// can do TCP6 Segmentation Offload
-pub const IFCAP_TSO6: ::c_int = 0x00200;
-/// can do Large Receive Offload
-pub const IFCAP_LRO: ::c_int = 0x00400;
-/// wake on any unicast frame
-pub const IFCAP_WOL_UCAST: ::c_int = 0x00800;
-/// wake on any multicast frame
-pub const IFCAP_WOL_MCAST: ::c_int = 0x01000;
-/// wake on any Magic Packet
-pub const IFCAP_WOL_MAGIC: ::c_int = 0x02000;
-/// interface can offload TCP
-pub const IFCAP_TOE4: ::c_int = 0x04000;
-/// interface can offload TCP6
-pub const IFCAP_TOE6: ::c_int = 0x08000;
-/// interface hw can filter vlan tag
-pub const IFCAP_VLAN_HWFILTER: ::c_int = 0x10000;
-/// can do IFCAP_TSO on VLANs
-pub const IFCAP_VLAN_HWTSO: ::c_int = 0x40000;
-/// the runtime link state is dynamic
-pub const IFCAP_LINKSTATE: ::c_int = 0x80000;
-/// netmap mode supported/enabled
-pub const IFCAP_NETMAP: ::c_int = 0x100000;
-/// can offload checksum on IPv6 RX
-pub const IFCAP_RXCSUM_IPV6: ::c_int = 0x200000;
-/// can offload checksum on IPv6 TX
-pub const IFCAP_TXCSUM_IPV6: ::c_int = 0x400000;
-/// manages counters internally
-pub const IFCAP_HWSTATS: ::c_int = 0x800000;
-/// hardware supports TX rate limiting
-pub const IFCAP_TXRTLMT: ::c_int = 0x1000000;
-/// hardware rx timestamping
-pub const IFCAP_HWRXTSTMP: ::c_int = 0x2000000;
-/// understands M_EXTPG mbufs
-pub const IFCAP_MEXTPG: ::c_int = 0x4000000;
-/// can do TLS encryption and segmentation for TCP
-pub const IFCAP_TXTLS4: ::c_int = 0x8000000;
-/// can do TLS encryption and segmentation for TCP6
-pub const IFCAP_TXTLS6: ::c_int = 0x10000000;
-/// can do IFCAN_HWCSUM on VXLANs
-pub const IFCAP_VXLAN_HWCSUM: ::c_int = 0x20000000;
-/// can do IFCAP_TSO on VXLANs
-pub const IFCAP_VXLAN_HWTSO: ::c_int = 0x40000000;
-/// can do TLS with rate limiting
-pub const IFCAP_TXTLS_RTLMT: ::c_int = 0x80000000;
-
-pub const IFCAP_HWCSUM_IPV6: ::c_int = IFCAP_RXCSUM_IPV6 | IFCAP_TXCSUM_IPV6;
-pub const IFCAP_HWCSUM: ::c_int = IFCAP_RXCSUM | IFCAP_TXCSUM;
-pub const IFCAP_TSO: ::c_int = IFCAP_TSO4 | IFCAP_TSO6;
-pub const IFCAP_WOL: ::c_int = IFCAP_WOL_UCAST | IFCAP_WOL_MCAST | IFCAP_WOL_MAGIC;
-pub const IFCAP_TOE: ::c_int = IFCAP_TOE4 | IFCAP_TOE6;
-pub const IFCAP_TXTLS: ::c_int = IFCAP_TXTLS4 | IFCAP_TXTLS6;
-pub const IFCAP_CANTCHANGE: ::c_int = IFCAP_NETMAP;
-
-pub const IFQ_MAXLEN: ::c_int = 50;
-pub const IFNET_SLOWHZ: ::c_int = 1;
-
-pub const IFAN_ARRIVAL: ::c_int = 0;
-pub const IFAN_DEPARTURE: ::c_int = 1;
-
-pub const IFSTATMAX: ::c_int = 800;
-
-pub const RSS_FUNC_NONE: ::c_int = 0;
-pub const RSS_FUNC_PRIVATE: ::c_int = 1;
-pub const RSS_FUNC_TOEPLITZ: ::c_int = 2;
-
-pub const RSS_TYPE_IPV4: ::c_int = 0x00000001;
-pub const RSS_TYPE_TCP_IPV4: ::c_int = 0x00000002;
-pub const RSS_TYPE_IPV6: ::c_int = 0x00000004;
-pub const RSS_TYPE_IPV6_EX: ::c_int = 0x00000008;
-pub const RSS_TYPE_TCP_IPV6: ::c_int = 0x00000010;
-pub const RSS_TYPE_TCP_IPV6_EX: ::c_int = 0x00000020;
-pub const RSS_TYPE_UDP_IPV4: ::c_int = 0x00000040;
-pub const RSS_TYPE_UDP_IPV6: ::c_int = 0x00000080;
-pub const RSS_TYPE_UDP_IPV6_EX: ::c_int = 0x00000100;
-pub const RSS_KEYLEN: ::c_int = 128;
-
-pub const IFNET_PCP_NONE: ::c_int = 0xff;
-pub const IFDR_MSG_SIZE: ::c_int = 64;
-pub const IFDR_REASON_MSG: ::c_int = 1;
-pub const IFDR_REASON_VENDOR: ::c_int = 2;
-
-// sys/net/if_mib.h
-
-/// non-interface-specific
-pub const IFMIB_SYSTEM: ::c_int = 1;
-/// per-interface data table
-pub const IFMIB_IFDATA: ::c_int = 2;
-
-/// generic stats for all kinds of ifaces
-pub const IFDATA_GENERAL: ::c_int = 1;
-/// specific to the type of interface
-pub const IFDATA_LINKSPECIFIC: ::c_int = 2;
-/// driver name and unit
-pub const IFDATA_DRIVERNAME: ::c_int = 3;
-
-/// number of interfaces configured
-pub const IFMIB_IFCOUNT: ::c_int = 1;
-
-/// functions not specific to a type of iface
-pub const NETLINK_GENERIC: ::c_int = 0;
-
-pub const DOT3COMPLIANCE_STATS: ::c_int = 1;
-pub const DOT3COMPLIANCE_COLLS: ::c_int = 2;
-
-pub const dot3ChipSetAMD7990: ::c_int = 1;
-pub const dot3ChipSetAMD79900: ::c_int = 2;
-pub const dot3ChipSetAMD79C940: ::c_int = 3;
-
-pub const dot3ChipSetIntel82586: ::c_int = 1;
-pub const dot3ChipSetIntel82596: ::c_int = 2;
-pub const dot3ChipSetIntel82557: ::c_int = 3;
-
-pub const dot3ChipSetNational8390: ::c_int = 1;
-pub const dot3ChipSetNationalSonic: ::c_int = 2;
-
-pub const dot3ChipSetFujitsu86950: ::c_int = 1;
-
-pub const dot3ChipSetDigitalDC21040: ::c_int = 1;
-pub const dot3ChipSetDigitalDC21140: ::c_int = 2;
-pub const dot3ChipSetDigitalDC21041: ::c_int = 3;
-pub const dot3ChipSetDigitalDC21140A: ::c_int = 4;
-pub const dot3ChipSetDigitalDC21142: ::c_int = 5;
-
-pub const dot3ChipSetWesternDigital83C690: ::c_int = 1;
-pub const dot3ChipSetWesternDigital83C790: ::c_int = 2;
+pub const IFF_PPROMISC: ::c_int = 0x20000; // (n) user-requested promisc mode
+pub const IFF_MONITOR: ::c_int = 0x40000; // (n) user-requested monitor mode
+pub const IFF_STATICARP: ::c_int = 0x80000; // (n) static ARP
+pub const IFF_DYING: ::c_int = 0x200000; // (n) interface is winding down
+pub const IFF_RENAMING: ::c_int = 0x400000; // (n) interface is being renamed
// sys/netinet/in.h
// Protocols (RFC 1700)
@@ -2861,24 +1037,10 @@ pub const TCP_MD5SIG: ::c_int = 16;
pub const TCP_INFO: ::c_int = 32;
pub const TCP_CONGESTION: ::c_int = 64;
pub const TCP_CCALGOOPT: ::c_int = 65;
-pub const TCP_MAXUNACKTIME: ::c_int = 68;
-pub const TCP_MAXPEAKRATE: ::c_int = 69;
-pub const TCP_IDLE_REDUCE: ::c_int = 70;
-pub const TCP_REMOTE_UDP_ENCAPS_PORT: ::c_int = 71;
-pub const TCP_DELACK: ::c_int = 72;
-pub const TCP_FIN_IS_RST: ::c_int = 73;
-pub const TCP_LOG_LIMIT: ::c_int = 74;
-pub const TCP_SHARED_CWND_ALLOWED: ::c_int = 75;
-pub const TCP_PROC_ACCOUNTING: ::c_int = 76;
-pub const TCP_USE_CMP_ACKS: ::c_int = 77;
-pub const TCP_PERF_INFO: ::c_int = 78;
-pub const TCP_LRD: ::c_int = 79;
pub const TCP_KEEPINIT: ::c_int = 128;
pub const TCP_FASTOPEN: ::c_int = 1025;
pub const TCP_PCAP_OUT: ::c_int = 2048;
pub const TCP_PCAP_IN: ::c_int = 4096;
-pub const TCP_FASTOPEN_PSK_LEN: ::c_int = 16;
-pub const TCP_FUNCTION_NAME_LEN_MAX: ::c_int = 32;
pub const IP_BINDANY: ::c_int = 24;
pub const IP_BINDMULTI: ::c_int = 25;
@@ -2907,8 +1069,22 @@ pub const NET_RT_IFMALIST: ::c_int = 4;
pub const NET_RT_IFLISTL: ::c_int = 5;
// System V IPC
+pub const IPC_PRIVATE: ::key_t = 0;
+pub const IPC_CREAT: ::c_int = 0o1000;
+pub const IPC_EXCL: ::c_int = 0o2000;
+pub const IPC_NOWAIT: ::c_int = 0o4000;
+pub const IPC_RMID: ::c_int = 0;
+pub const IPC_SET: ::c_int = 1;
+pub const IPC_STAT: ::c_int = 2;
pub const IPC_INFO: ::c_int = 3;
+pub const IPC_R: ::c_int = 0o400;
+pub const IPC_W: ::c_int = 0o200;
+pub const IPC_M: ::c_int = 0o10000;
pub const MSG_NOERROR: ::c_int = 0o10000;
+pub const SHM_RDONLY: ::c_int = 0o10000;
+pub const SHM_RND: ::c_int = 0o20000;
+pub const SHM_R: ::c_int = 0o400;
+pub const SHM_W: ::c_int = 0o200;
pub const SHM_LOCK: ::c_int = 11;
pub const SHM_UNLOCK: ::c_int = 12;
pub const SHM_STAT: ::c_int = 13;
@@ -2993,23 +1169,6 @@ pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x200;
pub const AT_SYMLINK_FOLLOW: ::c_int = 0x400;
pub const AT_REMOVEDIR: ::c_int = 0x800;
-pub const AT_NULL: ::c_int = 0;
-pub const AT_IGNORE: ::c_int = 1;
-pub const AT_EXECFD: ::c_int = 2;
-pub const AT_PHDR: ::c_int = 3;
-pub const AT_PHENT: ::c_int = 4;
-pub const AT_PHNUM: ::c_int = 5;
-pub const AT_PAGESZ: ::c_int = 6;
-pub const AT_BASE: ::c_int = 7;
-pub const AT_FLAGS: ::c_int = 8;
-pub const AT_ENTRY: ::c_int = 9;
-pub const AT_NOTELF: ::c_int = 10;
-pub const AT_UID: ::c_int = 11;
-pub const AT_EUID: ::c_int = 12;
-pub const AT_GID: ::c_int = 13;
-pub const AT_EGID: ::c_int = 14;
-pub const AT_EXECPATH: ::c_int = 15;
-
pub const TABDLY: ::tcflag_t = 0x00000004;
pub const TAB0: ::tcflag_t = 0x00000000;
pub const TAB3: ::tcflag_t = 0x00000004;
@@ -3018,8 +1177,6 @@ pub const _PC_ACL_NFS4: ::c_int = 64;
pub const _SC_CPUSET_SIZE: ::c_int = 122;
-pub const _UUID_NODE_LEN: usize = 6;
-
// Flags which can be passed to pdfork(2)
pub const PD_DAEMON: ::c_int = 0x00000001;
pub const PD_CLOEXEC: ::c_int = 0x00000002;
@@ -3047,614 +1204,14 @@ pub const UF_READONLY: ::c_ulong = 0x00001000;
pub const UF_HIDDEN: ::c_ulong = 0x00008000;
pub const SF_SNAPSHOT: ::c_ulong = 0x00200000;
-// fcntl commands
-pub const F_ADD_SEALS: ::c_int = 19;
-pub const F_GET_SEALS: ::c_int = 20;
pub const F_OGETLK: ::c_int = 7;
pub const F_OSETLK: ::c_int = 8;
pub const F_OSETLKW: ::c_int = 9;
-pub const F_RDAHEAD: ::c_int = 16;
-pub const F_READAHEAD: ::c_int = 15;
+pub const F_DUP2FD: ::c_int = 10;
pub const F_SETLK_REMOTE: ::c_int = 14;
-pub const F_KINFO: ::c_int = 22;
-
-// for use with F_ADD_SEALS
-pub const F_SEAL_GROW: ::c_int = 4;
-pub const F_SEAL_SEAL: ::c_int = 1;
-pub const F_SEAL_SHRINK: ::c_int = 2;
-pub const F_SEAL_WRITE: ::c_int = 8;
-
-// for use with fspacectl
-pub const SPACECTL_DEALLOC: ::c_int = 1;
-
-// For getrandom()
-pub const GRND_NONBLOCK: ::c_uint = 0x1;
-pub const GRND_RANDOM: ::c_uint = 0x2;
-pub const GRND_INSECURE: ::c_uint = 0x4;
-
-// For realhostname* api
-pub const HOSTNAME_FOUND: ::c_int = 0;
-pub const HOSTNAME_INCORRECTNAME: ::c_int = 1;
-pub const HOSTNAME_INVALIDADDR: ::c_int = 2;
-pub const HOSTNAME_INVALIDNAME: ::c_int = 3;
-
-// For rfork
-pub const RFFDG: ::c_int = 4;
-pub const RFPROC: ::c_int = 16;
-pub const RFMEM: ::c_int = 32;
-pub const RFNOWAIT: ::c_int = 64;
-pub const RFCFDG: ::c_int = 4096;
-pub const RFTHREAD: ::c_int = 8192;
-pub const RFLINUXTHPN: ::c_int = 65536;
-pub const RFTSIGZMB: ::c_int = 524288;
-pub const RFSPAWN: ::c_int = 2147483648;
-
-// For eventfd
-pub const EFD_SEMAPHORE: ::c_int = 0x1;
-pub const EFD_NONBLOCK: ::c_int = 0x4;
-pub const EFD_CLOEXEC: ::c_int = 0x100000;
-
-pub const MALLOCX_ZERO: ::c_int = 0x40;
-
-/// size of returned wchan message
-pub const WMESGLEN: usize = 8;
-/// size of returned lock name
-pub const LOCKNAMELEN: usize = 8;
-/// size of returned thread name
-pub const TDNAMLEN: usize = 16;
-/// size of returned ki_comm name
-pub const COMMLEN: usize = 19;
-/// size of returned ki_emul
-pub const KI_EMULNAMELEN: usize = 16;
-/// number of groups in ki_groups
-pub const KI_NGROUPS: usize = 16;
-cfg_if! {
- if #[cfg(freebsd11)] {
- pub const KI_NSPARE_INT: usize = 4;
- } else {
- pub const KI_NSPARE_INT: usize = 2;
- }
-}
-pub const KI_NSPARE_LONG: usize = 12;
-/// Flags for the process credential.
-pub const KI_CRF_CAPABILITY_MODE: usize = 0x00000001;
-/// Steal a bit from ki_cr_flags to indicate that the cred had more than
-/// KI_NGROUPS groups.
-pub const KI_CRF_GRP_OVERFLOW: usize = 0x80000000;
-/// controlling tty vnode active
-pub const KI_CTTY: usize = 0x00000001;
-/// session leader
-pub const KI_SLEADER: usize = 0x00000002;
-/// proc blocked on lock ki_lockname
-pub const KI_LOCKBLOCK: usize = 0x00000004;
-/// size of returned ki_login
-pub const LOGNAMELEN: usize = 17;
-/// size of returned ki_loginclass
-pub const LOGINCLASSLEN: usize = 17;
-
-pub const KF_ATTR_VALID: ::c_int = 0x0001;
-pub const KF_TYPE_NONE: ::c_int = 0;
-pub const KF_TYPE_VNODE: ::c_int = 1;
-pub const KF_TYPE_SOCKET: ::c_int = 2;
-pub const KF_TYPE_PIPE: ::c_int = 3;
-pub const KF_TYPE_FIFO: ::c_int = 4;
-pub const KF_TYPE_KQUEUE: ::c_int = 5;
-pub const KF_TYPE_MQUEUE: ::c_int = 7;
-pub const KF_TYPE_SHM: ::c_int = 8;
-pub const KF_TYPE_SEM: ::c_int = 9;
-pub const KF_TYPE_PTS: ::c_int = 10;
-pub const KF_TYPE_PROCDESC: ::c_int = 11;
-pub const KF_TYPE_DEV: ::c_int = 12;
-pub const KF_TYPE_UNKNOWN: ::c_int = 255;
-
-pub const KF_VTYPE_VNON: ::c_int = 0;
-pub const KF_VTYPE_VREG: ::c_int = 1;
-pub const KF_VTYPE_VDIR: ::c_int = 2;
-pub const KF_VTYPE_VBLK: ::c_int = 3;
-pub const KF_VTYPE_VCHR: ::c_int = 4;
-pub const KF_VTYPE_VLNK: ::c_int = 5;
-pub const KF_VTYPE_VSOCK: ::c_int = 6;
-pub const KF_VTYPE_VFIFO: ::c_int = 7;
-pub const KF_VTYPE_VBAD: ::c_int = 8;
-pub const KF_VTYPE_UNKNOWN: ::c_int = 255;
-
-/// Current working directory
-pub const KF_FD_TYPE_CWD: ::c_int = -1;
-/// Root directory
-pub const KF_FD_TYPE_ROOT: ::c_int = -2;
-/// Jail directory
-pub const KF_FD_TYPE_JAIL: ::c_int = -3;
-/// Ktrace vnode
-pub const KF_FD_TYPE_TRACE: ::c_int = -4;
-pub const KF_FD_TYPE_TEXT: ::c_int = -5;
-/// Controlling terminal
-pub const KF_FD_TYPE_CTTY: ::c_int = -6;
-pub const KF_FLAG_READ: ::c_int = 0x00000001;
-pub const KF_FLAG_WRITE: ::c_int = 0x00000002;
-pub const KF_FLAG_APPEND: ::c_int = 0x00000004;
-pub const KF_FLAG_ASYNC: ::c_int = 0x00000008;
-pub const KF_FLAG_FSYNC: ::c_int = 0x00000010;
-pub const KF_FLAG_NONBLOCK: ::c_int = 0x00000020;
-pub const KF_FLAG_DIRECT: ::c_int = 0x00000040;
-pub const KF_FLAG_HASLOCK: ::c_int = 0x00000080;
-pub const KF_FLAG_SHLOCK: ::c_int = 0x00000100;
-pub const KF_FLAG_EXLOCK: ::c_int = 0x00000200;
-pub const KF_FLAG_NOFOLLOW: ::c_int = 0x00000400;
-pub const KF_FLAG_CREAT: ::c_int = 0x00000800;
-pub const KF_FLAG_TRUNC: ::c_int = 0x00001000;
-pub const KF_FLAG_EXCL: ::c_int = 0x00002000;
-pub const KF_FLAG_EXEC: ::c_int = 0x00004000;
-
-pub const KVME_TYPE_NONE: ::c_int = 0;
-pub const KVME_TYPE_DEFAULT: ::c_int = 1;
-pub const KVME_TYPE_VNODE: ::c_int = 2;
-pub const KVME_TYPE_SWAP: ::c_int = 3;
-pub const KVME_TYPE_DEVICE: ::c_int = 4;
-pub const KVME_TYPE_PHYS: ::c_int = 5;
-pub const KVME_TYPE_DEAD: ::c_int = 6;
-pub const KVME_TYPE_SG: ::c_int = 7;
-pub const KVME_TYPE_MGTDEVICE: ::c_int = 8;
-// Present in `sys/user.h` but is undefined for whatever reason...
-// pub const KVME_TYPE_GUARD: ::c_int = 9;
-pub const KVME_TYPE_UNKNOWN: ::c_int = 255;
-pub const KVME_PROT_READ: ::c_int = 0x00000001;
-pub const KVME_PROT_WRITE: ::c_int = 0x00000002;
-pub const KVME_PROT_EXEC: ::c_int = 0x00000004;
-pub const KVME_FLAG_COW: ::c_int = 0x00000001;
-pub const KVME_FLAG_NEEDS_COPY: ::c_int = 0x00000002;
-pub const KVME_FLAG_NOCOREDUMP: ::c_int = 0x00000004;
-pub const KVME_FLAG_SUPER: ::c_int = 0x00000008;
-pub const KVME_FLAG_GROWS_UP: ::c_int = 0x00000010;
-pub const KVME_FLAG_GROWS_DOWN: ::c_int = 0x00000020;
-pub const KVME_FLAG_USER_WIRED: ::c_int = 0x00000040;
-
-pub const KKST_MAXLEN: ::c_int = 1024;
-/// Stack is valid.
-pub const KKST_STATE_STACKOK: ::c_int = 0;
-/// Stack swapped out.
-pub const KKST_STATE_SWAPPED: ::c_int = 1;
-pub const KKST_STATE_RUNNING: ::c_int = 2;
-
-// Constants about priority.
-pub const PRI_MIN: ::c_int = 0;
-pub const PRI_MAX: ::c_int = 255;
-pub const PRI_MIN_ITHD: ::c_int = PRI_MIN;
-pub const PRI_MAX_ITHD: ::c_int = PRI_MIN_REALTIME - 1;
-pub const PI_REALTIME: ::c_int = PRI_MIN_ITHD + 0;
-pub const PI_AV: ::c_int = PRI_MIN_ITHD + 4;
-pub const PI_NET: ::c_int = PRI_MIN_ITHD + 8;
-pub const PI_DISK: ::c_int = PRI_MIN_ITHD + 12;
-pub const PI_TTY: ::c_int = PRI_MIN_ITHD + 16;
-pub const PI_DULL: ::c_int = PRI_MIN_ITHD + 20;
-pub const PI_SOFT: ::c_int = PRI_MIN_ITHD + 24;
-pub const PRI_MIN_REALTIME: ::c_int = 48;
-pub const PRI_MAX_REALTIME: ::c_int = PRI_MIN_KERN - 1;
-pub const PRI_MIN_KERN: ::c_int = 80;
-pub const PRI_MAX_KERN: ::c_int = PRI_MIN_TIMESHARE - 1;
-pub const PSWP: ::c_int = PRI_MIN_KERN + 0;
-pub const PVM: ::c_int = PRI_MIN_KERN + 4;
-pub const PINOD: ::c_int = PRI_MIN_KERN + 8;
-pub const PRIBIO: ::c_int = PRI_MIN_KERN + 12;
-pub const PVFS: ::c_int = PRI_MIN_KERN + 16;
-pub const PZERO: ::c_int = PRI_MIN_KERN + 20;
-pub const PSOCK: ::c_int = PRI_MIN_KERN + 24;
-pub const PWAIT: ::c_int = PRI_MIN_KERN + 28;
-pub const PLOCK: ::c_int = PRI_MIN_KERN + 32;
-pub const PPAUSE: ::c_int = PRI_MIN_KERN + 36;
-pub const PRI_MIN_TIMESHARE: ::c_int = 120;
-pub const PRI_MAX_TIMESHARE: ::c_int = PRI_MIN_IDLE - 1;
-pub const PUSER: ::c_int = PRI_MIN_TIMESHARE;
-pub const PRI_MIN_IDLE: ::c_int = 224;
-pub const PRI_MAX_IDLE: ::c_int = PRI_MAX;
-
-pub const NZERO: ::c_int = 0;
-
-// Resource utilization information.
-pub const RUSAGE_THREAD: ::c_int = 1;
-
-cfg_if! {
- if #[cfg(any(freebsd11, target_pointer_width = "32"))] {
- pub const ARG_MAX: ::c_int = 256 * 1024;
- } else {
- pub const ARG_MAX: ::c_int = 2 * 256 * 1024;
- }
-}
-pub const CHILD_MAX: ::c_int = 40;
-/// max command name remembered
-pub const MAXCOMLEN: usize = 19;
-/// max interpreter file name length
-pub const MAXINTERP: ::c_int = ::PATH_MAX;
-/// max login name length (incl. NUL)
-pub const MAXLOGNAME: ::c_int = 33;
-/// max simultaneous processes
-pub const MAXUPRC: ::c_int = CHILD_MAX;
-/// max bytes for an exec function
-pub const NCARGS: ::c_int = ARG_MAX;
-/// /* max number groups
-pub const NGROUPS: ::c_int = NGROUPS_MAX + 1;
-/// max open files per process
-pub const NOFILE: ::c_int = OPEN_MAX;
-/// marker for empty group set member
-pub const NOGROUP: ::c_int = 65535;
-/// max hostname size
-pub const MAXHOSTNAMELEN: ::c_int = 256;
-/// max bytes in term canon input line
-pub const MAX_CANON: ::c_int = 255;
-/// max bytes in terminal input
-pub const MAX_INPUT: ::c_int = 255;
-/// max bytes in a file name
-pub const NAME_MAX: ::c_int = 255;
-pub const MAXSYMLINKS: ::c_int = 32;
-/// max supplemental group id's
-pub const NGROUPS_MAX: ::c_int = 1023;
-/// max open files per process
-pub const OPEN_MAX: ::c_int = 64;
-
-pub const _POSIX_ARG_MAX: ::c_int = 4096;
-pub const _POSIX_LINK_MAX: ::c_int = 8;
-pub const _POSIX_MAX_CANON: ::c_int = 255;
-pub const _POSIX_MAX_INPUT: ::c_int = 255;
-pub const _POSIX_NAME_MAX: ::c_int = 14;
-pub const _POSIX_PIPE_BUF: ::c_int = 512;
-pub const _POSIX_SSIZE_MAX: ::c_int = 32767;
-pub const _POSIX_STREAM_MAX: ::c_int = 8;
-
-/// max ibase/obase values in bc(1)
-pub const BC_BASE_MAX: ::c_int = 99;
-/// max array elements in bc(1)
-pub const BC_DIM_MAX: ::c_int = 2048;
-/// max scale value in bc(1)
-pub const BC_SCALE_MAX: ::c_int = 99;
-/// max const string length in bc(1)
-pub const BC_STRING_MAX: ::c_int = 1000;
-/// max character class name size
-pub const CHARCLASS_NAME_MAX: ::c_int = 14;
-/// max weights for order keyword
-pub const COLL_WEIGHTS_MAX: ::c_int = 10;
-/// max expressions nested in expr(1)
-pub const EXPR_NEST_MAX: ::c_int = 32;
-/// max bytes in an input line
-pub const LINE_MAX: ::c_int = 2048;
-/// max RE's in interval notation
-pub const RE_DUP_MAX: ::c_int = 255;
-
-pub const _POSIX2_BC_BASE_MAX: ::c_int = 99;
-pub const _POSIX2_BC_DIM_MAX: ::c_int = 2048;
-pub const _POSIX2_BC_SCALE_MAX: ::c_int = 99;
-pub const _POSIX2_BC_STRING_MAX: ::c_int = 1000;
-pub const _POSIX2_CHARCLASS_NAME_MAX: ::c_int = 14;
-pub const _POSIX2_COLL_WEIGHTS_MAX: ::c_int = 2;
-pub const _POSIX2_EQUIV_CLASS_MAX: ::c_int = 2;
-pub const _POSIX2_EXPR_NEST_MAX: ::c_int = 32;
-pub const _POSIX2_LINE_MAX: ::c_int = 2048;
-pub const _POSIX2_RE_DUP_MAX: ::c_int = 255;
-
-// sys/proc.h
-pub const TDF_BORROWING: ::c_int = 0x00000001;
-pub const TDF_INPANIC: ::c_int = 0x00000002;
-pub const TDF_INMEM: ::c_int = 0x00000004;
-pub const TDF_SINTR: ::c_int = 0x00000008;
-pub const TDF_TIMEOUT: ::c_int = 0x00000010;
-pub const TDF_IDLETD: ::c_int = 0x00000020;
-pub const TDF_CANSWAP: ::c_int = 0x00000040;
-pub const TDF_KTH_SUSP: ::c_int = 0x00000100;
-pub const TDF_ALLPROCSUSP: ::c_int = 0x00000200;
-pub const TDF_BOUNDARY: ::c_int = 0x00000400;
-pub const TDF_ASTPENDING: ::c_int = 0x00000800;
-pub const TDF_SBDRY: ::c_int = 0x00002000;
-pub const TDF_UPIBLOCKED: ::c_int = 0x00004000;
-pub const TDF_NEEDSUSPCHK: ::c_int = 0x00008000;
-pub const TDF_NEEDRESCHED: ::c_int = 0x00010000;
-pub const TDF_NEEDSIGCHK: ::c_int = 0x00020000;
-pub const TDF_NOLOAD: ::c_int = 0x00040000;
-pub const TDF_SERESTART: ::c_int = 0x00080000;
-pub const TDF_THRWAKEUP: ::c_int = 0x00100000;
-pub const TDF_SEINTR: ::c_int = 0x00200000;
-pub const TDF_SWAPINREQ: ::c_int = 0x00400000;
-pub const TDF_UNUSED23: ::c_int = 0x00800000;
-pub const TDF_SCHED0: ::c_int = 0x01000000;
-pub const TDF_SCHED1: ::c_int = 0x02000000;
-pub const TDF_SCHED2: ::c_int = 0x04000000;
-pub const TDF_SCHED3: ::c_int = 0x08000000;
-pub const TDF_ALRMPEND: ::c_int = 0x10000000;
-pub const TDF_PROFPEND: ::c_int = 0x20000000;
-pub const TDF_MACPEND: ::c_int = 0x40000000;
-
-pub const TDB_SUSPEND: ::c_int = 0x00000001;
-pub const TDB_XSIG: ::c_int = 0x00000002;
-pub const TDB_USERWR: ::c_int = 0x00000004;
-pub const TDB_SCE: ::c_int = 0x00000008;
-pub const TDB_SCX: ::c_int = 0x00000010;
-pub const TDB_EXEC: ::c_int = 0x00000020;
-pub const TDB_FORK: ::c_int = 0x00000040;
-pub const TDB_STOPATFORK: ::c_int = 0x00000080;
-pub const TDB_CHILD: ::c_int = 0x00000100;
-pub const TDB_BORN: ::c_int = 0x00000200;
-pub const TDB_EXIT: ::c_int = 0x00000400;
-pub const TDB_VFORK: ::c_int = 0x00000800;
-pub const TDB_FSTP: ::c_int = 0x00001000;
-pub const TDB_STEP: ::c_int = 0x00002000;
-
-pub const TDP_OLDMASK: ::c_int = 0x00000001;
-pub const TDP_INKTR: ::c_int = 0x00000002;
-pub const TDP_INKTRACE: ::c_int = 0x00000004;
-pub const TDP_BUFNEED: ::c_int = 0x00000008;
-pub const TDP_COWINPROGRESS: ::c_int = 0x00000010;
-pub const TDP_ALTSTACK: ::c_int = 0x00000020;
-pub const TDP_DEADLKTREAT: ::c_int = 0x00000040;
-pub const TDP_NOFAULTING: ::c_int = 0x00000080;
-pub const TDP_OWEUPC: ::c_int = 0x00000200;
-pub const TDP_ITHREAD: ::c_int = 0x00000400;
-pub const TDP_SYNCIO: ::c_int = 0x00000800;
-pub const TDP_SCHED1: ::c_int = 0x00001000;
-pub const TDP_SCHED2: ::c_int = 0x00002000;
-pub const TDP_SCHED3: ::c_int = 0x00004000;
-pub const TDP_SCHED4: ::c_int = 0x00008000;
-pub const TDP_GEOM: ::c_int = 0x00010000;
-pub const TDP_SOFTDEP: ::c_int = 0x00020000;
-pub const TDP_NORUNNINGBUF: ::c_int = 0x00040000;
-pub const TDP_WAKEUP: ::c_int = 0x00080000;
-pub const TDP_INBDFLUSH: ::c_int = 0x00100000;
-pub const TDP_KTHREAD: ::c_int = 0x00200000;
-pub const TDP_CALLCHAIN: ::c_int = 0x00400000;
-pub const TDP_IGNSUSP: ::c_int = 0x00800000;
-pub const TDP_AUDITREC: ::c_int = 0x01000000;
-pub const TDP_RFPPWAIT: ::c_int = 0x02000000;
-pub const TDP_RESETSPUR: ::c_int = 0x04000000;
-pub const TDP_NERRNO: ::c_int = 0x08000000;
-pub const TDP_EXECVMSPC: ::c_int = 0x40000000;
-
-pub const TDI_SUSPENDED: ::c_int = 0x0001;
-pub const TDI_SLEEPING: ::c_int = 0x0002;
-pub const TDI_SWAPPED: ::c_int = 0x0004;
-pub const TDI_LOCK: ::c_int = 0x0008;
-pub const TDI_IWAIT: ::c_int = 0x0010;
-
-pub const P_ADVLOCK: ::c_int = 0x00000001;
-pub const P_CONTROLT: ::c_int = 0x00000002;
-pub const P_KPROC: ::c_int = 0x00000004;
-pub const P_UNUSED3: ::c_int = 0x00000008;
-pub const P_PPWAIT: ::c_int = 0x00000010;
-pub const P_PROFIL: ::c_int = 0x00000020;
-pub const P_STOPPROF: ::c_int = 0x00000040;
-pub const P_HADTHREADS: ::c_int = 0x00000080;
-pub const P_SUGID: ::c_int = 0x00000100;
-pub const P_SYSTEM: ::c_int = 0x00000200;
-pub const P_SINGLE_EXIT: ::c_int = 0x00000400;
-pub const P_TRACED: ::c_int = 0x00000800;
-pub const P_WAITED: ::c_int = 0x00001000;
-pub const P_WEXIT: ::c_int = 0x00002000;
-pub const P_EXEC: ::c_int = 0x00004000;
-pub const P_WKILLED: ::c_int = 0x00008000;
-pub const P_CONTINUED: ::c_int = 0x00010000;
-pub const P_STOPPED_SIG: ::c_int = 0x00020000;
-pub const P_STOPPED_TRACE: ::c_int = 0x00040000;
-pub const P_STOPPED_SINGLE: ::c_int = 0x00080000;
-pub const P_PROTECTED: ::c_int = 0x00100000;
-pub const P_SIGEVENT: ::c_int = 0x00200000;
-pub const P_SINGLE_BOUNDARY: ::c_int = 0x00400000;
-pub const P_HWPMC: ::c_int = 0x00800000;
-pub const P_JAILED: ::c_int = 0x01000000;
-pub const P_TOTAL_STOP: ::c_int = 0x02000000;
-pub const P_INEXEC: ::c_int = 0x04000000;
-pub const P_STATCHILD: ::c_int = 0x08000000;
-pub const P_INMEM: ::c_int = 0x10000000;
-pub const P_SWAPPINGOUT: ::c_int = 0x20000000;
-pub const P_SWAPPINGIN: ::c_int = 0x40000000;
-pub const P_PPTRACE: ::c_int = 0x80000000;
-pub const P_STOPPED: ::c_int = P_STOPPED_SIG | P_STOPPED_SINGLE | P_STOPPED_TRACE;
-
-pub const P2_INHERIT_PROTECTED: ::c_int = 0x00000001;
-pub const P2_NOTRACE: ::c_int = 0x00000002;
-pub const P2_NOTRACE_EXEC: ::c_int = 0x00000004;
-pub const P2_AST_SU: ::c_int = 0x00000008;
-pub const P2_PTRACE_FSTP: ::c_int = 0x00000010;
-pub const P2_TRAPCAP: ::c_int = 0x00000020;
-pub const P2_STKGAP_DISABLE: ::c_int = 0x00000800;
-pub const P2_STKGAP_DISABLE_EXEC: ::c_int = 0x00001000;
-
-pub const P_TREE_ORPHANED: ::c_int = 0x00000001;
-pub const P_TREE_FIRST_ORPHAN: ::c_int = 0x00000002;
-pub const P_TREE_REAPER: ::c_int = 0x00000004;
-
-pub const SIDL: ::c_char = 1;
-pub const SRUN: ::c_char = 2;
-pub const SSLEEP: ::c_char = 3;
-pub const SSTOP: ::c_char = 4;
-pub const SZOMB: ::c_char = 5;
-pub const SWAIT: ::c_char = 6;
-pub const SLOCK: ::c_char = 7;
-
-pub const P_MAGIC: ::c_int = 0xbeefface;
-
-pub const TDP_SIGFASTBLOCK: ::c_int = 0x00000100;
-pub const TDP_UIOHELD: ::c_int = 0x10000000;
-pub const TDP_SIGFASTPENDING: ::c_int = 0x80000000;
-pub const TDP2_COMPAT32RB: ::c_int = 0x00000002;
-pub const P2_PROTMAX_ENABLE: ::c_int = 0x00000200;
-pub const P2_PROTMAX_DISABLE: ::c_int = 0x00000400;
-pub const TDP2_SBPAGES: ::c_int = 0x00000001;
-pub const P2_ASLR_ENABLE: ::c_int = 0x00000040;
-pub const P2_ASLR_DISABLE: ::c_int = 0x00000080;
-pub const P2_ASLR_IGNSTART: ::c_int = 0x00000100;
-pub const P_TREE_GRPEXITED: ::c_int = 0x00000008;
-
-// libprocstat.h
-pub const PS_FST_VTYPE_VNON: ::c_int = 1;
-pub const PS_FST_VTYPE_VREG: ::c_int = 2;
-pub const PS_FST_VTYPE_VDIR: ::c_int = 3;
-pub const PS_FST_VTYPE_VBLK: ::c_int = 4;
-pub const PS_FST_VTYPE_VCHR: ::c_int = 5;
-pub const PS_FST_VTYPE_VLNK: ::c_int = 6;
-pub const PS_FST_VTYPE_VSOCK: ::c_int = 7;
-pub const PS_FST_VTYPE_VFIFO: ::c_int = 8;
-pub const PS_FST_VTYPE_VBAD: ::c_int = 9;
-pub const PS_FST_VTYPE_UNKNOWN: ::c_int = 255;
-
-pub const PS_FST_TYPE_VNODE: ::c_int = 1;
-pub const PS_FST_TYPE_FIFO: ::c_int = 2;
-pub const PS_FST_TYPE_SOCKET: ::c_int = 3;
-pub const PS_FST_TYPE_PIPE: ::c_int = 4;
-pub const PS_FST_TYPE_PTS: ::c_int = 5;
-pub const PS_FST_TYPE_KQUEUE: ::c_int = 6;
-pub const PS_FST_TYPE_MQUEUE: ::c_int = 8;
-pub const PS_FST_TYPE_SHM: ::c_int = 9;
-pub const PS_FST_TYPE_SEM: ::c_int = 10;
-pub const PS_FST_TYPE_UNKNOWN: ::c_int = 11;
-pub const PS_FST_TYPE_NONE: ::c_int = 12;
-pub const PS_FST_TYPE_PROCDESC: ::c_int = 13;
-pub const PS_FST_TYPE_DEV: ::c_int = 14;
-pub const PS_FST_TYPE_EVENTFD: ::c_int = 15;
-
-pub const PS_FST_UFLAG_RDIR: ::c_int = 0x0001;
-pub const PS_FST_UFLAG_CDIR: ::c_int = 0x0002;
-pub const PS_FST_UFLAG_JAIL: ::c_int = 0x0004;
-pub const PS_FST_UFLAG_TRACE: ::c_int = 0x0008;
-pub const PS_FST_UFLAG_TEXT: ::c_int = 0x0010;
-pub const PS_FST_UFLAG_MMAP: ::c_int = 0x0020;
-pub const PS_FST_UFLAG_CTTY: ::c_int = 0x0040;
-
-pub const PS_FST_FFLAG_READ: ::c_int = 0x0001;
-pub const PS_FST_FFLAG_WRITE: ::c_int = 0x0002;
-pub const PS_FST_FFLAG_NONBLOCK: ::c_int = 0x0004;
-pub const PS_FST_FFLAG_APPEND: ::c_int = 0x0008;
-pub const PS_FST_FFLAG_SHLOCK: ::c_int = 0x0010;
-pub const PS_FST_FFLAG_EXLOCK: ::c_int = 0x0020;
-pub const PS_FST_FFLAG_ASYNC: ::c_int = 0x0040;
-pub const PS_FST_FFLAG_SYNC: ::c_int = 0x0080;
-pub const PS_FST_FFLAG_NOFOLLOW: ::c_int = 0x0100;
-pub const PS_FST_FFLAG_CREAT: ::c_int = 0x0200;
-pub const PS_FST_FFLAG_TRUNC: ::c_int = 0x0400;
-pub const PS_FST_FFLAG_EXCL: ::c_int = 0x0800;
-pub const PS_FST_FFLAG_DIRECT: ::c_int = 0x1000;
-pub const PS_FST_FFLAG_EXEC: ::c_int = 0x2000;
-pub const PS_FST_FFLAG_HASLOCK: ::c_int = 0x4000;
-
-// sys/mount.h
-
-/// File identifier.
-/// These are unique per filesystem on a single machine.
-///
-/// Note that the offset of fid_data is 4 bytes, so care must be taken to avoid
-/// undefined behavior accessing unaligned fields within an embedded struct.
-pub const MAXFIDSZ: ::c_int = 16;
-/// Length of type name including null.
-pub const MFSNAMELEN: ::c_int = 16;
-cfg_if! {
- if #[cfg(any(freebsd10, freebsd11))] {
- /// Size of on/from name bufs.
- pub const MNAMELEN: ::c_int = 88;
- } else {
- /// Size of on/from name bufs.
- pub const MNAMELEN: ::c_int = 1024;
- }
-}
-
-/// Using journaled soft updates.
-pub const MNT_SUJ: u64 = 0x100000000;
-/// Mounted by automountd(8).
-pub const MNT_AUTOMOUNTED: u64 = 0x200000000;
-/// Filesys metadata untrusted.
-pub const MNT_UNTRUSTED: u64 = 0x800000000;
-
-/// Require TLS.
-pub const MNT_EXTLS: u64 = 0x4000000000;
-/// Require TLS with client cert.
-pub const MNT_EXTLSCERT: u64 = 0x8000000000;
-/// Require TLS with user cert.
-pub const MNT_EXTLSCERTUSER: u64 = 0x10000000000;
-
-/// Filesystem is stored locally.
-pub const MNT_LOCAL: u64 = 0x000001000;
-/// Quotas are enabled on fs.
-pub const MNT_QUOTA: u64 = 0x000002000;
-/// Identifies the root fs.
-pub const MNT_ROOTFS: u64 = 0x000004000;
-/// Mounted by a user.
-pub const MNT_USER: u64 = 0x000008000;
-/// Do not show entry in df.
-pub const MNT_IGNORE: u64 = 0x000800000;
-/// Filesystem is verified.
-pub const MNT_VERIFIED: u64 = 0x400000000;
-
-/// Do not cover a mount point.
-pub const MNT_NOCOVER: u64 = 0x001000000000;
-/// Only mount on empty dir.
-pub const MNT_EMPTYDIR: u64 = 0x002000000000;
-/// Recursively unmount uppers.
-pub const MNT_RECURSE: u64 = 0x100000000000;
-/// Unmount in async context.
-pub const MNT_DEFERRED: u64 = 0x200000000000;
-
-/// Get configured filesystems.
-pub const VFS_VFSCONF: ::c_int = 0;
-/// Generic filesystem information.
-pub const VFS_GENERIC: ::c_int = 0;
-
-/// int: highest defined filesystem type.
-pub const VFS_MAXTYPENUM: ::c_int = 1;
-/// struct: vfsconf for filesystem given as next argument.
-pub const VFS_CONF: ::c_int = 2;
-
-/// Synchronously wait for I/O to complete.
-pub const MNT_WAIT: ::c_int = 1;
-/// Start all I/O, but do not wait for it.
-pub const MNT_NOWAIT: ::c_int = 2;
-/// Push data not written by filesystem syncer.
-pub const MNT_LAZY: ::c_int = 3;
-/// Suspend file system after sync.
-pub const MNT_SUSPEND: ::c_int = 4;
-
-pub const MAXSECFLAVORS: ::c_int = 5;
-
-/// Statically compiled into kernel.
-pub const VFCF_STATIC: ::c_int = 0x00010000;
-/// May get data over the network.
-pub const VFCF_NETWORK: ::c_int = 0x00020000;
-/// Writes are not implemented.
-pub const VFCF_READONLY: ::c_int = 0x00040000;
-/// Data does not represent real files.
-pub const VFCF_SYNTHETIC: ::c_int = 0x00080000;
-/// Aliases some other mounted FS.
-pub const VFCF_LOOPBACK: ::c_int = 0x00100000;
-/// Stores file names as Unicode.
-pub const VFCF_UNICODE: ::c_int = 0x00200000;
-/// Can be mounted from within a jail.
-pub const VFCF_JAIL: ::c_int = 0x00400000;
-/// Supports delegated administration.
-pub const VFCF_DELEGADMIN: ::c_int = 0x00800000;
-/// Stop at Boundary: defer stop requests to kernel->user (AST) transition.
-pub const VFCF_SBDRY: ::c_int = 0x01000000;
-
-// time.h
-
-/// not on dst
-pub const DST_NONE: ::c_int = 0;
-/// USA style dst
-pub const DST_USA: ::c_int = 1;
-/// Australian style dst
-pub const DST_AUST: ::c_int = 2;
-/// Western European dst
-pub const DST_WET: ::c_int = 3;
-/// Middle European dst
-pub const DST_MET: ::c_int = 4;
-/// Eastern European dst
-pub const DST_EET: ::c_int = 5;
-/// Canada
-pub const DST_CAN: ::c_int = 6;
-
-pub const CPUCLOCK_WHICH_PID: ::c_int = 0;
-pub const CPUCLOCK_WHICH_TID: ::c_int = 1;
-
-pub const MFD_CLOEXEC: ::c_uint = 0x00000001;
-pub const MFD_ALLOW_SEALING: ::c_uint = 0x00000002;
-pub const MFD_HUGETLB: ::c_uint = 0x00000004;
-
-pub const SHM_LARGEPAGE_ALLOC_DEFAULT: ::c_int = 0;
-pub const SHM_LARGEPAGE_ALLOC_NOWAIT: ::c_int = 1;
-pub const SHM_LARGEPAGE_ALLOC_HARD: ::c_int = 2;
-pub const SHM_RENAME_NOREPLACE: ::c_int = 1 << 0;
-pub const SHM_RENAME_EXCHANGE: ::c_int = 1 << 1;
+pub const F_READAHEAD: ::c_int = 15;
+pub const F_RDAHEAD: ::c_int = 16;
+pub const F_DUP2FD_CLOEXEC: ::c_int = 18;
const_fn! {
{const} fn _ALIGN(p: usize) -> usize {
@@ -3695,18 +1252,6 @@ f! {
as ::c_uint
}
- pub fn MALLOCX_ALIGN(lg: ::c_uint) -> ::c_int {
- ffsl(lg as ::c_long - 1)
- }
-
- pub {const} fn MALLOCX_TCACHE(tc: ::c_int) -> ::c_int {
- (tc + 2) << 8 as ::c_int
- }
-
- pub {const} fn MALLOCX_ARENA(a: ::c_int) -> ::c_int {
- (a + 1) << 20 as ::c_int
- }
-
pub fn SOCKCREDSIZE(ngrps: usize) -> usize {
let ngrps = if ngrps > 0 {
ngrps - 1
@@ -3719,58 +1264,6 @@ f! {
pub fn uname(buf: *mut ::utsname) -> ::c_int {
__xuname(256, buf as *mut ::c_void)
}
-
- pub fn CPU_ZERO(cpuset: &mut cpuset_t) -> () {
- for slot in cpuset.__bits.iter_mut() {
- *slot = 0;
- }
- }
-
- pub fn CPU_FILL(cpuset: &mut cpuset_t) -> () {
- for slot in cpuset.__bits.iter_mut() {
- *slot = !0;
- }
- }
-
- pub fn CPU_SET(cpu: usize, cpuset: &mut cpuset_t) -> () {
- let bitset_bits = ::mem::size_of::<::c_long>();
- let (idx, offset) = (cpu / bitset_bits, cpu % bitset_bits);
- cpuset.__bits[idx] |= 1 << offset;
- ()
- }
-
- pub fn CPU_CLR(cpu: usize, cpuset: &mut cpuset_t) -> () {
- let bitset_bits = ::mem::size_of::<::c_long>();
- let (idx, offset) = (cpu / bitset_bits, cpu % bitset_bits);
- cpuset.__bits[idx] &= !(1 << offset);
- ()
- }
-
- pub fn CPU_ISSET(cpu: usize, cpuset: &cpuset_t) -> bool {
- let bitset_bits = ::mem::size_of::<::c_long>();
- let (idx, offset) = (cpu / bitset_bits, cpu % bitset_bits);
- 0 != cpuset.__bits[idx] & (1 << offset)
- }
-
- pub fn CPU_COUNT(cpuset: &cpuset_t) -> ::c_int {
- let mut s: u32 = 0;
- let cpuset_size = ::mem::size_of::<cpuset_t>();
- let bitset_bits = ::mem::size_of::<::c_long>();
-
- for i in cpuset.__bits[..(cpuset_size / bitset_bits)].iter() {
- s += i.count_ones();
- };
- s as ::c_int
- }
-
- pub fn SOCKCRED2SIZE(ngrps: usize) -> usize {
- let ngrps = if ngrps > 0 {
- ngrps - 1
- } else {
- 0
- };
- ::mem::size_of::<sockcred2>() + ::mem::size_of::<::gid_t>() * ngrps
- }
}
safe_f! {
@@ -3779,26 +1272,6 @@ safe_f! {
}
}
-cfg_if! {
- if #[cfg(not(any(freebsd10, freebsd11)))] {
- extern "C" {
- pub fn fhlink(fhp: *mut fhandle_t, to: *const ::c_char) -> ::c_int;
- pub fn fhlinkat(fhp: *mut fhandle_t, tofd: ::c_int, to: *const ::c_char) -> ::c_int;
- pub fn fhreadlink(
- fhp: *mut fhandle_t,
- buf: *mut ::c_char,
- bufsize: ::size_t,
- ) -> ::c_int;
- pub fn getfhat(
- fd: ::c_int,
- path: *mut ::c_char,
- fhp: *mut fhandle,
- flag: ::c_int,
- ) -> ::c_int;
- }
- }
-}
-
extern "C" {
pub fn __error() -> *mut ::c_int;
@@ -3814,13 +1287,6 @@ extern "C" {
) -> ::c_int;
pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int;
- pub fn devname_r(
- dev: ::dev_t,
- mode: ::mode_t,
- buf: *mut ::c_char,
- len: ::c_int,
- ) -> *mut ::c_char;
-
pub fn extattr_delete_fd(
fd: ::c_int,
attrnamespace: ::c_int,
@@ -3897,14 +1363,6 @@ extern "C" {
nbytes: ::size_t,
) -> ::ssize_t;
- pub fn fspacectl(
- fd: ::c_int,
- cmd: ::c_int,
- rqsr: *const spacectl_range,
- flags: ::c_int,
- rmsr: *mut spacectl_range,
- ) -> ::c_int;
-
pub fn jail(jail: *mut ::jail) -> ::c_int;
pub fn jail_attach(jid: ::c_int) -> ::c_int;
pub fn jail_remove(jid: ::c_int) -> ::c_int;
@@ -3918,6 +1376,8 @@ extern "C" {
sevp: *mut sigevent,
) -> ::c_int;
+ pub fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int;
+ pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int;
pub fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int;
pub fn mkostemps(template: *mut ::c_char, suffixlen: ::c_int, flags: ::c_int) -> ::c_int;
@@ -3939,9 +1399,6 @@ 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 semget(key: ::key_t, nsems: ::c_int, semflg: ::c_int) -> ::c_int;
- pub fn semctl(semid: ::c_int, semnum: ::c_int, cmd: ::c_int, ...) -> ::c_int;
- pub fn semop(semid: ::c_int, sops: *mut sembuf, nsops: ::size_t) -> ::c_int;
pub fn msgctl(msqid: ::c_int, cmd: ::c_int, buf: *mut ::msqid_ds) -> ::c_int;
pub fn msgget(key: ::key_t, msgflg: ::c_int) -> ::c_int;
pub fn msgsnd(
@@ -3951,6 +1408,11 @@ extern "C" {
msgflg: ::c_int,
) -> ::c_int;
pub fn cfmakesane(termios: *mut ::termios);
+ pub fn fexecve(
+ fd: ::c_int,
+ argv: *const *const ::c_char,
+ envp: *const *const ::c_char,
+ ) -> ::c_int;
pub fn pdfork(fdp: *mut ::c_int, flags: ::c_int) -> ::pid_t;
pub fn pdgetpid(fd: ::c_int, pidp: *mut ::pid_t) -> ::c_int;
@@ -4035,49 +1497,6 @@ extern "C" {
newfd: ::c_int,
) -> ::c_int;
- pub fn uuidgen(store: *mut uuid, count: ::c_int) -> ::c_int;
-
- pub fn thr_kill(id: ::c_long, sig: ::c_int) -> ::c_int;
- pub fn thr_kill2(pid: ::pid_t, id: ::c_long, sig: ::c_int) -> ::c_int;
- pub fn thr_self(tid: *mut ::c_long) -> ::c_int;
- pub fn pthread_getthreadid_np() -> ::c_int;
- pub fn pthread_getaffinity_np(
- td: ::pthread_t,
- cpusetsize: ::size_t,
- cpusetp: *mut cpuset_t,
- ) -> ::c_int;
- pub fn pthread_setaffinity_np(
- td: ::pthread_t,
- cpusetsize: ::size_t,
- cpusetp: *const cpuset_t,
- ) -> ::c_int;
-
- // sched.h linux compatibility api
- pub fn sched_getaffinity(pid: ::pid_t, cpusetsz: ::size_t, cpuset: *mut ::cpuset_t) -> ::c_int;
- pub fn sched_setaffinity(
- pid: ::pid_t,
- cpusetsz: ::size_t,
- cpuset: *const ::cpuset_t,
- ) -> ::c_int;
- pub fn sched_getcpu() -> ::c_int;
-
- pub fn pthread_mutex_consistent(mutex: *mut ::pthread_mutex_t) -> ::c_int;
-
- pub fn pthread_mutexattr_getrobust(
- attr: *mut ::pthread_mutexattr_t,
- robust: *mut ::c_int,
- ) -> ::c_int;
- pub fn pthread_mutexattr_setrobust(
- attr: *mut ::pthread_mutexattr_t,
- robust: ::c_int,
- ) -> ::c_int;
-
- pub fn pthread_spin_init(lock: *mut pthread_spinlock_t, pshared: ::c_int) -> ::c_int;
- pub fn pthread_spin_destroy(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_lock(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_trylock(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_unlock(lock: *mut pthread_spinlock_t) -> ::c_int;
-
#[cfg_attr(all(target_os = "freebsd", freebsd11), link_name = "statfs@FBSD_1.0")]
pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
#[cfg_attr(all(target_os = "freebsd", freebsd11), link_name = "fstatfs@FBSD_1.0")]
@@ -4106,189 +1525,7 @@ extern "C" {
needlelen: ::size_t,
) -> *mut ::c_void;
- pub fn fhopen(fhp: *const fhandle_t, flags: ::c_int) -> ::c_int;
- pub fn fhstat(fhp: *const fhandle, buf: *mut ::stat) -> ::c_int;
- pub fn fhstatfs(fhp: *const fhandle_t, buf: *mut ::statfs) -> ::c_int;
- pub fn getfh(path: *const ::c_char, fhp: *mut fhandle_t) -> ::c_int;
- pub fn lgetfh(path: *const ::c_char, fhp: *mut fhandle_t) -> ::c_int;
- pub fn getfsstat(buf: *mut ::statfs, bufsize: ::c_long, mode: ::c_int) -> ::c_int;
- #[cfg_attr(
- all(target_os = "freebsd", freebsd11),
- link_name = "getmntinfo@FBSD_1.0"
- )]
- pub fn getmntinfo(mntbufp: *mut *mut ::statfs, mode: ::c_int) -> ::c_int;
- pub fn mount(
- type_: *const ::c_char,
- dir: *const ::c_char,
- flags: ::c_int,
- data: *mut ::c_void,
- ) -> ::c_int;
pub fn nmount(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int) -> ::c_int;
-
- pub fn setproctitle(fmt: *const ::c_char, ...);
- pub fn rfork(flags: ::c_int) -> ::c_int;
- pub fn cpuset_getaffinity(
- level: cpulevel_t,
- which: cpuwhich_t,
- id: ::id_t,
- setsize: ::size_t,
- mask: *mut cpuset_t,
- ) -> ::c_int;
- pub fn cpuset_setaffinity(
- level: cpulevel_t,
- which: cpuwhich_t,
- id: ::id_t,
- setsize: ::size_t,
- mask: *const cpuset_t,
- ) -> ::c_int;
- pub fn cap_enter() -> ::c_int;
- pub fn cap_getmode(modep: *mut ::c_uint) -> ::c_int;
- pub fn __cap_rights_init(version: ::c_int, rights: *mut cap_rights_t, ...)
- -> *mut cap_rights_t;
- pub fn __cap_rights_set(rights: *mut cap_rights_t, ...) -> *mut cap_rights_t;
- pub fn __cap_rights_clear(rights: *mut cap_rights_t, ...) -> *mut cap_rights_t;
- pub fn __cap_rights_is_set(rights: *const cap_rights_t, ...) -> bool;
- pub fn cap_rights_is_valid(rights: *const cap_rights_t) -> bool;
- pub fn cap_rights_limit(fd: ::c_int, rights: *const cap_rights_t) -> ::c_int;
- pub fn cap_rights_merge(dst: *mut cap_rights_t, src: *const cap_rights_t) -> *mut cap_rights_t;
- pub fn cap_rights_remove(dst: *mut cap_rights_t, src: *const cap_rights_t)
- -> *mut cap_rights_t;
- pub fn cap_rights_contains(big: *const cap_rights_t, little: *const cap_rights_t) -> bool;
-
- pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;
-
- pub fn ffs(value: ::c_int) -> ::c_int;
- pub fn ffsl(value: ::c_long) -> ::c_int;
- pub fn ffsll(value: ::c_longlong) -> ::c_int;
- pub fn fls(value: ::c_int) -> ::c_int;
- pub fn flsl(value: ::c_long) -> ::c_int;
- pub fn flsll(value: ::c_longlong) -> ::c_int;
- pub fn malloc_usable_size(ptr: *const ::c_void) -> ::size_t;
- pub fn malloc_stats_print(
- write_cb: unsafe extern "C" fn(*mut ::c_void, *const ::c_char),
- cbopaque: *mut ::c_void,
- opt: *const ::c_char,
- );
- pub fn mallctl(
- name: *const ::c_char,
- oldp: *mut ::c_void,
- oldlenp: *mut ::size_t,
- newp: *mut ::c_void,
- newlen: ::size_t,
- ) -> ::c_int;
- pub fn mallctlnametomib(
- name: *const ::c_char,
- mibp: *mut ::size_t,
- miplen: *mut ::size_t,
- ) -> ::c_int;
- pub fn mallctlbymib(
- mib: *const ::size_t,
- mible: ::size_t,
- oldp: *mut ::c_void,
- oldlenp: *mut ::size_t,
- newp: *mut ::c_void,
- newlen: ::size_t,
- ) -> ::c_int;
- pub fn mallocx(size: ::size_t, flags: ::c_int) -> *mut ::c_void;
- pub fn rallocx(ptr: *mut ::c_void, size: ::size_t, flags: ::c_int) -> *mut ::c_void;
- pub fn xallocx(ptr: *mut ::c_void, size: ::size_t, extra: ::size_t, flags: ::c_int)
- -> ::size_t;
- pub fn sallocx(ptr: *const ::c_void, flags: ::c_int) -> ::size_t;
- pub fn dallocx(ptr: *mut ::c_void, flags: ::c_int);
- pub fn sdallocx(ptr: *mut ::c_void, size: ::size_t, flags: ::c_int);
- pub fn nallocx(size: ::size_t, flags: ::c_int) -> ::size_t;
-
- pub fn procctl(idtype: ::idtype_t, id: ::id_t, cmd: ::c_int, data: *mut ::c_void) -> ::c_int;
-
- pub fn getpagesize() -> ::c_int;
- pub fn getpagesizes(pagesize: *mut ::size_t, nelem: ::c_int) -> ::c_int;
-
- pub fn adjtime(arg1: *const ::timeval, arg2: *mut ::timeval) -> ::c_int;
- pub fn clock_getcpuclockid2(arg1: ::id_t, arg2: ::c_int, arg3: *mut clockid_t) -> ::c_int;
-
- pub fn shm_create_largepage(
- path: *const ::c_char,
- flags: ::c_int,
- psind: ::c_int,
- alloc_policy: ::c_int,
- mode: ::mode_t,
- ) -> ::c_int;
- pub fn shm_rename(
- path_from: *const ::c_char,
- path_to: *const ::c_char,
- flags: ::c_int,
- ) -> ::c_int;
- pub fn memfd_create(name: *const ::c_char, flags: ::c_uint) -> ::c_int;
- pub fn setaudit(auditinfo: *const auditinfo_t) -> ::c_int;
-}
-
-#[link(name = "kvm")]
-extern "C" {
- pub fn kvm_open(
- execfile: *const ::c_char,
- corefile: *const ::c_char,
- swapfile: *const ::c_char,
- flags: ::c_int,
- errstr: *const ::c_char,
- ) -> *mut kvm_t;
- pub fn kvm_close(kd: *mut kvm_t) -> ::c_int;
- pub fn kvm_dpcpu_setcpu(kd: *mut kvm_t, cpu: ::c_uint) -> ::c_int;
- pub fn kvm_getargv(kd: *mut kvm_t, p: *const kinfo_proc, nchr: ::c_int) -> *mut *mut ::c_char;
- pub fn kvm_getcptime(kd: *mut kvm_t, cp_time: *mut ::c_long) -> ::c_int;
- pub fn kvm_getenvv(kd: *mut kvm_t, p: *const kinfo_proc, nchr: ::c_int) -> *mut *mut ::c_char;
- pub fn kvm_geterr(kd: *mut kvm_t) -> *mut ::c_char;
- pub fn kvm_getloadavg(kd: *mut kvm_t, loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int;
- pub fn kvm_getmaxcpu(kd: *mut kvm_t) -> ::c_int;
- pub fn kvm_getncpus(kd: *mut kvm_t) -> ::c_int;
- pub fn kvm_getpcpu(kd: *mut kvm_t, cpu: ::c_int) -> *mut ::c_void;
- pub fn kvm_counter_u64_fetch(kd: *mut kvm_t, base: ::c_ulong) -> u64;
- pub fn kvm_getprocs(
- kd: *mut kvm_t,
- op: ::c_int,
- arg: ::c_int,
- cnt: *mut ::c_int,
- ) -> *mut kinfo_proc;
- pub fn kvm_getswapinfo(
- kd: *mut kvm_t,
- info: *mut kvm_swap,
- maxswap: ::c_int,
- flags: ::c_int,
- ) -> ::c_int;
- pub fn kvm_native(kd: *mut kvm_t) -> ::c_int;
- pub fn kvm_nlist(kd: *mut kvm_t, nl: *mut nlist) -> ::c_int;
- pub fn kvm_nlist2(kd: *mut kvm_t, nl: *mut kvm_nlist) -> ::c_int;
- pub fn kvm_openfiles(
- execfile: *const ::c_char,
- corefile: *const ::c_char,
- swapfile: *const ::c_char,
- flags: ::c_int,
- errbuf: *mut ::c_char,
- ) -> *mut kvm_t;
- pub fn kvm_read(
- kd: *mut kvm_t,
- addr: ::c_ulong,
- buf: *mut ::c_void,
- nbytes: ::size_t,
- ) -> ::ssize_t;
- pub fn kvm_read_zpcpu(
- kd: *mut kvm_t,
- base: ::c_ulong,
- buf: *mut ::c_void,
- size: ::size_t,
- cpu: ::c_int,
- ) -> ::ssize_t;
- pub fn kvm_read2(
- kd: *mut kvm_t,
- addr: kvaddr_t,
- buf: *mut ::c_void,
- nbytes: ::size_t,
- ) -> ::ssize_t;
- pub fn kvm_write(
- kd: *mut kvm_t,
- addr: ::c_ulong,
- buf: *const ::c_void,
- nbytes: ::size_t,
- ) -> ::ssize_t;
}
#[link(name = "util")]
@@ -4301,173 +1538,10 @@ extern "C" {
string: *const ::c_char,
attrnamespace: *mut ::c_int,
) -> ::c_int;
- pub fn realhostname(host: *mut ::c_char, hsize: ::size_t, ip: *const ::in_addr) -> ::c_int;
- pub fn realhostname_sa(
- host: *mut ::c_char,
- hsize: ::size_t,
- addr: *mut ::sockaddr,
- addrlen: ::c_int,
- ) -> ::c_int;
-
- pub fn kld_isloaded(name: *const ::c_char) -> ::c_int;
- pub fn kld_load(name: *const ::c_char) -> ::c_int;
-
- pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::c_int) -> *mut kinfo_vmentry;
-
- pub fn hexdump(ptr: *const ::c_void, length: ::c_int, hdr: *const ::c_char, flags: ::c_int);
- pub fn humanize_number(
- buf: *mut ::c_char,
- len: ::size_t,
- number: i64,
- suffix: *const ::c_char,
- scale: ::c_int,
- flags: ::c_int,
- ) -> ::c_int;
-
- pub fn flopen(path: *const ::c_char, flags: ::c_int, ...) -> ::c_int;
- pub fn flopenat(fd: ::c_int, path: *const ::c_char, flags: ::c_int, ...) -> ::c_int;
-}
-
-#[link(name = "procstat")]
-extern "C" {
- pub fn procstat_open_sysctl() -> *mut procstat;
- pub fn procstat_getfiles(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- mmapped: ::c_int,
- ) -> *mut filestat_list;
- pub fn procstat_freefiles(procstat: *mut procstat, head: *mut filestat_list);
- pub fn procstat_getprocs(
- procstat: *mut procstat,
- what: ::c_int,
- arg: ::c_int,
- count: *mut ::c_uint,
- ) -> *mut kinfo_proc;
- pub fn procstat_freeprocs(procstat: *mut procstat, p: *mut kinfo_proc);
- pub fn procstat_getvmmap(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- count: *mut ::c_uint,
- ) -> *mut kinfo_vmentry;
- pub fn procstat_freevmmap(procstat: *mut procstat, vmmap: *mut kinfo_vmentry);
- pub fn procstat_close(procstat: *mut procstat);
- pub fn procstat_freeargv(procstat: *mut procstat);
- pub fn procstat_freeenvv(procstat: *mut procstat);
- pub fn procstat_freegroups(procstat: *mut procstat, groups: *mut ::gid_t);
- pub fn procstat_freeptlwpinfo(procstat: *mut procstat, pl: *mut ptrace_lwpinfo);
- pub fn procstat_getargv(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- nchr: ::size_t,
- ) -> *mut *mut ::c_char;
- pub fn procstat_getenvv(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- nchr: ::size_t,
- ) -> *mut *mut ::c_char;
- pub fn procstat_getgroups(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- count: *mut ::c_uint,
- ) -> *mut ::gid_t;
- pub fn procstat_getosrel(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- osrelp: *mut ::c_int,
- ) -> ::c_int;
- pub fn procstat_getpathname(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- pathname: *mut ::c_char,
- maxlen: ::size_t,
- ) -> ::c_int;
- pub fn procstat_getrlimit(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- which: ::c_int,
- rlimit: *mut ::rlimit,
- ) -> ::c_int;
- pub fn procstat_getumask(
- procstat: *mut procstat,
- kp: *mut kinfo_proc,
- maskp: *mut ::c_ushort,
- ) -> ::c_int;
- pub fn procstat_open_core(filename: *const ::c_char) -> *mut procstat;
- pub fn procstat_open_kvm(nlistf: *const ::c_char, memf: *const ::c_char) -> *mut procstat;
- pub fn procstat_get_socket_info(
- proc_: *mut procstat,
- fst: *mut filestat,
- sock: *mut sockstat,
- errbuf: *mut ::c_char,
- ) -> ::c_int;
- pub fn procstat_get_vnode_info(
- proc_: *mut procstat,
- fst: *mut filestat,
- vn: *mut vnstat,
- errbuf: *mut ::c_char,
- ) -> ::c_int;
- pub fn procstat_get_pts_info(
- proc_: *mut procstat,
- fst: *mut filestat,
- pts: *mut ptsstat,
- errbuf: *mut ::c_char,
- ) -> ::c_int;
- pub fn procstat_get_shm_info(
- proc_: *mut procstat,
- fst: *mut filestat,
- shm: *mut shmstat,
- errbuf: *mut ::c_char,
- ) -> ::c_int;
-}
-
-#[link(name = "rt")]
-extern "C" {
- pub fn timer_create(clock_id: clockid_t, evp: *mut sigevent, timerid: *mut timer_t) -> ::c_int;
- pub fn timer_delete(timerid: timer_t) -> ::c_int;
- pub fn timer_getoverrun(timerid: timer_t) -> ::c_int;
- pub fn timer_gettime(timerid: timer_t, value: *mut itimerspec) -> ::c_int;
- pub fn timer_settime(
- timerid: timer_t,
- flags: ::c_int,
- value: *const itimerspec,
- ovalue: *mut itimerspec,
- ) -> ::c_int;
-}
-
-#[link(name = "devstat")]
-extern "C" {
- pub fn devstat_getnumdevs(kd: *mut kvm_t) -> ::c_int;
- pub fn devstat_getgeneration(kd: *mut kvm_t) -> ::c_long;
- pub fn devstat_getversion(kd: *mut kvm_t) -> ::c_int;
- pub fn devstat_checkversion(kd: *mut kvm_t) -> ::c_int;
- pub fn devstat_selectdevs(
- dev_select: *mut *mut device_selection,
- num_selected: *mut ::c_int,
- num_selections: *mut ::c_int,
- select_generation: *mut ::c_long,
- current_generation: ::c_long,
- devices: *mut devstat,
- numdevs: ::c_int,
- matches: *mut devstat_match,
- num_matches: ::c_int,
- dev_selections: *mut *mut ::c_char,
- num_dev_selections: ::c_int,
- select_mode: devstat_select_mode,
- maxshowdevs: ::c_int,
- perf_select: ::c_int,
- ) -> ::c_int;
- pub fn devstat_buildmatch(
- match_str: *mut ::c_char,
- matches: *mut *mut devstat_match,
- num_matches: *mut ::c_int,
- ) -> ::c_int;
}
cfg_if! {
- if #[cfg(freebsd14)] {
- mod freebsd14;
- pub use self::freebsd14::*;
- } else if #[cfg(freebsd13)] {
+ if #[cfg(freebsd13)] {
mod freebsd13;
pub use self::freebsd13::*;
} else if #[cfg(freebsd12)] {
@@ -4497,12 +1571,6 @@ cfg_if! {
} else if #[cfg(target_arch = "powerpc64")] {
mod powerpc64;
pub use self::powerpc64::*;
- } else if #[cfg(target_arch = "powerpc")] {
- mod powerpc;
- pub use self::powerpc::*;
- } else if #[cfg(target_arch = "riscv64")] {
- mod riscv64;
- pub use self::riscv64::*;
} else {
// Unknown target_arch
}
diff --git a/src/unix/bsd/freebsdlike/freebsd/powerpc.rs b/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
deleted file mode 100644
index a0120c33..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-pub type c_char = u8;
-pub type c_long = i32;
-pub type c_ulong = u32;
-pub type wchar_t = i32;
-pub type time_t = i64;
-pub type suseconds_t = i32;
-pub type register_t = i32;
-
-s! {
- 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_uid: ::uid_t,
- pub st_gid: ::gid_t,
- 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_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
- pub st_gen: u32,
- pub st_lspare: i32,
- pub st_birthtime: ::time_t,
- pub st_birthtime_nsec: ::c_long,
- }
-}
-
-// should be pub(crate), but that requires Rust 1.18.0
-cfg_if! {
- if #[cfg(libc_const_size_of)] {
- #[doc(hidden)]
- pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1;
- } else {
- #[doc(hidden)]
- pub const _ALIGNBYTES: usize = 4 - 1;
- }
-}
-
-pub const MAP_32BIT: ::c_int = 0x00080000;
-pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4
diff --git a/src/unix/bsd/freebsdlike/freebsd/riscv64.rs b/src/unix/bsd/freebsdlike/freebsd/riscv64.rs
deleted file mode 100644
index c91a8dfb..00000000
--- a/src/unix/bsd/freebsdlike/freebsd/riscv64.rs
+++ /dev/null
@@ -1,154 +0,0 @@
-pub type c_char = u8;
-pub type c_long = i64;
-pub type c_ulong = u64;
-pub type wchar_t = ::c_int;
-pub type time_t = i64;
-pub type suseconds_t = ::c_long;
-pub type register_t = i64;
-
-// should be pub(crate), but that requires Rust 1.18.0
-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;
- }
-}
-
-s_no_extra_traits! {
- pub struct gpregs {
- pub gp_ra: ::register_t,
- pub gp_sp: ::register_t,
- pub gp_gp: ::register_t,
- pub gp_tp: ::register_t,
- pub gp_t: [::register_t; 7],
- pub gp_s: [::register_t; 12],
- pub gp_a: [::register_t; 8],
- pub gp_sepc: ::register_t,
- pub gp_sstatus: ::register_t,
- }
-
- pub struct fpregs {
- pub fp_x: [[::register_t; 2]; 32],
- pub fp_fcsr: ::register_t,
- pub fp_flags: ::c_int,
- pub fp_pad: ::c_int,
- }
-
- pub struct mcontext_t {
- pub mc_gpregs: gpregs,
- pub mc_fpregs: fpregs,
- pub mc_flags: ::c_int,
- pub mc_pad: ::c_int,
- pub mc_spare: [u64; 8],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- impl PartialEq for gpregs {
- fn eq(&self, other: &gpregs) -> bool {
- self.gp_ra == other.gp_ra &&
- self.gp_sp == other.gp_sp &&
- self.gp_gp == other.gp_gp &&
- self.gp_tp == other.gp_tp &&
- self.gp_t.iter().zip(other.gp_t.iter()).all(|(a, b)| a == b) &&
- self.gp_s.iter().zip(other.gp_s.iter()).all(|(a, b)| a == b) &&
- self.gp_a.iter().zip(other.gp_a.iter()).all(|(a, b)| a == b) &&
- self.gp_sepc == other.gp_sepc &&
- self.gp_sstatus == other.gp_sstatus
- }
- }
- impl Eq for gpregs {}
- impl ::fmt::Debug for gpregs {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("gpregs")
- .field("gp_ra", &self.gp_ra)
- .field("gp_sp", &self.gp_sp)
- .field("gp_gp", &self.gp_gp)
- .field("gp_tp", &self.gp_tp)
- .field("gp_t", &self.gp_t)
- .field("gp_s", &self.gp_s)
- .field("gp_a", &self.gp_a)
- .field("gp_sepc", &self.gp_sepc)
- .field("gp_sstatus", &self.gp_sstatus)
- .finish()
- }
- }
- impl ::hash::Hash for gpregs {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.gp_ra.hash(state);
- self.gp_sp.hash(state);
- self.gp_gp.hash(state);
- self.gp_tp.hash(state);
- self.gp_t.hash(state);
- self.gp_s.hash(state);
- self.gp_a.hash(state);
- self.gp_sepc.hash(state);
- self.gp_sstatus.hash(state);
- }
- }
- impl PartialEq for fpregs {
- fn eq(&self, other: &fpregs) -> bool {
- self.fp_x == other.fp_x &&
- self.fp_fcsr == other.fp_fcsr &&
- self.fp_flags == other.fp_flags &&
- self.fp_pad == other.fp_pad
- }
- }
- impl Eq for fpregs {}
- impl ::fmt::Debug for fpregs {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("fpregs")
- .field("fp_x", &self.fp_x)
- .field("fp_fcsr", &self.fp_fcsr)
- .field("fp_flags", &self.fp_flags)
- .field("fp_pad", &self.fp_pad)
- .finish()
- }
- }
- impl ::hash::Hash for fpregs {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.fp_x.hash(state);
- self.fp_fcsr.hash(state);
- self.fp_flags.hash(state);
- self.fp_pad.hash(state);
- }
- }
- impl PartialEq for mcontext_t {
- fn eq(&self, other: &mcontext_t) -> bool {
- self.mc_gpregs == other.mc_gpregs &&
- self.mc_fpregs == other.mc_fpregs &&
- self.mc_flags == other.mc_flags &&
- self.mc_pad == other.mc_pad &&
- self.mc_spare.iter().zip(other.mc_spare.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_gpregs", &self.mc_gpregs)
- .field("mc_fpregs", &self.mc_fpregs)
- .field("mc_flags", &self.mc_flags)
- .field("mc_pad", &self.mc_pad)
- .field("mc_spare", &self.mc_spare)
- .finish()
- }
- }
- impl ::hash::Hash for mcontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.mc_gpregs.hash(state);
- self.mc_fpregs.hash(state);
- self.mc_flags.hash(state);
- self.mc_pad.hash(state);
- self.mc_spare.hash(state);
- }
- }
- }
-}
-
-pub const MAP_32BIT: ::c_int = 0x00080000;
-pub const MINSIGSTKSZ: ::size_t = 4096; // 1024 * 4
diff --git a/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs b/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs
index ae1fcf78..d3333c8b 100644
--- a/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs
@@ -80,36 +80,6 @@ s_no_extra_traits! {
pub xmm_reg: [[u8; 16]; 8],
pub xmm_pad: [u8; 224],
}
-
- #[cfg(libc_union)]
- pub union __c_anonymous_elf64_auxv_union {
- pub a_val: ::c_long,
- pub a_ptr: *mut ::c_void,
- pub a_fcn: extern "C" fn(),
- }
-
- pub struct Elf64_Auxinfo {
- pub a_type: ::c_long,
- #[cfg(libc_union)]
- pub a_un: __c_anonymous_elf64_auxv_union,
- }
-
- pub struct kinfo_file {
- pub kf_structsize: ::c_int,
- pub kf_type: ::c_int,
- pub kf_fd: ::c_int,
- pub kf_ref_count: ::c_int,
- pub kf_flags: ::c_int,
- _kf_pad0: ::c_int,
- pub kf_offset: i64,
- _priv: [::uintptr_t; 38], // FIXME if needed
- pub kf_status: u16,
- _kf_pad1: u16,
- _kf_ispare0: ::c_int,
- pub kf_cap_rights: ::cap_rights_t,
- _kf_cap_spare: u64,
- pub kf_path: [::c_char; ::PATH_MAX as usize],
- }
}
cfg_if! {
@@ -203,102 +173,6 @@ cfg_if! {
self.xmm_pad.hash(state);
}
}
-
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_elf64_auxv_union {
- fn eq(&self, other: &__c_anonymous_elf64_auxv_union) -> bool {
- unsafe { self.a_val == other.a_val
- || self.a_ptr == other.a_ptr
- || self.a_fcn == other.a_fcn }
- }
- }
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_elf64_auxv_union {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_elf64_auxv_union {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("a_val")
- .field("a_val", unsafe { &self.a_val })
- .finish()
- }
- }
- #[cfg(not(libc_union))]
- impl PartialEq for Elf64_Auxinfo {
- fn eq(&self, other: &Elf64_Auxinfo) -> bool {
- self.a_type == other.a_type
- }
- }
- #[cfg(libc_union)]
- impl PartialEq for Elf64_Auxinfo {
- fn eq(&self, other: &Elf64_Auxinfo) -> bool {
- self.a_type == other.a_type
- && self.a_un == other.a_un
- }
- }
- impl Eq for Elf64_Auxinfo {}
- #[cfg(not(libc_union))]
- impl ::fmt::Debug for Elf64_Auxinfo {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("Elf64_Auxinfo")
- .field("a_type", &self.a_type)
- .finish()
- }
- }
- #[cfg(libc_union)]
- impl ::fmt::Debug for Elf64_Auxinfo {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("Elf64_Auxinfo")
- .field("a_type", &self.a_type)
- .field("a_un", &self.a_un)
- .finish()
- }
- }
-
- impl PartialEq for kinfo_file {
- fn eq(&self, other: &kinfo_file) -> bool {
- self.kf_structsize == other.kf_structsize &&
- self.kf_type == other.kf_type &&
- self.kf_fd == other.kf_fd &&
- self.kf_ref_count == other.kf_ref_count &&
- self.kf_flags == other.kf_flags &&
- self.kf_offset == other.kf_offset &&
- self.kf_status == other.kf_status &&
- self.kf_cap_rights == other.kf_cap_rights &&
- self.kf_path
- .iter()
- .zip(other.kf_path.iter())
- .all(|(a,b)| a == b)
- }
- }
- impl Eq for kinfo_file {}
- impl ::fmt::Debug for kinfo_file {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("kinfo_file")
- .field("kf_structsize", &self.kf_structsize)
- .field("kf_type", &self.kf_type)
- .field("kf_fd", &self.kf_fd)
- .field("kf_ref_count", &self.kf_ref_count)
- .field("kf_flags", &self.kf_flags)
- .field("kf_offset", &self.kf_offset)
- .field("kf_status", &self.kf_status)
- .field("kf_cap_rights", &self.kf_cap_rights)
- .field("kf_path", &&self.kf_path[..])
- .finish()
- }
- }
- impl ::hash::Hash for kinfo_file {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.kf_structsize.hash(state);
- self.kf_type.hash(state);
- self.kf_fd.hash(state);
- self.kf_ref_count.hash(state);
- self.kf_flags.hash(state);
- self.kf_offset.hash(state);
- self.kf_status.hash(state);
- self.kf_cap_rights.hash(state);
- self.kf_path.hash(state);
- }
- }
}
}
diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs
index d9380bdc..a40bb3dc 100644
--- a/src/unix/bsd/freebsdlike/mod.rs
+++ b/src/unix/bsd/freebsdlike/mod.rs
@@ -13,7 +13,6 @@ pub type speed_t = ::c_uint;
pub type nl_item = ::c_int;
pub type id_t = i64;
pub type vm_size_t = ::uintptr_t;
-pub type key_t = ::c_long;
// elf.h
@@ -90,12 +89,6 @@ s! {
pub imr_interface: in_addr,
}
- pub struct ip_mreqn {
- pub imr_multiaddr: in_addr,
- pub imr_address: in_addr,
- pub imr_ifindex: ::c_int,
- }
-
pub struct glob_t {
pub gl_pathc: ::size_t,
pub gl_matchc: ::size_t,
@@ -272,11 +265,6 @@ s! {
pub time_state: ::c_int,
}
- pub struct accept_filter_arg {
- pub af_name: [::c_char; 16],
- af_arg: [[::c_char; 10]; 24],
- }
-
pub struct ptrace_io_desc {
pub piod_op: ::c_int,
pub piod_offs: *mut ::c_void,
@@ -356,16 +344,6 @@ s! {
pub dlpi_tls_modid: usize,
pub dlpi_tls_data: *mut ::c_void,
}
-
- pub struct ipc_perm {
- pub cuid: ::uid_t,
- pub cgid: ::gid_t,
- pub uid: ::uid_t,
- pub gid: ::gid_t,
- pub mode: ::mode_t,
- pub seq: ::c_ushort,
- pub key: ::key_t,
- }
}
s_no_extra_traits! {
@@ -584,8 +562,6 @@ pub const F_TEST: ::c_int = 3;
pub const F_TLOCK: ::c_int = 2;
pub const F_ULOCK: ::c_int = 0;
pub const F_DUPFD_CLOEXEC: ::c_int = 17;
-pub const F_DUP2FD: ::c_int = 10;
-pub const F_DUP2FD_CLOEXEC: ::c_int = 18;
pub const SIGHUP: ::c_int = 1;
pub const SIGINT: ::c_int = 2;
pub const SIGQUIT: ::c_int = 3;
@@ -616,18 +592,6 @@ pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void;
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
-pub const MNT_NOATIME: ::c_int = 0x10000000;
-pub const MNT_NOCLUSTERR: ::c_int = 0x40000000;
-pub const MNT_NOCLUSTERW: ::c_int = 0x80000000;
-pub const MNT_NOSYMFOLLOW: ::c_int = 0x00400000;
-pub const MNT_SOFTDEP: ::c_int = 0x00200000;
-pub const MNT_SUIDDIR: ::c_int = 0x00100000;
-pub const MNT_EXRDONLY: ::c_int = 0x00000080;
-pub const MNT_DEFEXPORTED: ::c_int = 0x00000200;
-pub const MNT_EXPORTANON: ::c_int = 0x00000400;
-pub const MNT_EXKERB: ::c_int = 0x00000800;
-pub const MNT_DELEXPORT: ::c_int = 0x00020000;
-
pub const MS_SYNC: ::c_int = 0x0000;
pub const MS_ASYNC: ::c_int = 0x0001;
pub const MS_INVALIDATE: ::c_int = 0x0002;
@@ -737,14 +701,6 @@ pub const POLLSTANDARD: ::c_short = ::POLLIN
| ::POLLHUP
| ::POLLNVAL;
-pub const AI_PASSIVE: ::c_int = 0x00000001;
-pub const AI_CANONNAME: ::c_int = 0x00000002;
-pub const AI_NUMERICHOST: ::c_int = 0x00000004;
-pub const AI_NUMERICSERV: ::c_int = 0x00000008;
-pub const AI_ALL: ::c_int = 0x00000100;
-pub const AI_ADDRCONFIG: ::c_int = 0x00000400;
-pub const AI_V4MAPPED: ::c_int = 0x00000800;
-
pub const EAI_AGAIN: ::c_int = 2;
pub const EAI_BADFLAGS: ::c_int = 3;
pub const EAI_FAIL: ::c_int = 4;
@@ -835,6 +791,7 @@ pub const MINCORE_REFERENCED: ::c_int = 0x2;
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 MINCORE_SUPER: ::c_int = 0x20;
pub const AF_UNSPEC: ::c_int = 0;
pub const AF_LOCAL: ::c_int = 1;
@@ -1006,16 +963,10 @@ pub const LOCK_UN: ::c_int = 8;
pub const MAP_COPY: ::c_int = 0x0002;
#[doc(hidden)]
-#[deprecated(
- since = "0.2.54",
- note = "Removed in FreeBSD 11, unused in DragonFlyBSD"
-)]
+#[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")]
pub const MAP_RENAME: ::c_int = 0x0020;
#[doc(hidden)]
-#[deprecated(
- since = "0.2.54",
- note = "Removed in FreeBSD 11, unused in DragonFlyBSD"
-)]
+#[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")]
pub const MAP_NORESERVE: ::c_int = 0x0040;
pub const MAP_HASSEMAPHORE: ::c_int = 0x0200;
pub const MAP_STACK: ::c_int = 0x0400;
@@ -1187,6 +1138,7 @@ pub const ST_NOSUID: ::c_ulong = 2;
pub const NI_MAXHOST: ::size_t = 1025;
+pub const XU_NGROUPS: ::c_int = 16;
pub const XUCRED_VERSION: ::c_uint = 0;
pub const RTLD_LOCAL: ::c_int = 0;
@@ -1199,30 +1151,30 @@ pub const LOG_SECURITY: ::c_int = 13 << 3;
pub const LOG_CONSOLE: ::c_int = 14 << 3;
pub const LOG_NFACILITIES: ::c_int = 24;
-pub const TIOCEXCL: ::c_ulong = 0x2000740d;
-pub const TIOCNXCL: ::c_ulong = 0x2000740e;
+pub const TIOCEXCL: ::c_uint = 0x2000740d;
+pub const TIOCNXCL: ::c_uint = 0x2000740e;
pub const TIOCFLUSH: ::c_ulong = 0x80047410;
-pub const TIOCGETA: ::c_ulong = 0x402c7413;
+pub const TIOCGETA: ::c_uint = 0x402c7413;
pub const TIOCSETA: ::c_ulong = 0x802c7414;
pub const TIOCSETAW: ::c_ulong = 0x802c7415;
pub const TIOCSETAF: ::c_ulong = 0x802c7416;
-pub const TIOCGETD: ::c_ulong = 0x4004741a;
+pub const TIOCGETD: ::c_uint = 0x4004741a;
pub const TIOCSETD: ::c_ulong = 0x8004741b;
-pub const TIOCGDRAINWAIT: ::c_ulong = 0x40047456;
+pub const TIOCGDRAINWAIT: ::c_uint = 0x40047456;
pub const TIOCSDRAINWAIT: ::c_ulong = 0x80047457;
-pub const TIOCTIMESTAMP: ::c_ulong = 0x40107459;
-pub const TIOCMGDTRWAIT: ::c_ulong = 0x4004745a;
+pub const TIOCTIMESTAMP: ::c_uint = 0x40107459;
+pub const TIOCMGDTRWAIT: ::c_uint = 0x4004745a;
pub const TIOCMSDTRWAIT: ::c_ulong = 0x8004745b;
-pub const TIOCDRAIN: ::c_ulong = 0x2000745e;
+pub const TIOCDRAIN: ::c_uint = 0x2000745e;
pub const TIOCEXT: ::c_ulong = 0x80047460;
-pub const TIOCSCTTY: ::c_ulong = 0x20007461;
+pub const TIOCSCTTY: ::c_uint = 0x20007461;
pub const TIOCCONS: ::c_ulong = 0x80047462;
-pub const TIOCGSID: ::c_ulong = 0x40047463;
-pub const TIOCSTAT: ::c_ulong = 0x20007465;
+pub const TIOCGSID: ::c_uint = 0x40047463;
+pub const TIOCSTAT: ::c_uint = 0x20007465;
pub const TIOCUCNTL: ::c_ulong = 0x80047466;
pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
-pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
-pub const TIOCMGET: ::c_ulong = 0x4004746a;
+pub const TIOCGWINSZ: ::c_uint = 0x40087468;
+pub const TIOCMGET: ::c_uint = 0x4004746a;
pub const TIOCM_LE: ::c_int = 0x1;
pub const TIOCM_DTR: ::c_int = 0x2;
pub const TIOCM_RTS: ::c_int = 0x4;
@@ -1237,8 +1189,8 @@ pub const TIOCM_RNG: ::c_int = 0x80;
pub const TIOCMBIC: ::c_ulong = 0x8004746b;
pub const TIOCMBIS: ::c_ulong = 0x8004746c;
pub const TIOCMSET: ::c_ulong = 0x8004746d;
-pub const TIOCSTART: ::c_ulong = 0x2000746e;
-pub const TIOCSTOP: ::c_ulong = 0x2000746f;
+pub const TIOCSTART: ::c_uint = 0x2000746e;
+pub const TIOCSTOP: ::c_uint = 0x2000746f;
pub const TIOCPKT: ::c_ulong = 0x80047470;
pub const TIOCPKT_DATA: ::c_int = 0x0;
pub const TIOCPKT_FLUSHREAD: ::c_int = 0x1;
@@ -1248,13 +1200,13 @@ pub const TIOCPKT_START: ::c_int = 0x8;
pub const TIOCPKT_NOSTOP: ::c_int = 0x10;
pub const TIOCPKT_DOSTOP: ::c_int = 0x20;
pub const TIOCPKT_IOCTL: ::c_int = 0x40;
-pub const TIOCNOTTY: ::c_ulong = 0x20007471;
+pub const TIOCNOTTY: ::c_uint = 0x20007471;
pub const TIOCSTI: ::c_ulong = 0x80017472;
-pub const TIOCOUTQ: ::c_ulong = 0x40047473;
+pub const TIOCOUTQ: ::c_uint = 0x40047473;
pub const TIOCSPGRP: ::c_ulong = 0x80047476;
-pub const TIOCGPGRP: ::c_ulong = 0x40047477;
-pub const TIOCCDTR: ::c_ulong = 0x20007478;
-pub const TIOCSDTR: ::c_ulong = 0x20007479;
+pub const TIOCGPGRP: ::c_uint = 0x40047477;
+pub const TIOCCDTR: ::c_uint = 0x20007478;
+pub const TIOCSDTR: ::c_uint = 0x20007479;
pub const TTYDISC: ::c_int = 0x0;
pub const SLIPDISC: ::c_int = 0x4;
pub const PPPDISC: ::c_int = 0x5;
@@ -1272,6 +1224,7 @@ pub const BIOCGRTIMEOUT: ::c_ulong = 0x4010426e;
pub const FIODTYPE: ::c_ulong = 0x4004667a;
pub const FIOGETLBA: ::c_ulong = 0x40046679;
+pub const FIODGNAME: ::c_ulong = 0x80106678;
pub const B0: speed_t = 0;
pub const B50: speed_t = 50;
@@ -1393,22 +1346,6 @@ pub const TIME_ERROR: ::c_int = 5;
pub const REG_ENOSYS: ::c_int = -1;
pub const REG_ILLSEQ: ::c_int = 17;
-pub const IPC_PRIVATE: ::key_t = 0;
-pub const IPC_CREAT: ::c_int = 0o1000;
-pub const IPC_EXCL: ::c_int = 0o2000;
-pub const IPC_NOWAIT: ::c_int = 0o4000;
-pub const IPC_RMID: ::c_int = 0;
-pub const IPC_SET: ::c_int = 1;
-pub const IPC_STAT: ::c_int = 2;
-pub const IPC_R: ::c_int = 0o400;
-pub const IPC_W: ::c_int = 0o200;
-pub const IPC_M: ::c_int = 0o10000;
-
-pub const SHM_RDONLY: ::c_int = 0o10000;
-pub const SHM_RND: ::c_int = 0o20000;
-pub const SHM_R: ::c_int = 0o400;
-pub const SHM_W: ::c_int = 0o200;
-
safe_f! {
pub {const} fn WIFCONTINUED(status: ::c_int) -> bool {
status == 0x13
@@ -1448,17 +1385,10 @@ extern "C" {
pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
pub fn clock_getcpuclockid(pid: ::pid_t, clk_id: *mut ::clockid_t) -> ::c_int;
- pub fn pthread_getcpuclockid(thread: ::pthread_t, clk_id: *mut ::clockid_t) -> ::c_int;
-
pub fn dirfd(dirp: *mut ::DIR) -> ::c_int;
pub fn duplocale(base: ::locale_t) -> ::locale_t;
pub fn endutxent();
pub fn fchflags(fd: ::c_int, flags: ::c_ulong) -> ::c_int;
- pub fn fexecve(
- fd: ::c_int,
- argv: *const *const ::c_char,
- envp: *const *const ::c_char,
- ) -> ::c_int;
pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int;
pub fn getdomainname(name: *mut ::c_char, len: ::c_int) -> ::c_int;
pub fn getgrent_r(
@@ -1489,8 +1419,6 @@ extern "C" {
flags: ::c_int,
) -> ::c_int;
pub fn getpriority(which: ::c_int, who: ::c_int) -> ::c_int;
- pub fn getresgid(rgid: *mut ::gid_t, egid: *mut ::gid_t, sgid: *mut ::gid_t) -> ::c_int;
- pub fn getresuid(ruid: *mut ::uid_t, euid: *mut ::uid_t, suid: *mut ::uid_t) -> ::c_int;
pub fn getutxent() -> *mut utmpx;
pub fn getutxid(ut: *const utmpx) -> *mut utmpx;
pub fn getutxline(ut: *const utmpx) -> *mut utmpx;
@@ -1525,8 +1453,6 @@ extern "C" {
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;
pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
- pub fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int;
- pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int;
pub fn ppoll(
fds: *mut ::pollfd,
nfds: ::nfds_t,
@@ -1575,35 +1501,13 @@ extern "C" {
val: *mut ::c_int,
) -> ::c_int;
pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int;
- pub fn pthread_barrierattr_init(attr: *mut ::pthread_barrierattr_t) -> ::c_int;
- pub fn pthread_barrierattr_destroy(attr: *mut ::pthread_barrierattr_t) -> ::c_int;
- pub fn pthread_barrierattr_getpshared(
- attr: *const ::pthread_barrierattr_t,
- shared: *mut ::c_int,
- ) -> ::c_int;
- pub fn pthread_barrierattr_setpshared(
- attr: *mut ::pthread_barrierattr_t,
- shared: ::c_int,
- ) -> ::c_int;
- pub fn pthread_barrier_init(
- barrier: *mut pthread_barrier_t,
- attr: *const ::pthread_barrierattr_t,
- count: ::c_uint,
- ) -> ::c_int;
- pub fn pthread_barrier_destroy(barrier: *mut pthread_barrier_t) -> ::c_int;
- 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 ptrace(request: ::c_int, pid: ::pid_t, addr: *mut ::c_char, data: ::c_int) -> ::c_int;
- pub fn utrace(addr: *const ::c_void, len: ::size_t) -> ::c_int;
pub fn pututxline(ut: *const utmpx) -> *mut utmpx;
pub fn pwritev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t)
-> ::ssize_t;
pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
pub fn rtprio(function: ::c_int, pid: ::pid_t, rtp: *mut rtprio) -> ::c_int;
- pub fn sched_rr_get_interval(pid: ::pid_t, t: *mut ::timespec) -> ::c_int;
- pub fn sched_getparam(pid: ::pid_t, param: *mut sched_param) -> ::c_int;
- pub fn sched_setparam(pid: ::pid_t, param: *const sched_param) -> ::c_int;
pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
pub fn sched_setscheduler(
pid: ::pid_t,
@@ -1687,14 +1591,6 @@ extern "C" {
outbytesleft: *mut ::size_t,
) -> ::size_t;
pub fn iconv_close(cd: iconv_t) -> ::c_int;
-
- // Added in `FreeBSD` 11.0
- // Added in `DragonFly BSD` 5.4
- pub fn explicit_bzero(s: *mut ::c_void, len: ::size_t);
- // ISO/IEC 9899:2011 ("ISO C11") K.3.7.4.1
- pub fn memset_s(s: *mut ::c_void, smax: ::size_t, c: ::c_int, n: ::size_t) -> ::c_int;
- pub fn gethostid() -> ::c_long;
- pub fn sethostid(hostid: ::c_long);
}
#[link(name = "rt")]
@@ -1749,24 +1645,6 @@ extern "C" {
winp: *mut ::winsize,
) -> ::pid_t;
pub fn login_tty(fd: ::c_int) -> ::c_int;
- pub fn fparseln(
- stream: *mut ::FILE,
- len: *mut ::size_t,
- lineno: *mut ::size_t,
- delim: *const ::c_char,
- flags: ::c_int,
- ) -> *mut ::c_char;
-}
-
-#[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;
}
cfg_if! {
diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs
index a0729ee5..f86a0080 100644
--- a/src/unix/bsd/mod.rs
+++ b/src/unix/bsd/mod.rs
@@ -253,7 +253,6 @@ pub const FIOSETOWN: ::c_ulong = 0x8004667c;
pub const FIOGETOWN: ::c_ulong = 0x4004667b;
pub const PATH_MAX: ::c_int = 1024;
-pub const MAXPATHLEN: ::c_int = PATH_MAX;
pub const IOV_MAX: ::c_int = 1024;
@@ -338,15 +337,7 @@ pub const F_RDLCK: ::c_short = 1;
pub const F_UNLCK: ::c_short = 2;
pub const F_WRLCK: ::c_short = 3;
-pub const MNT_RDONLY: ::c_int = 0x00000001;
-pub const MNT_SYNCHRONOUS: ::c_int = 0x00000002;
-pub const MNT_NOEXEC: ::c_int = 0x00000004;
-pub const MNT_NOSUID: ::c_int = 0x00000008;
-pub const MNT_ASYNC: ::c_int = 0x00000040;
-pub const MNT_EXPORTED: ::c_int = 0x00000100;
-pub const MNT_UPDATE: ::c_int = 0x00010000;
-pub const MNT_RELOAD: ::c_int = 0x00040000;
-pub const MNT_FORCE: ::c_int = 0x00080000;
+pub const MNT_FORCE: ::c_int = 0x80000;
pub const Q_SYNC: ::c_int = 0x600;
pub const Q_QUOTAON: ::c_int = 0x100;
@@ -542,7 +533,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
let fd = fd as usize;
return ((*set).fds_bits[fd / bits] & (1 << (fd % bits))) != 0
@@ -768,8 +759,6 @@ extern "C" {
)]
pub fn pthread_cancel(thread: ::pthread_t) -> ::c_int;
pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
- pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int;
- pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int;
pub fn sem_unlink(name: *const ::c_char) -> ::c_int;
#[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")]
pub fn getpwnam_r(
@@ -863,20 +852,6 @@ extern "C" {
) -> ::size_t;
pub fn regfree(preg: *mut regex_t);
-
- pub fn arc4random() -> u32;
- pub fn arc4random_buf(buf: *mut ::c_void, size: ::size_t);
- pub fn arc4random_uniform(l: u32) -> u32;
-
- pub fn drand48() -> ::c_double;
- pub fn erand48(xseed: *mut ::c_ushort) -> ::c_double;
- pub fn lrand48() -> ::c_long;
- pub fn nrand48(xseed: *mut ::c_ushort) -> ::c_long;
- pub fn mrand48() -> ::c_long;
- pub fn jrand48(xseed: *mut ::c_ushort) -> ::c_long;
- pub fn srand48(seed: ::c_long);
- pub fn seed48(xseed: *mut ::c_ushort) -> *mut ::c_ushort;
- pub fn lcong48(p: *mut ::c_ushort);
}
cfg_if! {
diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs
index 7356e7ae..0eab40c0 100644
--- a/src/unix/bsd/netbsdlike/mod.rs
+++ b/src/unix/bsd/netbsdlike/mod.rs
@@ -72,14 +72,8 @@ s! {
pub uid: ::uid_t,
pub gid: ::gid_t,
pub mode: ::mode_t,
- #[cfg(target_os = "openbsd")]
pub seq: ::c_ushort,
- #[cfg(target_os = "netbsd")]
- pub _seq: ::c_ushort,
- #[cfg(target_os = "openbsd")]
pub key: ::key_t,
- #[cfg(target_os = "netbsd")]
- pub _key: ::key_t,
}
pub struct ptrace_io_desc {
@@ -238,13 +232,6 @@ pub const IPC_RMID: ::c_int = 0;
pub const IPC_SET: ::c_int = 1;
pub const IPC_STAT: ::c_int = 2;
-pub const IPC_R: ::c_int = 0o000400;
-pub const IPC_W: ::c_int = 0o000200;
-pub const IPC_M: ::c_int = 0o010000;
-
-pub const SHM_R: ::c_int = IPC_R;
-pub const SHM_W: ::c_int = IPC_W;
-
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
@@ -719,11 +706,6 @@ extern "C" {
lock: *mut pthread_mutex_t,
abstime: *const ::timespec,
) -> ::c_int;
- pub fn pthread_spin_init(lock: *mut pthread_spinlock_t, pshared: ::c_int) -> ::c_int;
- pub fn pthread_spin_destroy(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_lock(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_trylock(lock: *mut pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_unlock(lock: *mut pthread_spinlock_t) -> ::c_int;
pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
pub fn getgrouplist(
@@ -743,13 +725,6 @@ extern "C" {
pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int;
}
-extern "C" {
- pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;
- pub fn gethostid() -> ::c_long;
- pub fn sethostid(hostid: ::c_long) -> ::c_int;
- pub fn ftok(path: *const ::c_char, id: ::c_int) -> ::key_t;
-}
-
cfg_if! {
if #[cfg(target_os = "netbsd")] {
mod netbsd;
diff --git a/src/unix/bsd/netbsdlike/netbsd/aarch64.rs b/src/unix/bsd/netbsdlike/netbsd/aarch64.rs
index 7b895f63..58c4cf7c 100644
--- a/src/unix/bsd/netbsdlike/netbsd/aarch64.rs
+++ b/src/unix/bsd/netbsdlike/netbsd/aarch64.rs
@@ -3,89 +3,8 @@ use PT_FIRSTMACH;
pub type c_long = i64;
pub type c_ulong = u64;
pub type c_char = u8;
-pub type greg_t = u64;
pub type __cpu_simple_lock_nv_t = ::c_uchar;
-s! {
- pub struct __fregset {
- #[cfg(libc_union)]
- pub __qregs: [__c_anonymous__freg; 32],
- pub __fpcr: u32,
- pub __fpsr: u32,
- }
-
- pub struct mcontext_t {
- pub __gregs: [::greg_t; 32],
- pub __fregs: __fregset,
- __spare: [::greg_t; 8],
- }
-
- pub struct ucontext_t {
- pub uc_flags: ::c_uint,
- pub uc_link: *mut ucontext_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_stack: ::stack_t,
- pub uc_mcontext: mcontext_t,
- }
-}
-
-s_no_extra_traits! {
- #[cfg(libc_union)]
- #[repr(align(16))]
- pub union __c_anonymous__freg {
- pub __b8: [u8; 16],
- pub __h16: [u16; 8],
- pub __s32: [u32; 4],
- pub __d64: [u64; 2],
- pub __q128: [u128; 1],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous__freg {
- fn eq(&self, other: &__c_anonymous__freg) -> bool {
- unsafe {
- self.__b8 == other.__b8
- || self.__h16 == other.__h16
- || self.__s32 == other.__s32
- || self.__d64 == other.__d64
- || self.__q128 == other.__q128
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for __c_anonymous__freg {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous__freg {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("__c_anonymous__freg")
- .field("__b8", &self.__b8)
- .field("__h16", &self.__h16)
- .field("__s32", &self.__s32)
- .field("__d64", &self.__d64)
- .field("__q128", &self.__q128)
- .finish()
- }
- }
- }
- #[cfg(libc_union)]
- impl ::hash::Hash for __c_anonymous__freg {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- self.__b8.hash(state);
- self.__h16.hash(state);
- self.__s32.hash(state);
- self.__d64.hash(state);
- self.__q128.hash(state);
- }
- }
- }
- }
-}
-
// should be pub(crate), but that requires Rust 1.18.0
cfg_if! {
if #[cfg(libc_const_size_of)] {
diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs
index ef587788..ad7381b2 100644
--- a/src/unix/bsd/netbsdlike/netbsd/mod.rs
+++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs
@@ -7,13 +7,9 @@ pub type fsfilcnt_t = u64;
pub type idtype_t = ::c_int;
pub type mqd_t = ::c_int;
type __pthread_spin_t = __cpu_simple_lock_nv_t;
-pub type vm_size_t = ::uintptr_t; // FIXME: deprecated since long time
+pub type vm_size_t = ::uintptr_t;
pub type lwpid_t = ::c_uint;
pub type shmatt_t = ::c_uint;
-pub type cpuid_t = u64;
-pub type cpuset_t = _cpuset;
-pub type pthread_spin_t = ::c_uchar;
-pub type timer_t = ::c_int;
// elf.h
@@ -35,14 +31,6 @@ pub type Elf64_Xword = u64;
pub type iconv_t = *mut ::c_void;
-e! {
- pub enum fae_action {
- FAE_OPEN,
- FAE_DUP2,
- FAE_CLOSE,
- }
-}
-
cfg_if! {
if #[cfg(target_pointer_width = "64")] {
type Elf_Addr = Elf64_Addr;
@@ -56,10 +44,6 @@ cfg_if! {
}
impl siginfo_t {
- pub unsafe fn si_addr(&self) -> *mut ::c_void {
- self.si_addr
- }
-
pub unsafe fn si_value(&self) -> ::sigval {
#[repr(C)]
struct siginfo_timer {
@@ -73,23 +57,6 @@ impl siginfo_t {
}
(*(self as *const siginfo_t as *const siginfo_timer)).value
}
-
- pub unsafe fn si_status(&self) -> ::c_int {
- #[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,
- _value: ::sigval,
- _cpid: ::pid_t,
- _cuid: ::uid_t,
- status: ::c_int,
- }
- (*(self as *const siginfo_t as *const siginfo_timer)).status
- }
}
s! {
@@ -129,11 +96,6 @@ s! {
pub mq_curmsgs: ::c_long,
}
- pub struct itimerspec {
- pub it_interval: ::timespec,
- pub it_value: ::timespec,
- }
-
pub struct sigset_t {
__bits: [u32; 4],
}
@@ -241,19 +203,13 @@ s! {
ptr_private: *mut ::c_void,
}
- pub struct pthread_spinlock_t {
- pts_magic: ::c_uint,
- pts_spin: ::pthread_spin_t,
- pts_flags: ::c_int,
- }
-
pub struct kevent {
pub ident: ::uintptr_t,
pub filter: u32,
pub flags: u32,
pub fflags: u32,
pub data: i64,
- pub udata: ::intptr_t, /* FIXME: NetBSD 10.0 will finally have same layout as other BSD */
+ pub udata: ::intptr_t,
}
pub struct dqblk {
@@ -343,14 +299,6 @@ s! {
pub sc_groups: [::gid_t; 1],
}
- pub struct uucred {
- pub cr_unused: ::c_ushort,
- pub cr_uid: ::uid_t,
- pub cr_gid: ::gid_t,
- pub cr_ngroups: ::c_int,
- pub cr_groups: [::gid_t; NGROUPS_MAX as usize],
- }
-
pub struct unpcbid {
pub unp_pid: ::pid_t,
pub unp_euid: ::uid_t,
@@ -455,16 +403,6 @@ s! {
pub p_align: Elf64_Xword,
}
- pub struct Aux32Info {
- pub a_type: Elf32_Word,
- pub a_v: Elf32_Word,
- }
-
- pub struct Aux64Info {
- pub a_type: Elf64_Word,
- pub a_v: Elf64_Xword,
- }
-
// link.h
pub struct dl_phdr_info {
@@ -477,114 +415,6 @@ s! {
pub dlpi_tls_modid: usize,
pub dlpi_tls_data: *mut ::c_void,
}
-
- pub struct _cpuset {
- bits: [u32; 0]
- }
-
- pub struct accept_filter_arg {
- pub af_name: [::c_char; 16],
- af_arg: [[::c_char; 10]; 24],
- }
-
- pub struct sched_param {
- pub sched_priority: ::c_int,
- }
-
- pub struct kinfo_vmentry {
- pub kve_start: u64,
- pub kve_end: u64,
- pub kve_offset: u64,
- pub kve_type: u32,
- pub kve_flags: u32,
- pub kve_count: u32,
- pub kve_wired_count: u32,
- pub kve_advice: u32,
- pub kve_attributes: u32,
- pub kve_protection: u32,
- pub kve_max_protection: u32,
- pub kve_ref_count: u32,
- pub kve_inheritance: u32,
- pub kve_vn_fileid: u64,
- pub kve_vn_size: u64,
- pub kve_vn_fsid: u64,
- pub kve_vn_rdev: u64,
- pub kve_vn_type: u32,
- pub kve_vn_mode: u32,
- pub kve_path: [[::c_char; 32]; 32],
- }
-
- pub struct __c_anonymous_posix_spawn_fae_open {
- pub path: *mut ::c_char,
- pub oflag: ::c_int,
- pub mode: ::mode_t,
- }
-
- pub struct __c_anonymous_posix_spawn_fae_dup2 {
- pub newfildes: ::c_int,
- }
-
- pub struct posix_spawnattr_t {
- pub sa_flags: ::c_short,
- pub sa_pgroup: ::pid_t,
- pub sa_schedparam: sched_param,
- pub sa_schedpolicy: ::c_int,
- pub sa_sigdefault: sigset_t,
- pub sa_sigmask: sigset_t,
- }
-
- pub struct posix_spawn_file_actions_entry_t {
- pub fae_action: fae_action,
- pub fae_fildes: ::c_int,
- #[cfg(libc_union)]
- pub fae_data: __c_anonymous_posix_spawn_fae,
- }
-
- pub struct posix_spawn_file_actions_t {
- pub size: ::c_uint,
- pub len: ::c_uint,
- #[cfg(libc_union)]
- pub fae: *mut posix_spawn_file_actions_entry_t,
- }
-
- pub struct ptrace_lwpinfo {
- pub pl_lwpid: lwpid_t,
- pub pl_event: ::c_int,
- }
-
- pub struct ptrace_lwpstatus {
- pub pl_lwpid: lwpid_t,
- pub pl_sigpend: sigset_t,
- pub pl_sigmask: sigset_t,
- pub pl_name: [::c_char; 20],
- pub pl_private: *mut ::c_void,
- }
-
- pub struct ptrace_siginfo {
- pub psi_siginfo: siginfo_t,
- pub psi_lwpid: lwpid_t,
- }
-
- pub struct ptrace_event {
- pub pe_set_event: ::c_int,
- }
-
- pub struct sysctldesc {
- pub descr_num: i32,
- pub descr_ver: u32,
- pub descr_len: u32,
- pub descr_str: [::c_char; 1],
- }
-
- pub struct ifreq {
- pub _priv: [[::c_char; 6]; 24],
- }
-
- pub struct ifconf {
- pub ifc_len: ::c_int,
- #[cfg(libc_union)]
- pub ifc_ifcu: __c_anonymous_ifc_ifcu,
- }
}
s_no_extra_traits! {
@@ -597,7 +427,7 @@ s_no_extra_traits! {
pub ut_session: u16,
pub ut_type: u16,
pub ut_pid: ::pid_t,
- pub ut_exit: __exit_status, // FIXME: when anonymous struct are supported
+ pub ut_exit: __exit_status,
pub ut_ss: sockaddr_storage,
pub ut_tv: ::timeval,
pub ut_pad: [u8; _UTX_PADSIZE],
@@ -697,18 +527,6 @@ s_no_extra_traits! {
__unused1: *mut ::c_void, //actually a function pointer
pub sigev_notify_attributes: *mut ::c_void
}
-
- #[cfg(libc_union)]
- pub union __c_anonymous_posix_spawn_fae {
- pub open: __c_anonymous_posix_spawn_fae_open,
- pub dup2: __c_anonymous_posix_spawn_fae_dup2,
- }
-
- #[cfg(libc_union)]
- pub union __c_anonymous_ifc_ifcu {
- pub ifcu_buf: *mut ::c_void,
- pub ifcu_req: *mut ifreq,
- }
}
cfg_if! {
@@ -1136,76 +954,6 @@ cfg_if! {
self.sigev_notify_attributes.hash(state);
}
}
-
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_posix_spawn_fae {}
-
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_posix_spawn_fae {
- fn eq(&self, other: &__c_anonymous_posix_spawn_fae) -> bool {
- unsafe {
- self.open == other.open
- || self.dup2 == other.dup2
- }
- }
- }
-
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_posix_spawn_fae {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("__c_anonymous_posix_fae")
- .field("open", &self.open)
- .field("dup2", &self.dup2)
- .finish()
- }
- }
- }
-
- #[cfg(libc_union)]
- impl ::hash::Hash for __c_anonymous_posix_spawn_fae {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- self.open.hash(state);
- self.dup2.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 {
- unsafe {
- f.debug_struct("__c_anonymous_ifc_ifcu")
- .field("ifcu_buf", &self.ifcu_buf)
- .field("ifcu_req", &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);
- self.ifcu_req.hash(state);
- }
- }
- }
}
}
@@ -1215,36 +963,6 @@ pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x200;
pub const AT_SYMLINK_FOLLOW: ::c_int = 0x400;
pub const AT_REMOVEDIR: ::c_int = 0x800;
-pub const AT_NULL: ::c_int = 0;
-pub const AT_IGNORE: ::c_int = 1;
-pub const AT_EXECFD: ::c_int = 2;
-pub const AT_PHDR: ::c_int = 3;
-pub const AT_PHENT: ::c_int = 4;
-pub const AT_PHNUM: ::c_int = 5;
-pub const AT_PAGESZ: ::c_int = 6;
-pub const AT_BASE: ::c_int = 7;
-pub const AT_FLAGS: ::c_int = 8;
-pub const AT_ENTRY: ::c_int = 9;
-pub const AT_DCACHEBSIZE: ::c_int = 10;
-pub const AT_ICACHEBSIZE: ::c_int = 11;
-pub const AT_UCACHEBSIZE: ::c_int = 12;
-pub const AT_STACKBASE: ::c_int = 13;
-pub const AT_EUID: ::c_int = 2000;
-pub const AT_RUID: ::c_int = 2001;
-pub const AT_EGID: ::c_int = 2002;
-pub const AT_RGID: ::c_int = 2003;
-pub const AT_SUN_LDELF: ::c_int = 2004;
-pub const AT_SUN_LDSHDR: ::c_int = 2005;
-pub const AT_SUN_LDNAME: ::c_int = 2006;
-pub const AT_SUN_LDPGSIZE: ::c_int = 2007;
-pub const AT_SUN_PLATFORM: ::c_int = 2008;
-pub const AT_SUN_HWCAP: ::c_int = 2009;
-pub const AT_SUN_IFLUSH: ::c_int = 2010;
-pub const AT_SUN_CPU: ::c_int = 2011;
-pub const AT_SUN_EMUL_ENTRY: ::c_int = 2012;
-pub const AT_SUN_EMUL_EXECFD: ::c_int = 2013;
-pub const AT_SUN_EXECNAME: ::c_int = 2014;
-
pub const EXTATTR_NAMESPACE_USER: ::c_int = 1;
pub const EXTATTR_NAMESPACE_SYSTEM: ::c_int = 2;
@@ -1304,7 +1022,6 @@ pub const F_CLOSEM: ::c_int = 10;
pub const F_GETNOSIGPIPE: ::c_int = 13;
pub const F_SETNOSIGPIPE: ::c_int = 14;
pub const F_MAXFD: ::c_int = 11;
-pub const F_GETPATH: ::c_int = 15;
pub const IP_RECVDSTADDR: ::c_int = 7;
pub const IP_SENDSRCADDR: ::c_int = IP_RECVDSTADDR;
@@ -1473,18 +1190,6 @@ pub const MAP_RENAME: ::c_int = 0x20;
pub const MAP_NORESERVE: ::c_int = 0x40;
pub const MAP_HASSEMAPHORE: ::c_int = 0x200;
pub const MAP_WIRED: ::c_int = 0x800;
-pub const MAP_STACK: ::c_int = 0x2000;
-// map alignment aliases for MAP_ALIGNED
-pub const MAP_ALIGNMENT_SHIFT: ::c_int = 24;
-pub const MAP_ALIGNMENT_MASK: ::c_int = 0xff << MAP_ALIGNMENT_SHIFT;
-pub const MAP_ALIGNMENT_64KB: ::c_int = 16 << MAP_ALIGNMENT_SHIFT;
-pub const MAP_ALIGNMENT_16MB: ::c_int = 24 << MAP_ALIGNMENT_SHIFT;
-pub const MAP_ALIGNMENT_4GB: ::c_int = 32 << MAP_ALIGNMENT_SHIFT;
-pub const MAP_ALIGNMENT_1TB: ::c_int = 40 << MAP_ALIGNMENT_SHIFT;
-pub const MAP_ALIGNMENT_256TB: ::c_int = 48 << MAP_ALIGNMENT_SHIFT;
-pub const MAP_ALIGNMENT_64PB: ::c_int = 56 << MAP_ALIGNMENT_SHIFT;
-// mremap flag
-pub const MAP_REMAPDUP: ::c_int = 0x004;
pub const DCCP_TYPE_REQUEST: ::c_int = 0;
pub const DCCP_TYPE_RESPONSE: ::c_int = 1;
@@ -1693,13 +1398,6 @@ pub const TIME_OOP: ::c_int = 3;
pub const TIME_WAIT: ::c_int = 4;
pub const TIME_ERROR: ::c_int = 5;
-pub const LITTLE_ENDIAN: ::c_int = 1234;
-pub const BIG_ENDIAN: ::c_int = 4321;
-
-pub const PL_EVENT_NONE: ::c_int = 0;
-pub const PL_EVENT_SIGNAL: ::c_int = 1;
-pub const PL_EVENT_SUSPENDED: ::c_int = 2;
-
cfg_if! {
if #[cfg(any(target_arch = "sparc", target_arch = "sparc64",
target_arch = "x86", target_arch = "x86_64"))] {
@@ -1753,11 +1451,6 @@ pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1;
pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2;
pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL;
-pub const SCHED_NONE: ::c_int = -1;
-pub const SCHED_OTHER: ::c_int = 0;
-pub const SCHED_FIFO: ::c_int = 1;
-pub const SCHED_RR: ::c_int = 2;
-
pub const EVFILT_AIO: u32 = 2;
pub const EVFILT_PROC: u32 = 4;
pub const EVFILT_READ: u32 = 0;
@@ -1798,23 +1491,7 @@ pub const NOTE_CHILD: u32 = 0x00000004;
pub const TMP_MAX: ::c_uint = 308915776;
-pub const AI_PASSIVE: ::c_int = 0x00000001;
-pub const AI_CANONNAME: ::c_int = 0x00000002;
-pub const AI_NUMERICHOST: ::c_int = 0x00000004;
-pub const AI_NUMERICSERV: ::c_int = 0x00000008;
-pub const AI_ADDRCONFIG: ::c_int = 0x00000400;
-pub const AI_SRV: ::c_int = 0x00000800;
-
pub const NI_MAXHOST: ::socklen_t = 1025;
-pub const NI_MAXSERV: ::socklen_t = 32;
-
-pub const NI_NOFQDN: ::c_int = 0x00000001;
-pub const NI_NUMERICHOST: ::c_int = 0x000000002;
-pub const NI_NAMEREQD: ::c_int = 0x000000004;
-pub const NI_NUMERICSERV: ::c_int = 0x000000008;
-pub const NI_DGRAM: ::c_int = 0x00000010;
-pub const NI_WITHSCOPEID: ::c_int = 0x00000020;
-pub const NI_NUMERICSCOPE: ::c_int = 0x00000040;
pub const RTLD_NOLOAD: ::c_int = 0x2000;
pub const RTLD_LOCAL: ::c_int = 0x200;
@@ -1968,8 +1645,6 @@ pub const KERN_PROC_NARGV: ::c_int = 2;
pub const KERN_PROC_ENV: ::c_int = 3;
pub const KERN_PROC_NENV: ::c_int = 4;
pub const KERN_PROC_PATHNAME: ::c_int = 5;
-pub const VM_PROC: ::c_int = 16;
-pub const VM_PROC_MAP: ::c_int = 1;
pub const EAI_AGAIN: ::c_int = 2;
pub const EAI_BADFLAGS: ::c_int = 3;
@@ -2064,44 +1739,13 @@ pub const PT_SYSCALLEMU: ::c_int = 15;
pub const PT_SET_EVENT_MASK: ::c_int = 16;
pub const PT_GET_EVENT_MASK: ::c_int = 17;
pub const PT_GET_PROCESS_STATE: ::c_int = 18;
-pub const PT_SET_SIGINFO: ::c_int = 19;
-pub const PT_GET_SIGINFO: ::c_int = 20;
-pub const PT_RESUME: ::c_int = 21;
-pub const PT_SUSPEND: ::c_int = 23;
-pub const PT_STOP: ::c_int = 23;
-pub const PT_LWPSTATUS: ::c_int = 24;
-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)
pub const SF_SNAPSHOT: ::c_ulong = 0x00200000;
pub const SF_LOG: ::c_ulong = 0x00400000;
pub const SF_SNAPINVAL: ::c_ulong = 0x00800000;
-// sys/sysctl.h
-pub const KVME_PROT_READ: ::c_int = 0x00000001;
-pub const KVME_PROT_WRITE: ::c_int = 0x00000002;
-pub const KVME_PROT_EXEC: ::c_int = 0x00000004;
-
-pub const KVME_FLAG_COW: ::c_int = 0x00000001;
-pub const KVME_FLAG_NEEDS_COPY: ::c_int = 0x00000002;
-pub const KVME_FLAG_NOCOREDUMP: ::c_int = 0x000000004;
-pub const KVME_FLAG_PAGEABLE: ::c_int = 0x000000008;
-pub const KVME_FLAG_GROWS_UP: ::c_int = 0x000000010;
-pub const KVME_FLAG_GROWS_DOWN: ::c_int = 0x000000020;
-
-pub const NGROUPS_MAX: ::c_int = 16;
-
const_fn! {
{const} fn _ALIGN(p: usize) -> usize {
(p + _ALIGNBYTES) & !_ALIGNBYTES
@@ -2156,14 +1800,6 @@ f! {
};
::mem::size_of::<sockcred>() + ::mem::size_of::<::gid_t>() * ngrps
}
-
- pub fn PROT_MPROTECT(x: ::c_int) -> ::c_int {
- x << 3
- }
-
- pub fn PROT_MPROTECT_EXTRACT(x: ::c_int) -> ::c_int {
- (x >> 3) & 0x7
- }
}
safe_f! {
@@ -2193,8 +1829,6 @@ extern "C" {
rqtp: *const ::timespec,
rmtp: *mut ::timespec,
) -> ::c_int;
-
- pub fn reallocarr(ptr: *mut ::c_void, number: ::size_t, size: ::size_t) -> ::c_int;
}
#[link(name = "rt")]
@@ -2224,12 +1858,6 @@ extern "C" {
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_delete_fd(
fd: ::c_int,
attrnamespace: ::c_int,
@@ -2377,8 +2005,6 @@ extern "C" {
) -> ::c_int;
pub fn mq_unlink(name: *const ::c_char) -> ::c_int;
pub fn ptrace(request: ::c_int, pid: ::pid_t, addr: *mut ::c_void, data: ::c_int) -> ::c_int;
- pub fn utrace(label: *const ::c_char, addr: *mut ::c_void, len: ::size_t) -> ::c_int;
- pub fn pthread_getname_np(t: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int;
pub fn pthread_setname_np(
t: ::pthread_t,
name: *const ::c_char,
@@ -2395,24 +2021,6 @@ extern "C" {
stackaddr: *mut *mut ::c_void,
stacksize: *mut ::size_t,
) -> ::c_int;
- pub fn pthread_getaffinity_np(
- thread: ::pthread_t,
- size: ::size_t,
- set: *mut cpuset_t,
- ) -> ::c_int;
- pub fn pthread_setaffinity_np(
- thread: ::pthread_t,
- size: ::size_t,
- set: *mut cpuset_t,
- ) -> ::c_int;
-
- pub fn _cpuset_create() -> *mut cpuset_t;
- pub fn _cpuset_destroy(set: *mut cpuset_t);
- pub fn _cpuset_clr(cpu: cpuid_t, set: *mut cpuset_t) -> ::c_int;
- pub fn _cpuset_set(cpu: cpuid_t, set: *mut cpuset_t) -> ::c_int;
- pub fn _cpuset_isset(cpu: cpuid_t, set: *const cpuset_t) -> ::c_int;
- pub fn _cpuset_size(set: *const cpuset_t) -> ::size_t;
- pub fn _cpuset_zero(set: *mut cpuset_t);
#[link_name = "__sigtimedwait50"]
pub fn sigtimedwait(
set: *const sigset_t,
@@ -2420,13 +2028,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);
pub fn localeconv_l(loc: ::locale_t) -> *mut lconv;
@@ -2436,8 +2037,6 @@ extern "C" {
pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int;
- pub fn kqueue1(flags: ::c_int) -> ::c_int;
-
pub fn sendmmsg(
sockfd: ::c_int,
msgvec: *mut ::mmsghdr,
@@ -2473,10 +2072,6 @@ extern "C" {
data: *mut ::c_void,
) -> ::c_int;
- // dlfcn.h
-
- pub fn _dlauxinfo() -> *mut ::c_void;
-
pub fn iconv_open(tocode: *const ::c_char, fromcode: *const ::c_char) -> iconv_t;
pub fn iconv(
cd: iconv_t,
@@ -2486,129 +2081,6 @@ extern "C" {
outbytesleft: *mut ::size_t,
) -> ::size_t;
pub fn iconv_close(cd: iconv_t) -> ::c_int;
-
- pub fn timer_create(
- clockid: ::clockid_t,
- sevp: *mut ::sigevent,
- timerid: *mut ::timer_t,
- ) -> ::c_int;
- pub fn timer_delete(timerid: ::timer_t) -> ::c_int;
- pub fn timer_getoverrun(timerid: ::timer_t) -> ::c_int;
- pub fn timer_gettime(timerid: ::timer_t, curr_value: *mut ::itimerspec) -> ::c_int;
- pub fn timer_settime(
- timerid: ::timer_t,
- flags: ::c_int,
- new_value: *const ::itimerspec,
- old_value: *mut ::itimerspec,
- ) -> ::c_int;
-
- // Added in `NetBSD` 7.0
- pub fn explicit_memset(b: *mut ::c_void, c: ::c_int, len: ::size_t);
- pub fn consttime_memequal(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;
-
- pub fn setproctitle(fmt: *const ::c_char, ...);
- pub fn mremap(
- oldp: *mut ::c_void,
- oldsize: ::size_t,
- newp: *mut ::c_void,
- newsize: ::size_t,
- flags: ::c_int,
- ) -> *mut ::c_void;
-
- pub fn sched_rr_get_interval(pid: ::pid_t, t: *mut ::timespec) -> ::c_int;
- pub fn sched_setparam(pid: ::pid_t, param: *const sched_param) -> ::c_int;
- pub fn sched_getparam(pid: ::pid_t, param: *mut sched_param) -> ::c_int;
- pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
- pub fn sched_setscheduler(
- pid: ::pid_t,
- policy: ::c_int,
- param: *const ::sched_param,
- ) -> ::c_int;
-
- #[link_name = "__pollts50"]
- pub fn pollts(
- fds: *mut ::pollfd,
- nfds: ::nfds_t,
- ts: *const ::timespec,
- sigmask: *const ::sigset_t,
- ) -> ::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;
}
#[link(name = "util")]
@@ -2645,147 +2117,6 @@ extern "C" {
pub fn setutent();
pub fn endutent();
pub fn getutent() -> *mut utmp;
-
- pub fn efopen(p: *const ::c_char, m: *const ::c_char) -> ::FILE;
- pub fn emalloc(n: ::size_t) -> *mut ::c_void;
- pub fn ecalloc(n: ::size_t, c: ::size_t) -> *mut ::c_void;
- pub fn erealloc(p: *mut ::c_void, n: ::size_t) -> *mut ::c_void;
- pub fn ereallocarr(p: *mut ::c_void, n: ::size_t, s: ::size_t);
- pub fn estrdup(s: *const ::c_char) -> *mut ::c_char;
- pub fn estrndup(s: *const ::c_char, len: ::size_t) -> *mut ::c_char;
- pub fn estrlcpy(dst: *mut ::c_char, src: *const ::c_char, len: ::size_t) -> ::size_t;
- pub fn estrlcat(dst: *mut ::c_char, src: *const ::c_char, len: ::size_t) -> ::size_t;
- pub fn estrtoi(
- nptr: *const ::c_char,
- base: ::c_int,
- lo: ::intmax_t,
- hi: ::intmax_t,
- ) -> ::intmax_t;
- pub fn estrtou(
- nptr: *const ::c_char,
- base: ::c_int,
- lo: ::uintmax_t,
- hi: ::uintmax_t,
- ) -> ::uintmax_t;
- pub fn easprintf(string: *mut *mut ::c_char, fmt: *const ::c_char, ...) -> ::c_int;
- pub fn evasprintf(string: *mut *mut ::c_char, fmt: *const ::c_char, ...) -> ::c_int;
- pub fn esetfunc(
- cb: ::Option<unsafe extern "C" fn(::c_int, *const ::c_char, ...)>,
- ) -> ::Option<unsafe extern "C" fn(::c_int, *const ::c_char, ...)>;
- pub fn secure_path(path: *const ::c_char) -> ::c_int;
- pub fn snprintb(
- buf: *mut ::c_char,
- buflen: ::size_t,
- fmt: *const ::c_char,
- val: u64,
- ) -> ::c_int;
- pub fn snprintb_m(
- buf: *mut ::c_char,
- buflen: ::size_t,
- fmt: *const ::c_char,
- val: u64,
- max: ::size_t,
- ) -> ::c_int;
-
- pub fn getbootfile() -> *const ::c_char;
- pub fn getbyteorder() -> ::c_int;
- pub fn getdiskrawname(
- buf: *mut ::c_char,
- buflen: ::size_t,
- name: *const ::c_char,
- ) -> *const ::c_char;
- pub fn getdiskcookedname(
- buf: *mut ::c_char,
- buflen: ::size_t,
- name: *const ::c_char,
- ) -> *const ::c_char;
- pub fn getfsspecname(
- buf: *mut ::c_char,
- buflen: ::size_t,
- spec: *const ::c_char,
- ) -> *const ::c_char;
-
- pub fn strpct(
- buf: *mut ::c_char,
- bufsiz: ::size_t,
- numerator: ::uintmax_t,
- denominator: ::uintmax_t,
- precision: ::size_t,
- ) -> *mut ::c_char;
- pub fn strspct(
- buf: *mut ::c_char,
- bufsiz: ::size_t,
- numerator: ::intmax_t,
- denominator: ::intmax_t,
- precision: ::size_t,
- ) -> *mut ::c_char;
- #[link_name = "__login50"]
- pub fn login(ut: *const utmp);
- #[link_name = "__loginx50"]
- pub fn loginx(ut: *const utmpx);
- pub fn logout(line: *const ::c_char);
- pub fn logoutx(line: *const ::c_char, status: ::c_int, tpe: ::c_int);
- pub fn logwtmp(line: *const ::c_char, name: *const ::c_char, host: *const ::c_char);
- pub fn logwtmpx(
- line: *const ::c_char,
- name: *const ::c_char,
- host: *const ::c_char,
- status: ::c_int,
- tpe: ::c_int,
- );
-
- pub fn getxattr(
- path: *const ::c_char,
- name: *const ::c_char,
- value: *mut ::c_void,
- size: ::size_t,
- ) -> ::ssize_t;
- pub fn lgetxattr(
- path: *const ::c_char,
- name: *const ::c_char,
- value: *mut ::c_void,
- size: ::size_t,
- ) -> ::ssize_t;
- pub fn fgetxattr(
- filedes: ::c_int,
- name: *const ::c_char,
- value: *mut ::c_void,
- size: ::size_t,
- ) -> ::ssize_t;
- pub fn setxattr(
- path: *const ::c_char,
- name: *const ::c_char,
- value: *const ::c_void,
- size: ::size_t,
- ) -> ::c_int;
- pub fn lsetxattr(
- path: *const ::c_char,
- name: *const ::c_char,
- value: *const ::c_void,
- size: ::size_t,
- ) -> ::c_int;
- pub fn fsetxattr(
- filedes: ::c_int,
- name: *const ::c_char,
- value: *const ::c_void,
- size: ::size_t,
- flags: ::c_int,
- ) -> ::c_int;
- pub fn listxattr(path: *const ::c_char, list: *mut ::c_char, size: ::size_t) -> ::ssize_t;
- pub fn llistxattr(path: *const ::c_char, list: *mut ::c_char, size: ::size_t) -> ::ssize_t;
- pub fn flistxattr(filedes: ::c_int, list: *mut ::c_char, size: ::size_t) -> ::ssize_t;
- pub fn removexattr(path: *const ::c_char, name: *const ::c_char) -> ::c_int;
- pub fn lremovexattr(path: *const ::c_char, name: *const ::c_char) -> ::c_int;
- pub fn fremovexattr(fd: ::c_int, path: *const ::c_char, name: *const ::c_char) -> ::c_int;
-
- pub fn string_to_flags(
- string_p: *mut *mut ::c_char,
- setp: *mut ::c_ulong,
- clrp: *mut ::c_ulong,
- ) -> ::c_int;
- pub fn flags_to_string(flags: ::c_ulong, def: *const ::c_char) -> ::c_int;
-
- pub fn kinfo_getvmmap(pid: ::pid_t, cntp: *mut ::size_t) -> *mut kinfo_vmentry;
}
cfg_if! {
diff --git a/src/unix/bsd/netbsdlike/netbsd/x86_64.rs b/src/unix/bsd/netbsdlike/netbsd/x86_64.rs
index 2f6e4454..0860d4f6 100644
--- a/src/unix/bsd/netbsdlike/netbsd/x86_64.rs
+++ b/src/unix/bsd/netbsdlike/netbsd/x86_64.rs
@@ -3,25 +3,8 @@ use PT_FIRSTMACH;
pub type c_long = i64;
pub type c_ulong = u64;
pub type c_char = i8;
-pub type c___greg_t = u64;
pub type __cpu_simple_lock_nv_t = ::c_uchar;
-s! {
- pub struct mcontext_t {
- pub __gregs: [c___greg_t; 26],
- pub _mc_tlsbase: c___greg_t,
- pub __fpregs: [[::c_char;32]; 16],
- }
-
- pub struct ucontext_t {
- pub uc_flags: ::c_uint,
- pub uc_link: *mut ::ucontext_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_stack: ::stack_t,
- pub uc_mcontext: ::mcontext_t,
- }
-}
-
// should be pub(crate), but that requires Rust 1.18.0
cfg_if! {
if #[cfg(libc_const_size_of)] {
diff --git a/src/unix/bsd/netbsdlike/openbsd/aarch64.rs b/src/unix/bsd/netbsdlike/openbsd/aarch64.rs
index 2bc82e48..99350ec8 100644
--- a/src/unix/bsd/netbsdlike/openbsd/aarch64.rs
+++ b/src/unix/bsd/netbsdlike/openbsd/aarch64.rs
@@ -1,20 +1,6 @@
pub type c_long = i64;
pub type c_ulong = u64;
pub type c_char = u8;
-pub type ucontext_t = sigcontext;
-
-s! {
- pub struct sigcontext {
- __sc_unused: ::c_int,
- pub sc_mask: ::c_int,
- pub sc_sp: ::c_ulong,
- pub sc_lr: ::c_ulong,
- pub sc_elr: ::c_ulong,
- pub sc_spsr: ::c_ulong,
- pub sc_x: [::c_ulong; 30],
- pub sc_cookie: ::c_long,
- }
-}
// should be pub(crate), but that requires Rust 1.18.0
cfg_if! {
diff --git a/src/unix/bsd/netbsdlike/openbsd/arm.rs b/src/unix/bsd/netbsdlike/openbsd/arm.rs
deleted file mode 100644
index f1ab365d..00000000
--- a/src/unix/bsd/netbsdlike/openbsd/arm.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-pub type c_long = i32;
-pub type c_ulong = u32;
-pub type c_char = u8;
-
-// should be pub(crate), but that requires Rust 1.18.0
-cfg_if! {
- if #[cfg(libc_const_size_of)] {
- #[doc(hidden)]
- pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_double>() - 1;
- } else {
- #[doc(hidden)]
- pub const _ALIGNBYTES: usize = 8 - 1;
- }
-}
-
-pub const _MAX_PAGE_SHIFT: u32 = 12;
diff --git a/src/unix/bsd/netbsdlike/openbsd/mips64.rs b/src/unix/bsd/netbsdlike/openbsd/mips64.rs
deleted file mode 100644
index 15803ced..00000000
--- a/src/unix/bsd/netbsdlike/openbsd/mips64.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-pub type c_long = i64;
-pub type c_ulong = u64;
-pub type c_char = i8;
-
-#[doc(hidden)]
-pub const _ALIGNBYTES: usize = 7;
-
-pub const _MAX_PAGE_SHIFT: u32 = 14;
diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs
index 9cab0b1a..c7a25e28 100644
--- a/src/unix/bsd/netbsdlike/openbsd/mod.rs
+++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs
@@ -14,7 +14,6 @@ pub type pthread_cond_t = *mut ::c_void;
pub type pthread_condattr_t = *mut ::c_void;
pub type pthread_rwlock_t = *mut ::c_void;
pub type pthread_rwlockattr_t = *mut ::c_void;
-pub type pthread_spinlock_t = ::uintptr_t;
pub type caddr_t = *mut ::c_char;
// elf.h
@@ -48,12 +47,6 @@ cfg_if! {
}
s! {
- pub struct ip_mreqn {
- pub imr_multiaddr: in_addr,
- pub imr_address: in_addr,
- pub imr_ifindex: ::c_int,
- }
-
pub struct glob_t {
pub gl_pathc: ::size_t,
pub gl_matchc: ::size_t,
@@ -215,12 +208,6 @@ s! {
pub sin_zero: [i8; 8],
}
- pub struct splice {
- pub sp_fd: ::c_int,
- pub sp_max: ::off_t,
- pub sp_idle: ::timeval,
- }
-
pub struct kevent {
pub ident: ::uintptr_t,
pub filter: ::c_short,
@@ -396,40 +383,9 @@ s! {
pub dlpi_phdr: *const Elf_Phdr,
pub dlpi_phnum: Elf_Half,
}
-
- // sys/sysctl.h
- pub struct kinfo_vmentry {
- pub kve_start: ::c_ulong,
- pub kve_end: ::c_ulong,
- pub kve_guard: ::c_ulong,
- pub kve_fspace: ::c_ulong,
- pub kve_fspace_augment: ::c_ulong,
- pub kve_offset: u64,
- pub kve_wired_count: ::c_int,
- pub kve_etype: ::c_int,
- pub kve_protection: ::c_int,
- pub kve_max_protection: ::c_int,
- pub kve_advice: ::c_int,
- pub kve_inheritance: ::c_int,
- pub kve_flags: u8,
- }
-
- pub struct ptrace_state {
- pub pe_report_event: ::c_int,
- pub pe_other_pid: ::pid_t,
- pub pe_tid: ::pid_t,
- }
-
- pub struct ptrace_thread_state {
- pub pts_tid: ::pid_t,
- }
}
impl siginfo_t {
- pub unsafe fn si_addr(&self) -> *mut ::c_char {
- self.si_addr
- }
-
pub unsafe fn si_value(&self) -> ::sigval {
#[repr(C)]
struct siginfo_timer {
@@ -980,10 +936,6 @@ pub const NET_RT_STATS: ::c_int = 4;
pub const NET_RT_TABLE: ::c_int = 5;
pub const NET_RT_IFNAMES: ::c_int = 6;
#[doc(hidden)]
-#[deprecated(
- since = "0.2.95",
- note = "Possibly increasing over the releases and might not be so used in the field"
-)]
pub const NET_RT_MAXID: ::c_int = 7;
pub const IPV6_JOIN_GROUP: ::c_int = 12;
@@ -1185,9 +1137,7 @@ pub const EV_DISPATCH: u16 = 0x80;
pub const EV_FLAG1: u16 = 0x2000;
pub const EV_ERROR: u16 = 0x4000;
pub const EV_EOF: u16 = 0x8000;
-
-#[deprecated(since = "0.2.113", note = "Not stable across OS versions")]
-pub const EV_SYSFLAGS: u16 = 0xf800;
+pub const EV_SYSFLAGS: u16 = 0xf000;
pub const NOTE_LOWAT: u32 = 0x00000001;
pub const NOTE_EOF: u32 = 0x00000002;
@@ -1210,20 +1160,6 @@ pub const NOTE_CHILD: u32 = 0x00000004;
pub const TMP_MAX: ::c_uint = 0x7fffffff;
-pub const AI_PASSIVE: ::c_int = 1;
-pub const AI_CANONNAME: ::c_int = 2;
-pub const AI_NUMERICHOST: ::c_int = 4;
-pub const AI_EXT: ::c_int = 8;
-pub const AI_NUMERICSERV: ::c_int = 16;
-pub const AI_FQDN: ::c_int = 32;
-pub const AI_ADDRCONFIG: ::c_int = 64;
-
-pub const NI_NUMERICHOST: ::c_int = 1;
-pub const NI_NUMERICSERV: ::c_int = 2;
-pub const NI_NOFQDN: ::c_int = 4;
-pub const NI_NAMEREQD: ::c_int = 8;
-pub const NI_DGRAM: ::c_int = 16;
-
pub const NI_MAXHOST: ::size_t = 256;
pub const RTLD_LOCAL: ::c_int = 0;
@@ -1330,10 +1266,6 @@ pub const KERN_AUDIO: ::c_int = 84;
pub const KERN_CPUSTATS: ::c_int = 85;
pub const KERN_PFSTATUS: ::c_int = 86;
pub const KERN_TIMEOUT_STATS: ::c_int = 87;
-#[deprecated(
- since = "0.2.95",
- note = "Possibly increasing over the releases and might not be so used in the field"
-)]
pub const KERN_MAXID: ::c_int = 88;
pub const KERN_PROC_ALL: ::c_int = 0;
@@ -1428,7 +1360,6 @@ pub const NTFS_MFLAG_ALLNAMES: ::c_int = 0x2;
pub const TMPFS_ARGS_VERSION: ::c_int = 1;
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
pub const IFF_UP: ::c_int = 0x1; // interface is up
@@ -1452,11 +1383,6 @@ pub const PTHREAD_STACK_MIN: ::size_t = 1_usize << _MAX_PAGE_SHIFT;
pub const MINSIGSTKSZ: ::size_t = 3_usize << _MAX_PAGE_SHIFT;
pub const SIGSTKSZ: ::size_t = MINSIGSTKSZ + (1_usize << _MAX_PAGE_SHIFT) * 4;
-pub const PT_SET_EVENT_MASK: ::c_int = 12;
-pub const PT_GET_EVENT_MASK: ::c_int = 13;
-pub const PT_GET_PROCESS_STATE: ::c_int = 14;
-pub const PT_GET_THREAD_FIRST: ::c_int = 15;
-pub const PT_GET_THREAD_NEXT: ::c_int = 16;
pub const PT_FIRSTMACH: ::c_int = 32;
pub const SOCK_CLOEXEC: ::c_int = 0x8000;
@@ -1538,7 +1464,6 @@ extern "C" {
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(
nptr: *const ::c_char,
minval: ::c_longlong,
@@ -1564,8 +1489,6 @@ extern "C" {
servlen: ::size_t,
flags: ::c_int,
) -> ::c_int;
- pub fn getresgid(rgid: *mut ::gid_t, egid: *mut ::gid_t, sgid: *mut ::gid_t) -> ::c_int;
- pub fn getresuid(ruid: *mut ::uid_t, euid: *mut ::uid_t, suid: *mut ::uid_t) -> ::c_int;
pub fn kevent(
kq: ::c_int,
changelist: *const ::kevent,
@@ -1575,7 +1498,6 @@ extern "C" {
timeout: *const ::timespec,
) -> ::c_int;
pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
- pub fn getthrid() -> ::pid_t;
pub fn pthread_attr_getguardsize(
attr: *const ::pthread_attr_t,
guardsize: *mut ::size_t,
@@ -1586,10 +1508,8 @@ extern "C" {
stacksize: *mut ::size_t,
) -> ::c_int;
pub fn pthread_main_np() -> ::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_stackseg_np(thread: ::pthread_t, sinfo: *mut ::stack_t) -> ::c_int;
-
pub fn sysctl(
name: *const ::c_int,
namelen: ::c_uint,
@@ -1602,7 +1522,6 @@ extern "C" {
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;
- pub fn utrace(label: *const ::c_char, addr: *const ::c_void, len: ::size_t) -> ::c_int;
pub fn memmem(
haystack: *const ::c_void,
haystacklen: ::size_t,
@@ -1620,39 +1539,6 @@ extern "C" {
>,
data: *mut ::c_void,
) -> ::c_int;
- pub fn uselocale(loc: ::locale_t) -> ::locale_t;
- pub fn freelocale(loc: ::locale_t);
- pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
- pub fn duplocale(base: ::locale_t) -> ::locale_t;
-
- // Added in `OpenBSD` 5.5
- pub fn explicit_bzero(s: *mut ::c_void, len: ::size_t);
-
- pub fn setproctitle(fmt: *const ::c_char, ...);
-
- pub fn freezero(ptr: *mut ::c_void, size: ::size_t);
- pub fn malloc_conceal(size: ::size_t) -> *mut ::c_void;
- pub fn calloc_conceal(nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;
-
- pub fn srand48_deterministic(seed: ::c_long);
- pub fn seed48_deterministic(xseed: *mut ::c_ushort) -> *mut ::c_ushort;
- pub fn lcong48_deterministic(p: *mut ::c_ushort);
-}
-
-#[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;
}
cfg_if! {
@@ -1666,33 +1552,18 @@ cfg_if! {
}
cfg_if! {
- if #[cfg(target_arch = "aarch64")] {
- mod aarch64;
- pub use self::aarch64::*;
- } else if #[cfg(target_arch = "arm")] {
- mod arm;
- pub use self::arm::*;
- } else if #[cfg(target_arch = "mips64")] {
- mod mips64;
- pub use self::mips64::*;
- } else if #[cfg(target_arch = "powerpc")] {
- mod powerpc;
- pub use self::powerpc::*;
- } else if #[cfg(target_arch = "powerpc64")] {
- mod powerpc64;
- pub use self::powerpc64::*;
- } else if #[cfg(target_arch = "riscv64")] {
- mod riscv64;
- pub use self::riscv64::*;
- } else if #[cfg(target_arch = "sparc64")] {
- mod sparc64;
- pub use self::sparc64::*;
- } else if #[cfg(target_arch = "x86")] {
+ if #[cfg(target_arch = "x86")] {
mod x86;
pub use self::x86::*;
} else if #[cfg(target_arch = "x86_64")] {
mod x86_64;
pub use self::x86_64::*;
+ } else if #[cfg(target_arch = "aarch64")] {
+ mod aarch64;
+ pub use self::aarch64::*;
+ } else if #[cfg(target_arch = "sparc64")] {
+ mod sparc64;
+ pub use self::sparc64::*;
} else {
// Unknown target_arch
}
diff --git a/src/unix/bsd/netbsdlike/openbsd/powerpc.rs b/src/unix/bsd/netbsdlike/openbsd/powerpc.rs
deleted file mode 100644
index f1ab365d..00000000
--- a/src/unix/bsd/netbsdlike/openbsd/powerpc.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-pub type c_long = i32;
-pub type c_ulong = u32;
-pub type c_char = u8;
-
-// should be pub(crate), but that requires Rust 1.18.0
-cfg_if! {
- if #[cfg(libc_const_size_of)] {
- #[doc(hidden)]
- pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_double>() - 1;
- } else {
- #[doc(hidden)]
- pub const _ALIGNBYTES: usize = 8 - 1;
- }
-}
-
-pub const _MAX_PAGE_SHIFT: u32 = 12;
diff --git a/src/unix/bsd/netbsdlike/openbsd/powerpc64.rs b/src/unix/bsd/netbsdlike/openbsd/powerpc64.rs
deleted file mode 100644
index 99350ec8..00000000
--- a/src/unix/bsd/netbsdlike/openbsd/powerpc64.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-pub type c_long = i64;
-pub type c_ulong = u64;
-pub type c_char = u8;
-
-// should be pub(crate), but that requires Rust 1.18.0
-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 _MAX_PAGE_SHIFT: u32 = 12;
diff --git a/src/unix/bsd/netbsdlike/openbsd/riscv64.rs b/src/unix/bsd/netbsdlike/openbsd/riscv64.rs
deleted file mode 100644
index 99350ec8..00000000
--- a/src/unix/bsd/netbsdlike/openbsd/riscv64.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-pub type c_long = i64;
-pub type c_ulong = u64;
-pub type c_char = u8;
-
-// should be pub(crate), but that requires Rust 1.18.0
-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 _MAX_PAGE_SHIFT: u32 = 12;
diff --git a/src/unix/bsd/netbsdlike/openbsd/x86_64.rs b/src/unix/bsd/netbsdlike/openbsd/x86_64.rs
index 60dab004..263b6e13 100644
--- a/src/unix/bsd/netbsdlike/openbsd/x86_64.rs
+++ b/src/unix/bsd/netbsdlike/openbsd/x86_64.rs
@@ -3,112 +3,6 @@ use PT_FIRSTMACH;
pub type c_long = i64;
pub type c_ulong = u64;
pub type c_char = i8;
-pub type ucontext_t = sigcontext;
-
-s! {
- pub struct sigcontext {
- pub sc_rdi: ::c_long,
- pub sc_rsi: ::c_long,
- pub sc_rdx: ::c_long,
- pub sc_rcx: ::c_long,
- pub sc_r8: ::c_long,
- pub sc_r9: ::c_long,
- pub sc_r10: ::c_long,
- pub sc_r11: ::c_long,
- pub sc_r12: ::c_long,
- pub sc_r13: ::c_long,
- pub sc_r14: ::c_long,
- pub sc_r15: ::c_long,
- pub sc_rbp: ::c_long,
- pub sc_rbx: ::c_long,
- pub sc_rax: ::c_long,
- pub sc_gs: ::c_long,
- pub sc_fs: ::c_long,
- pub sc_es: ::c_long,
- pub sc_ds: ::c_long,
- pub sc_trapno: ::c_long,
- pub sc_err: ::c_long,
- pub sc_rip: ::c_long,
- pub sc_cs: ::c_long,
- pub sc_rflags: ::c_long,
- pub sc_rsp: ::c_long,
- pub sc_ss: ::c_long,
- pub sc_fpstate: *mut fxsave64,
- __sc_unused: ::c_int,
- pub sc_mask: ::c_int,
- pub sc_cookie: ::c_long,
- }
-}
-
-s_no_extra_traits! {
- #[repr(packed)]
- pub struct fxsave64 {
- pub fx_fcw: u16,
- pub fx_fsw: u16,
- pub fx_ftw: u8,
- __fx_unused1: u8,
- pub fx_fop: u16,
- pub fx_rip: u64,
- pub fx_rdp: u64,
- pub fx_mxcsr: u32,
- pub fx_mxcsr_mask: u32,
- pub fx_st: [[u64; 2]; 8],
- pub fx_xmm: [[u64; 2]; 16],
- __fx_unused3: [u8; 96],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- // `fxsave64` is packed, so field access is unaligned.
- // use {x} to create temporary storage, copy field to it, and do aligned access.
- impl PartialEq for fxsave64 {
- fn eq(&self, other: &fxsave64) -> bool {
- return {self.fx_fcw} == {other.fx_fcw} &&
- {self.fx_fsw} == {other.fx_fsw} &&
- {self.fx_ftw} == {other.fx_ftw} &&
- {self.fx_fop} == {other.fx_fop} &&
- {self.fx_rip} == {other.fx_rip} &&
- {self.fx_rdp} == {other.fx_rdp} &&
- {self.fx_mxcsr} == {other.fx_mxcsr} &&
- {self.fx_mxcsr_mask} == {other.fx_mxcsr_mask} &&
- {self.fx_st}.iter().zip({other.fx_st}.iter()).all(|(a,b)| a == b) &&
- {self.fx_xmm}.iter().zip({other.fx_xmm}.iter()).all(|(a,b)| a == b)
- }
- }
- impl Eq for fxsave64 {}
- impl ::fmt::Debug for fxsave64 {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("fxsave64")
- .field("fx_fcw", &{self.fx_fcw})
- .field("fx_fsw", &{self.fx_fsw})
- .field("fx_ftw", &{self.fx_ftw})
- .field("fx_fop", &{self.fx_fop})
- .field("fx_rip", &{self.fx_rip})
- .field("fx_rdp", &{self.fx_rdp})
- .field("fx_mxcsr", &{self.fx_mxcsr})
- .field("fx_mxcsr_mask", &{self.fx_mxcsr_mask})
- // FIXME: .field("fx_st", &{self.fx_st})
- // FIXME: .field("fx_xmm", &{self.fx_xmm})
- .finish()
- }
- }
- impl ::hash::Hash for fxsave64 {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- {self.fx_fcw}.hash(state);
- {self.fx_fsw}.hash(state);
- {self.fx_ftw}.hash(state);
- {self.fx_fop}.hash(state);
- {self.fx_rip}.hash(state);
- {self.fx_rdp}.hash(state);
- {self.fx_mxcsr}.hash(state);
- {self.fx_mxcsr_mask}.hash(state);
- {self.fx_st}.hash(state);
- {self.fx_xmm}.hash(state);
- }
- }
- }
-}
// should be pub(crate), but that requires Rust 1.18.0
cfg_if! {
diff --git a/src/unix/haiku/b32.rs b/src/unix/haiku/b32.rs
index 073ae9d4..cce88648 100644
--- a/src/unix/haiku/b32.rs
+++ b/src/unix/haiku/b32.rs
@@ -1,20 +1,3 @@
pub type c_long = i32;
pub type c_ulong = u32;
pub type time_t = i32;
-
-pub type Elf_Addr = ::Elf32_Addr;
-pub type Elf_Half = ::Elf32_Half;
-pub type Elf_Phdr = ::Elf32_Phdr;
-
-s! {
- pub struct Elf32_Phdr {
- pub p_type: ::Elf32_Word,
- pub p_offset: ::Elf32_Off,
- pub p_vaddr: ::Elf32_Addr,
- pub p_paddr: ::Elf32_Addr,
- pub p_filesz: ::Elf32_Word,
- pub p_memsz: ::Elf32_Word,
- pub p_flags: ::Elf32_Word,
- pub p_align: ::Elf32_Word,
- }
-}
diff --git a/src/unix/haiku/b64.rs b/src/unix/haiku/b64.rs
index 45691805..3e66f14c 100644
--- a/src/unix/haiku/b64.rs
+++ b/src/unix/haiku/b64.rs
@@ -1,20 +1,3 @@
pub type c_ulong = u64;
pub type c_long = i64;
pub type time_t = i64;
-
-pub type Elf_Addr = ::Elf64_Addr;
-pub type Elf_Half = ::Elf64_Half;
-pub type Elf_Phdr = ::Elf64_Phdr;
-
-s! {
- pub struct Elf64_Phdr {
- pub p_type: ::Elf64_Word,
- pub p_flags: ::Elf64_Word,
- pub p_offset: ::Elf64_Off,
- pub p_vaddr: ::Elf64_Addr,
- pub p_paddr: ::Elf64_Addr,
- pub p_filesz: ::Elf64_Xword,
- pub p_memsz: ::Elf64_Xword,
- pub p_align: ::Elf64_Xword,
- }
-}
diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs
index 0182dee1..d88baec6 100644
--- a/src/unix/haiku/mod.rs
+++ b/src/unix/haiku/mod.rs
@@ -31,22 +31,6 @@ pub type id_t = i32;
pub type idtype_t = ::c_uint;
pub type fd_mask = u32;
-pub type Elf32_Addr = u32;
-pub type Elf32_Half = u16;
-pub type Elf32_Lword = u64;
-pub type Elf32_Off = u32;
-pub type Elf32_Sword = i32;
-pub type Elf32_Word = u32;
-
-pub type Elf64_Addr = u64;
-pub type Elf64_Half = u16;
-pub type Elf64_Lword = u64;
-pub type Elf64_Off = u64;
-pub type Elf64_Sword = i32;
-pub type Elf64_Sxword = i64;
-pub type Elf64_Word = u32;
-pub type Elf64_Xword = u64;
-
#[cfg_attr(feature = "extra_traits", derive(Debug))]
pub enum timezone {}
impl ::Copy for timezone {}
@@ -118,16 +102,6 @@ s! {
pub ai_next: *mut addrinfo,
}
- pub struct ifaddrs {
- pub ifa_next: *mut ifaddrs,
- pub ifa_name: *mut ::c_char,
- pub ifa_flags: ::c_uint,
- pub ifa_addr: *mut ::sockaddr,
- pub ifa_netmask: *mut ::sockaddr,
- pub ifa_dstaddr: *mut ::sockaddr,
- pub ida_data: *mut ::c_void,
- }
-
pub struct fd_set {
// size for 1024 bits, and a fd_mask with size u32
fds_bits: [fd_mask; 32],
@@ -341,35 +315,6 @@ s! {
pub named_sem_id: i32, // actually a union with unnamed_sem (i32)
pub padding: [i32; 2],
}
-
- pub struct ucred {
- pub pid: ::pid_t,
- pub uid: ::uid_t,
- pub gid: ::gid_t,
- }
-
- pub struct sockaddr_dl {
- pub sdl_len: u8,
- pub sdl_family: u8,
- pub sdl_e_type: u16,
- pub sdl_index: u32,
- pub sdl_type: u8,
- pub sdl_nlen: u8,
- pub sdl_alen: u8,
- pub sdl_slen: u8,
- pub sdl_data: [u8; 46],
- }
-
- pub struct dl_phdr_info {
- pub dlpi_addr: Elf_Addr,
- pub dlpi_name: *const ::c_char,
- pub dlpi_phdr: *const Elf_Phdr,
- pub dlpi_phnum: Elf_Half,
- pub dlpi_adds: ::c_ulonglong,
- pub dlpi_subs: ::c_ulonglong,
- pub dlpi_tls_modid: usize,
- pub dlpi_tls_data: *mut ::c_void,
- }
}
s_no_extra_traits! {
@@ -401,63 +346,10 @@ s_no_extra_traits! {
__unused1: *mut ::c_void, // actually a function pointer
pub sigev_notify_attributes: *mut ::pthread_attr_t,
}
-
- pub struct utmpx {
- pub ut_type: ::c_short,
- pub ut_tv: ::timeval,
- pub ut_id: [::c_char; 8],
- pub ut_pid: ::pid_t,
- pub ut_user: [::c_char; 32],
- pub ut_line: [::c_char; 16],
- pub ut_host: [::c_char; 128],
- __ut_reserved: [::c_char; 64],
- }
}
cfg_if! {
if #[cfg(feature = "extra_traits")] {
- impl PartialEq for utmpx {
- fn eq(&self, other: &utmpx) -> bool {
- self.ut_type == other.ut_type
- && self.ut_tv == other.ut_tv
- && self.ut_id == other.ut_id
- && self.ut_pid == other.ut_pid
- && self.ut_user == other.ut_user
- && self.ut_line == other.ut_line
- && self.ut_host.iter().zip(other.ut_host.iter()).all(|(a,b)| a == b)
- && self.__ut_reserved == other.__ut_reserved
- }
- }
-
- impl Eq for utmpx {}
-
- impl ::fmt::Debug for utmpx {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("utmpx")
- .field("ut_type", &self.ut_type)
- .field("ut_tv", &self.ut_tv)
- .field("ut_id", &self.ut_id)
- .field("ut_pid", &self.ut_pid)
- .field("ut_user", &self.ut_user)
- .field("ut_line", &self.ut_line)
- .field("ut_host", &self.ut_host)
- .field("__ut_reserved", &self.__ut_reserved)
- .finish()
- }
- }
-
- impl ::hash::Hash for utmpx {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.ut_type.hash(state);
- self.ut_tv.hash(state);
- self.ut_id.hash(state);
- self.ut_pid.hash(state);
- self.ut_user.hash(state);
- self.ut_line.hash(state);
- self.ut_host.hash(state);
- self.__ut_reserved.hash(state);
- }
- }
impl PartialEq for sockaddr_un {
fn eq(&self, other: &sockaddr_un) -> bool {
self.sun_len == other.sun_len
@@ -651,7 +543,6 @@ pub const RLIMIT_FSIZE: ::c_int = 3;
pub const RLIMIT_NOFILE: ::c_int = 4;
pub const RLIMIT_STACK: ::c_int = 5;
pub const RLIMIT_AS: ::c_int = 6;
-pub const RLIM_INFINITY: ::c_ulong = 0xffffffff;
// Haiku specific
pub const RLIMIT_NOVMON: ::c_int = 7;
pub const RLIM_NLIMITS: ::c_int = 8;
@@ -783,7 +674,6 @@ pub const MAP_SHARED: ::c_int = 0x01;
pub const MAP_PRIVATE: ::c_int = 0x02;
pub const MAP_FIXED: ::c_int = 0x04;
pub const MAP_ANONYMOUS: ::c_int = 0x08;
-pub const MAP_NORESERVE: ::c_int = 0x10;
pub const MAP_ANON: ::c_int = MAP_ANONYMOUS;
pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void;
@@ -890,7 +780,6 @@ pub const MADV_SEQUENTIAL: ::c_int = 2;
pub const MADV_RANDOM: ::c_int = 3;
pub const MADV_WILLNEED: ::c_int = 4;
pub const MADV_DONTNEED: ::c_int = 5;
-pub const MADV_FREE: ::c_int = 6;
// https://github.com/haiku/haiku/blob/master/headers/posix/net/if.h#L80
pub const IFF_UP: ::c_int = 0x0001;
@@ -920,15 +809,6 @@ pub const AF_LOCAL: ::c_int = 9;
pub const AF_UNIX: ::c_int = AF_LOCAL;
pub const AF_BLUETOOTH: ::c_int = 10;
-pub const PF_UNSPEC: ::c_int = AF_UNSPEC;
-pub const PF_INET: ::c_int = AF_INET;
-pub const PF_ROUTE: ::c_int = AF_ROUTE;
-pub const PF_LINK: ::c_int = AF_LINK;
-pub const PF_INET6: ::c_int = AF_INET6;
-pub const PF_LOCAL: ::c_int = AF_LOCAL;
-pub const PF_UNIX: ::c_int = AF_UNIX;
-pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH;
-
pub const IP_OPTIONS: ::c_int = 1;
pub const IP_HDRINCL: ::c_int = 2;
pub const IP_TOS: ::c_int = 3;
@@ -1099,7 +979,6 @@ pub const _SC_HOST_NAME_MAX: ::c_int = 61;
pub const _SC_REGEXP: ::c_int = 62;
pub const _SC_SYMLOOP_MAX: ::c_int = 63;
pub const _SC_SHELL: ::c_int = 64;
-pub const _SC_TTY_NAME_MAX: ::c_int = 65;
pub const PTHREAD_STACK_MIN: ::size_t = 8192;
@@ -1355,16 +1234,6 @@ pub const PRIO_PROCESS: ::c_int = 0;
pub const PRIO_PGRP: ::c_int = 1;
pub const PRIO_USER: ::c_int = 2;
-// utmpx entry types
-pub const EMPTY: ::c_short = 0;
-pub const BOOT_TIME: ::c_short = 1;
-pub const OLD_TIME: ::c_short = 2;
-pub const NEW_TIME: ::c_short = 3;
-pub const USER_PROCESS: ::c_short = 4;
-pub const INIT_PROCESS: ::c_short = 5;
-pub const LOGIN_PROCESS: ::c_short = 6;
-pub const DEAD_PROCESS: ::c_short = 7;
-
pub const LOG_PID: ::c_int = 1 << 12;
pub const LOG_CONS: ::c_int = 2 << 12;
pub const LOG_ODELAY: ::c_int = 4 << 12;
@@ -1426,7 +1295,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let fd = fd as usize;
let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
return ((*set).fds_bits[fd / size] & (1 << (fd % size))) != 0
@@ -1487,12 +1356,6 @@ extern "C" {
pub fn getpriority(which: ::c_int, who: id_t) -> ::c_int;
pub fn setpriority(which: ::c_int, who: id_t, priority: ::c_int) -> ::c_int;
- pub fn endusershell();
- pub fn getpass(prompt: *const ::c_char) -> *mut ::c_char;
- pub fn getusershell() -> *mut ::c_char;
- pub fn issetugid() -> ::c_int;
- pub fn setusershell();
-
pub fn utimensat(
fd: ::c_int,
path: *const ::c_char,
@@ -1508,14 +1371,6 @@ extern "C" {
pub fn labs(i: ::c_long) -> ::c_long;
pub fn rand() -> ::c_int;
pub fn srand(seed: ::c_uint);
- pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int;
- pub fn freeifaddrs(ifa: *mut ::ifaddrs);
- pub fn ppoll(
- fds: *mut ::pollfd,
- numfds: ::nfds_t,
- timeout: *const ::timespec,
- sigMask: *const sigset_t,
- ) -> ::c_int;
}
#[link(name = "bsd")]
@@ -1548,8 +1403,6 @@ extern "C" {
attr: *mut pthread_condattr_t,
clock_id: ::clockid_t,
) -> ::c_int;
- pub fn valloc(numBytes: ::size_t) -> *mut ::c_void;
- pub fn malloc_usable_size(ptr: *mut ::c_void) -> ::size_t;
pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
pub fn setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int;
pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
@@ -1580,8 +1433,6 @@ extern "C" {
pub fn globfree(pglob: *mut ::glob_t);
pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int;
pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
- pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advice: ::c_int) -> ::c_int;
- pub fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int;
pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_t) -> ::c_int;
pub fn shm_unlink(name: *const ::c_char) -> ::c_int;
@@ -1624,12 +1475,6 @@ extern "C" {
buflen: ::size_t,
result: *mut *mut ::group,
) -> ::c_int;
- pub fn getgrouplist(
- user: *const ::c_char,
- basegroup: ::gid_t,
- grouplist: *mut ::gid_t,
- groupcount: *mut ::c_int,
- ) -> ::c_int;
pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
pub fn sem_close(sem: *mut sem_t) -> ::c_int;
pub fn getdtablesize() -> ::c_int;
@@ -1683,29 +1528,6 @@ extern "C" {
) -> ::pid_t;
pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int;
pub fn uname(buf: *mut ::utsname) -> ::c_int;
- pub fn getutxent() -> *mut utmpx;
- pub fn getutxid(ut: *const utmpx) -> *mut utmpx;
- pub fn getutxline(ut: *const utmpx) -> *mut utmpx;
- pub fn pututxline(ut: *const utmpx) -> *mut utmpx;
- pub fn setutxent();
- pub fn endutxent();
-
- pub fn dl_iterate_phdr(
- callback: ::Option<
- unsafe extern "C" fn(
- info: *mut dl_phdr_info,
- size: usize,
- data: *mut ::c_void,
- ) -> ::c_int,
- >,
- data: *mut ::c_void,
- ) -> ::c_int;
-
- pub fn strsep(string: *mut *mut ::c_char, delimiters: *const ::c_char) -> *mut ::c_char;
- pub fn explicit_bzero(buf: *mut ::c_void, len: ::size_t);
-
- pub fn login_tty(_fd: ::c_int) -> ::c_int;
- pub fn fgetln(stream: *mut ::FILE, _length: *mut ::size_t) -> *mut ::c_char;
}
cfg_if! {
@@ -1718,20 +1540,5 @@ cfg_if! {
}
}
-cfg_if! {
- if #[cfg(target_arch = "x86")] {
- // TODO
- // mod x86;
- // pub use self::x86::*;
- } else if #[cfg(target_arch = "x86_64")] {
- mod x86_64;
- pub use self::x86_64::*;
- } else if #[cfg(target_arch = "aarch64")] {
- // TODO
- // mod aarch64;
- // pub use self::aarch64::*;
- }
-}
-
mod native;
pub use self::native::*;
diff --git a/src/unix/haiku/native.rs b/src/unix/haiku/native.rs
index 765dc4e8..7d2a60d9 100644
--- a/src/unix/haiku/native.rs
+++ b/src/unix/haiku/native.rs
@@ -61,59 +61,6 @@ e! {
B_ADD_ON_IMAGE,
B_SYSTEM_IMAGE
}
-
- // kernel/scheduler.h
-
- pub enum be_task_flags {
- B_DEFAULT_MEDIA_PRIORITY = 0x000,
- B_OFFLINE_PROCESSING = 0x001,
- B_STATUS_RENDERING = 0x002,
- B_USER_INPUT_HANDLING = 0x004,
- B_LIVE_VIDEO_MANIPULATION = 0x008,
- B_VIDEO_PLAYBACK = 0x010,
- B_VIDEO_RECORDING = 0x020,
- B_LIVE_AUDIO_MANIPULATION = 0x040,
- B_AUDIO_PLAYBACK = 0x080,
- B_AUDIO_RECORDING = 0x100,
- B_LIVE_3D_RENDERING = 0x200,
- B_NUMBER_CRUNCHING = 0x400,
- B_MIDI_PROCESSING = 0x800,
- }
-
- pub enum schduler_mode {
- SCHEDULER_MODE_LOW_LATENCY,
- SCHEDULER_MODE_POWER_SAVING,
- }
-
- // FindDirectory.h
- pub enum path_base_directory {
- B_FIND_PATH_INSTALLATION_LOCATION_DIRECTORY,
- B_FIND_PATH_ADD_ONS_DIRECTORY,
- B_FIND_PATH_APPS_DIRECTORY,
- B_FIND_PATH_BIN_DIRECTORY,
- B_FIND_PATH_BOOT_DIRECTORY,
- B_FIND_PATH_CACHE_DIRECTORY,
- B_FIND_PATH_DATA_DIRECTORY,
- B_FIND_PATH_DEVELOP_DIRECTORY,
- B_FIND_PATH_DEVELOP_LIB_DIRECTORY,
- B_FIND_PATH_DOCUMENTATION_DIRECTORY,
- B_FIND_PATH_ETC_DIRECTORY,
- B_FIND_PATH_FONTS_DIRECTORY,
- B_FIND_PATH_HEADERS_DIRECTORY,
- B_FIND_PATH_LIB_DIRECTORY,
- B_FIND_PATH_LOG_DIRECTORY,
- B_FIND_PATH_MEDIA_NODES_DIRECTORY,
- B_FIND_PATH_PACKAGES_DIRECTORY,
- B_FIND_PATH_PREFERENCES_DIRECTORY,
- B_FIND_PATH_SERVERS_DIRECTORY,
- B_FIND_PATH_SETTINGS_DIRECTORY,
- B_FIND_PATH_SOUNDS_DIRECTORY,
- B_FIND_PATH_SPOOL_DIRECTORY,
- B_FIND_PATH_TRANSLATORS_DIRECTORY,
- B_FIND_PATH_VAR_DIRECTORY,
- B_FIND_PATH_IMAGE_PATH = 1000,
- B_FIND_PATH_PACKAGE_PATH,
- }
}
s! {
@@ -149,29 +96,29 @@ s! {
}
pub struct team_info {
- pub team: team_id,
- pub thread_count: i32,
- pub image_count: i32,
- pub area_count: i32,
- pub debugger_nub_thread: thread_id,
- pub debugger_nub_port: port_id,
- pub argc: i32,
- pub args: [::c_char; 64],
- pub uid: ::uid_t,
- pub gid: ::gid_t
+ team: team_id,
+ thread_count: i32,
+ image_count: i32,
+ area_count: i32,
+ debugger_nub_thread: thread_id,
+ debugger_nub_port: port_id,
+ argc: i32,
+ args: [::c_char; 64],
+ uid: ::uid_t,
+ gid: ::gid_t
}
pub struct sem_info {
- pub sem: sem_id,
- pub team: team_id,
- pub name: [::c_char; B_OS_NAME_LENGTH],
- pub count: i32,
- pub latest_holder: thread_id
+ sem: sem_id,
+ team: team_id,
+ name: [::c_char; B_OS_NAME_LENGTH],
+ count: i32,
+ latest_holder: thread_id
}
pub struct team_usage_info {
- pub user_time: bigtime_t,
- pub kernel_time: bigtime_t
+ user_time: bigtime_t,
+ kernel_time: bigtime_t
}
pub struct thread_info {
@@ -228,34 +175,34 @@ s! {
// kernel/fs_attr.h
pub struct attr_info {
- pub type_: u32,
- pub size: ::off_t
+ type_: u32,
+ size: ::off_t
}
// kernel/fs_index.h
pub struct index_info {
- pub type_: u32,
- pub size: ::off_t,
- pub modification_time: ::time_t,
- pub creation_time: ::time_t,
- pub uid: ::uid_t,
- pub gid: ::gid_t
+ type_: u32,
+ size: ::off_t,
+ modification_time: ::time_t,
+ creation_time: ::time_t,
+ uid: ::uid_t,
+ gid: ::gid_t
}
//kernel/fs_info.h
pub struct fs_info {
- pub dev: ::dev_t,
- pub root: ::ino_t,
- pub flags: u32,
- pub block_size: ::off_t,
- pub io_size: ::off_t,
- pub total_blocks: ::off_t,
- pub free_blocks: ::off_t,
- pub total_nodes: ::off_t,
- pub free_nodes: ::off_t,
- pub device_name: [::c_char; 128],
- pub volume_name: [::c_char; B_FILE_NAME_LENGTH],
- pub fsh_name: [::c_char; B_OS_NAME_LENGTH]
+ dev: ::dev_t,
+ root: ::ino_t,
+ flags: u32,
+ block_size: ::off_t,
+ io_size: ::off_t,
+ total_blocks: ::off_t,
+ free_blocks: ::off_t,
+ total_nodes: ::off_t,
+ free_nodes: ::off_t,
+ device_name: [::c_char; 128],
+ volume_name: [::c_char; B_FILE_NAME_LENGTH],
+ fsh_name: [::c_char; B_OS_NAME_LENGTH]
}
// kernel/image.h
@@ -276,93 +223,6 @@ s! {
pub api_version: i32,
pub abi: i32
}
-
- pub struct __c_anonymous_eax_0 {
- pub max_eax: u32,
- pub vendor_id: [::c_char; 12],
- }
-
- pub struct __c_anonymous_eax_1 {
- pub stepping: u32,
- pub model: u32,
- pub family: u32,
- pub tpe: u32,
- __reserved_0: u32,
- pub extended_model: u32,
- pub extended_family: u32,
- __reserved_1: u32,
- pub brand_index: u32,
- pub clflush: u32,
- pub logical_cpus: u32,
- pub apic_id: u32,
- pub features: u32,
- pub extended_features: u32,
- }
-
- pub struct __c_anonymous_eax_2 {
- pub call_num: u8,
- pub cache_descriptors: [u8; 15],
- }
-
- pub struct __c_anonymous_eax_3 {
- __reserved: [u32; 2],
- pub serial_number_high: u32,
- pub serial_number_low: u32,
- }
-
- pub struct __c_anonymous_regs {
- pub eax: u32,
- pub ebx: u32,
- pub edx: u32,
- pub ecx: u32,
- }
-}
-
-s_no_extra_traits! {
- #[cfg(libc_union)]
- pub union cpuid_info {
- pub eax_0: __c_anonymous_eax_0,
- pub eax_1: __c_anonymous_eax_1,
- pub eax_2: __c_anonymous_eax_2,
- pub eax_3: __c_anonymous_eax_3,
- pub as_chars: [::c_char; 16],
- pub regs: __c_anonymous_regs,
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- #[cfg(libc_union)]
- impl PartialEq for cpuid_info {
- fn eq(&self, other: &cpuid_info) -> bool {
- unsafe {
- self.eax_0 == other.eax_0
- || self.eax_1 == other.eax_1
- || self.eax_2 == other.eax_2
- || self.eax_3 == other.eax_3
- || self.as_chars == other.as_chars
- || self.regs == other.regs
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for cpuid_info {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for cpuid_info {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("cpuid_info")
- .field("eax_0", &self.eax_0)
- .field("eax_1", &self.eax_1)
- .field("eax_2", &self.eax_2)
- .field("eax_3", &self.eax_3)
- .field("as_chars", &self.as_chars)
- .field("regs", &self.regs)
- .finish()
- }
- }
- }
- }
}
// kernel/OS.h
@@ -878,22 +738,12 @@ extern "C" {
pub fn rename_thread(thread: thread_id, newName: *const ::c_char) -> status_t;
pub fn set_thread_priority(thread: thread_id, newPriority: i32) -> status_t;
- pub fn suggest_thread_priority(
- task_flags: be_task_flags,
- period: i32,
- jitter: ::bigtime_t,
- length: ::bigtime_t,
- ) -> i32;
- pub fn estimate_max_scheduling_latency(th: ::thread_id) -> ::bigtime_t;
pub fn exit_thread(status: status_t);
pub fn wait_for_thread(thread: thread_id, returnValue: *mut status_t) -> status_t;
pub fn on_exit_thread(callback: extern "C" fn(*mut ::c_void), data: *mut ::c_void) -> status_t;
pub fn find_thread(name: *const ::c_char) -> thread_id;
- pub fn get_scheduler_mode() -> i32;
- pub fn set_scheduler_mode(mode: i32) -> status_t;
-
pub fn send_data(
thread: thread_id,
code: i32,
@@ -936,7 +786,7 @@ extern "C" {
pub fn debugger(message: *const ::c_char);
pub fn disable_debugger(state: ::c_int) -> ::c_int;
- pub fn get_cpuid(info: *mut cpuid_info, eaxRegister: u32, cpuNum: u32) -> status_t;
+ // TODO: cpuid_info struct and the get_cpuid() function
pub fn get_system_info(info: *mut system_info) -> status_t;
pub fn get_cpu_info(firstCPU: u32, cpuCount: u32, info: *mut cpu_info) -> status_t;
@@ -1075,13 +925,6 @@ extern "C" {
info: *mut image_info,
size: ::size_t,
) -> status_t;
- pub fn find_path(
- codePointer: *const ::c_void,
- baseDirectory: path_base_directory,
- subPath: *const ::c_char,
- pathBuffer: *mut ::c_char,
- bufferSize: usize,
- ) -> status_t;
}
// The following functions are defined as macros in C/C++
diff --git a/src/unix/haiku/x86_64.rs b/src/unix/haiku/x86_64.rs
deleted file mode 100644
index 1b0462f2..00000000
--- a/src/unix/haiku/x86_64.rs
+++ /dev/null
@@ -1,264 +0,0 @@
-s_no_extra_traits! {
- pub struct fpu_state {
- pub control: ::c_ushort,
- pub status: ::c_ushort,
- pub tag: ::c_ushort,
- pub opcode: ::c_ushort,
- pub rip: ::c_ulong,
- pub rdp: ::c_ulong,
- pub mxcsr: ::c_uint,
- pub mscsr_mask: ::c_uint,
- pub _fpreg: [[::c_uchar; 8]; 16],
- pub _xmm: [[::c_uchar; 16]; 16],
- pub _reserved_416_511: [::c_uchar; 96],
- }
-
- pub struct xstate_hdr {
- pub bv: ::c_ulong,
- pub xcomp_bv: ::c_ulong,
- pub _reserved: [::c_uchar; 48],
- }
-
- pub struct savefpu {
- pub fp_fxsave: fpu_state,
- pub fp_xstate: xstate_hdr,
- pub _fp_ymm: [[::c_uchar; 16]; 16],
- }
-
- pub struct mcontext_t {
- pub rax: ::c_ulong,
- pub rbx: ::c_ulong,
- pub rcx: ::c_ulong,
- pub rdx: ::c_ulong,
- pub rdi: ::c_ulong,
- pub rsi: ::c_ulong,
- pub rbp: ::c_ulong,
- pub r8: ::c_ulong,
- pub r9: ::c_ulong,
- pub r10: ::c_ulong,
- pub r11: ::c_ulong,
- pub r12: ::c_ulong,
- pub r13: ::c_ulong,
- pub r14: ::c_ulong,
- pub r15: ::c_ulong,
- pub rsp: ::c_ulong,
- pub rip: ::c_ulong,
- pub rflags: ::c_ulong,
- pub fpu: savefpu,
- }
-
- pub struct ucontext_t {
- pub uc_link: *mut ucontext_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_stack: ::stack_t,
- pub uc_mcontext: mcontext_t,
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- impl PartialEq for fpu_state {
- fn eq(&self, other: &fpu_state) -> bool {
- self.control == other.control
- && self.status == other.status
- && self.tag == other.tag
- && self.opcode == other.opcode
- && self.rip == other.rip
- && self.rdp == other.rdp
- && self.mxcsr == other.mxcsr
- && self.mscsr_mask == other.mscsr_mask
- && self._fpreg.iter().zip(other._fpreg.iter()).all(|(a, b)| a == b)
- && self._xmm.iter().zip(other._xmm.iter()).all(|(a, b)| a == b)
- && self._reserved_416_511.
- iter().
- zip(other._reserved_416_511.iter()).
- all(|(a, b)| a == b)
- }
- }
- impl Eq for fpu_state {}
- impl ::fmt::Debug for fpu_state {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("fpu_state")
- .field("control", &self.control)
- .field("status", &self.status)
- .field("tag", &self.tag)
- .field("opcode", &self.opcode)
- .field("rip", &self.rip)
- .field("rdp", &self.rdp)
- .field("mxcsr", &self.mxcsr)
- .field("mscsr_mask", &self.mscsr_mask)
- // FIXME: .field("_fpreg", &self._fpreg)
- // FIXME: .field("_xmm", &self._xmm)
- // FIXME: .field("_reserved_416_511", &self._reserved_416_511)
- .finish()
- }
- }
- impl ::hash::Hash for fpu_state {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.control.hash(state);
- self.status.hash(state);
- self.tag.hash(state);
- self.opcode.hash(state);
- self.rip.hash(state);
- self.rdp.hash(state);
- self.mxcsr.hash(state);
- self.mscsr_mask.hash(state);
- self._fpreg.hash(state);
- self._xmm.hash(state);
- self._reserved_416_511.hash(state);
- }
- }
-
- impl PartialEq for xstate_hdr {
- fn eq(&self, other: &xstate_hdr) -> bool {
- self.bv == other.bv
- && self.xcomp_bv == other.xcomp_bv
- && self._reserved.iter().zip(other._reserved.iter()).all(|(a, b)| a == b)
- }
- }
- impl Eq for xstate_hdr {}
- impl ::fmt::Debug for xstate_hdr {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("xstate_hdr")
- .field("bv", &self.bv)
- .field("xcomp_bv", &self.xcomp_bv)
- // FIXME: .field("_reserved", &field._reserved)
- .finish()
- }
- }
- impl ::hash::Hash for xstate_hdr {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.bv.hash(state);
- self.xcomp_bv.hash(state);
- self._reserved.hash(state);
- }
- }
-
- impl PartialEq for savefpu {
- fn eq(&self, other: &savefpu) -> bool {
- self.fp_fxsave == other.fp_fxsave
- && self.fp_xstate == other.fp_xstate
- && self._fp_ymm.iter().zip(other._fp_ymm.iter()).all(|(a, b)| a == b)
- }
- }
- impl Eq for savefpu {}
- impl ::fmt::Debug for savefpu {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("savefpu")
- .field("fp_fxsave", &self.fp_fxsave)
- .field("fp_xstate", &self.fp_xstate)
- // FIXME: .field("_fp_ymm", &field._fp_ymm)
- .finish()
- }
- }
- impl ::hash::Hash for savefpu {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.fp_fxsave.hash(state);
- self.fp_xstate.hash(state);
- self._fp_ymm.hash(state);
- }
- }
-
- impl PartialEq for mcontext_t {
- fn eq(&self, other: &mcontext_t) -> bool {
- self.rax == other.rax
- && self.rbx == other.rbx
- && self.rbx == other.rbx
- && self.rcx == other.rcx
- && self.rdx == other.rdx
- && self.rdi == other.rdi
- && self.rsi == other.rsi
- && self.r8 == other.r8
- && self.r9 == other.r9
- && self.r10 == other.r10
- && self.r11 == other.r11
- && self.r12 == other.r12
- && self.r13 == other.r13
- && self.r14 == other.r14
- && self.r15 == other.r15
- && self.rsp == other.rsp
- && self.rip == other.rip
- && self.rflags == other.rflags
- && self.fpu == other.fpu
- }
- }
- 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("rax", &self.rax)
- .field("rbx", &self.rbx)
- .field("rcx", &self.rcx)
- .field("rdx", &self.rdx)
- .field("rdi", &self.rdi)
- .field("rsi", &self.rsi)
- .field("rbp", &self.rbp)
- .field("r8", &self.r8)
- .field("r9", &self.r9)
- .field("r10", &self.r10)
- .field("r11", &self.r11)
- .field("r12", &self.r12)
- .field("r13", &self.r13)
- .field("r14", &self.r14)
- .field("r15", &self.r15)
- .field("rsp", &self.rsp)
- .field("rip", &self.rip)
- .field("rflags", &self.rflags)
- .field("fpu", &self.fpu)
- .finish()
-
- }
- }
- impl ::hash::Hash for mcontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.rax.hash(state);
- self.rbx.hash(state);
- self.rcx.hash(state);
- self.rdx.hash(state);
- self.rdi.hash(state);
- self.rsi.hash(state);
- self.rbp.hash(state);
- self.r8.hash(state);
- self.r9.hash(state);
- self.r10.hash(state);
- self.r11.hash(state);
- self.r12.hash(state);
- self.r13.hash(state);
- self.r14.hash(state);
- self.r15.hash(state);
- self.rsp.hash(state);
- self.rip.hash(state);
- self.rflags.hash(state);
- self.fpu.hash(state);
- }
- }
-
- impl PartialEq for ucontext_t {
- fn eq(&self, other: &ucontext_t) -> bool {
- self.uc_link == other.uc_link
- && self.uc_sigmask == other.uc_sigmask
- && self.uc_stack == other.uc_stack
- && self.uc_mcontext == other.uc_mcontext
- }
- }
- impl Eq for ucontext_t {}
- impl ::fmt::Debug for ucontext_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("ucontext_t")
- .field("uc_link", &self.uc_link)
- .field("uc_sigmask", &self.uc_sigmask)
- .field("uc_stack", &self.uc_stack)
- .field("uc_mcontext", &self.uc_mcontext)
- .finish()
- }
- }
- impl ::hash::Hash for ucontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.uc_link.hash(state);
- self.uc_sigmask.hash(state);
- self.uc_stack.hash(state);
- self.uc_mcontext.hash(state);
- }
- }
- }
-}
diff --git a/src/unix/linux_like/android/b32/arm.rs b/src/unix/linux_like/android/b32/arm.rs
index 092e972e..6fd47679 100644
--- a/src/unix/linux_like/android/b32/arm.rs
+++ b/src/unix/linux_like/android/b32/arm.rs
@@ -138,7 +138,7 @@ cfg_if! {
self.uc_stack.hash(state);
self.uc_mcontext.hash(state);
self.uc_sigmask__c_anonymous_union.hash(state);
- self.uc_regspace[..].hash(state);
+ &self.uc_regspace[..].hash(state);
// Ignore padding field
}
}
diff --git a/src/unix/linux_like/android/b32/mod.rs b/src/unix/linux_like/android/b32/mod.rs
index fabf3838..77469070 100644
--- a/src/unix/linux_like/android/b32/mod.rs
+++ b/src/unix/linux_like/android/b32/mod.rs
@@ -8,7 +8,6 @@ pub type off64_t = ::c_longlong;
pub type sigset_t = ::c_ulong;
pub type socklen_t = i32;
pub type time64_t = i64;
-pub type __u64 = ::c_ulonglong;
s! {
pub struct sigaction {
@@ -28,7 +27,7 @@ s! {
__pad0: [::c_uchar; 4],
__st_ino: ::ino_t,
pub st_mode: ::c_uint,
- pub st_nlink: ::nlink_t,
+ pub st_nlink: ::c_uint,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
pub st_rdev: ::c_ulonglong,
@@ -50,7 +49,7 @@ s! {
__pad0: [::c_uchar; 4],
__st_ino: ::ino_t,
pub st_mode: ::c_uint,
- pub st_nlink: ::nlink_t,
+ pub st_nlink: ::c_uint,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
pub st_rdev: ::c_ulonglong,
@@ -120,14 +119,6 @@ s! {
__reserved: [::c_char; 12],
}
- pub struct pthread_barrier_t {
- __private: [i32; 8],
- }
-
- pub struct pthread_spinlock_t {
- __private: [i32; 2],
- }
-
pub struct passwd {
pub pw_name: *mut ::c_char,
pub pw_passwd: *mut ::c_char,
diff --git a/src/unix/linux_like/android/b64/aarch64/mod.rs b/src/unix/linux_like/android/b64/aarch64/mod.rs
index 35c9914f..316596f5 100644
--- a/src/unix/linux_like/android/b64/aarch64/mod.rs
+++ b/src/unix/linux_like/android/b64/aarch64/mod.rs
@@ -1,13 +1,12 @@
pub type c_char = u8;
pub type wchar_t = u32;
-pub type __u64 = ::c_ulonglong;
s! {
pub struct stat {
pub st_dev: ::dev_t,
pub st_ino: ::ino_t,
pub st_mode: ::c_uint,
- pub st_nlink: ::nlink_t,
+ pub st_nlink: ::c_uint,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
pub st_rdev: ::dev_t,
@@ -30,7 +29,7 @@ s! {
pub st_dev: ::dev_t,
pub st_ino: ::ino_t,
pub st_mode: ::c_uint,
- pub st_nlink: ::nlink_t,
+ pub st_nlink: ::c_uint,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
pub st_rdev: ::dev_t,
@@ -48,13 +47,6 @@ s! {
__unused4: ::c_uint,
__unused5: ::c_uint,
}
-
- pub struct user_regs_struct {
- pub regs: [u64; 31],
- pub sp: u64,
- pub pc: u64,
- pub pstate: u64,
- }
}
pub const O_DIRECT: ::c_int = 0x10000;
@@ -133,7 +125,6 @@ pub const SYS_epoll_ctl: ::c_long = 21;
pub const SYS_epoll_pwait: ::c_long = 22;
pub const SYS_dup: ::c_long = 23;
pub const SYS_dup3: ::c_long = 24;
-pub const SYS_fcntl: ::c_long = 25;
pub const SYS_inotify_init1: ::c_long = 26;
pub const SYS_inotify_add_watch: ::c_long = 27;
pub const SYS_inotify_rm_watch: ::c_long = 28;
diff --git a/src/unix/linux_like/android/b64/mod.rs b/src/unix/linux_like/android/b64/mod.rs
index 0995c541..c23e2dbf 100644
--- a/src/unix/linux_like/android/b64/mod.rs
+++ b/src/unix/linux_like/android/b64/mod.rs
@@ -105,14 +105,6 @@ s! {
pub f_namemax: ::c_ulong,
__f_spare: [::c_int; 6],
}
-
- pub struct pthread_barrier_t {
- __private: [i64; 4],
- }
-
- pub struct pthread_spinlock_t {
- __private: i64,
- }
}
s_no_extra_traits! {
@@ -331,12 +323,6 @@ f! {
extern "C" {
pub fn getauxval(type_: ::c_ulong) -> ::c_ulong;
- pub fn __system_property_wait(
- pi: *const ::prop_info,
- __old_serial: u32,
- __new_serial_ptr: *mut u32,
- __relative_timeout: *const ::timespec,
- ) -> bool;
}
cfg_if! {
diff --git a/src/unix/linux_like/android/b64/x86_64/mod.rs b/src/unix/linux_like/android/b64/x86_64/mod.rs
index 6be2afd0..5b559dde 100644
--- a/src/unix/linux_like/android/b64/x86_64/mod.rs
+++ b/src/unix/linux_like/android/b64/x86_64/mod.rs
@@ -1,7 +1,6 @@
pub type c_char = i8;
pub type wchar_t = i32;
pub type greg_t = i64;
-pub type __u64 = ::c_ulonglong;
s! {
pub struct stat {
diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs
index fe2d2096..541b40f3 100644
--- a/src/unix/linux_like/android/mod.rs
+++ b/src/unix/linux_like/android/mod.rs
@@ -11,7 +11,6 @@ pub type useconds_t = u32;
pub type pthread_t = ::c_long;
pub type pthread_mutexattr_t = ::c_long;
pub type pthread_rwlockattr_t = ::c_long;
-pub type pthread_barrierattr_t = ::c_int;
pub type pthread_condattr_t = ::c_long;
pub type pthread_key_t = ::c_int;
pub type fsfilcnt_t = ::c_ulong;
@@ -27,25 +26,6 @@ pub type loff_t = ::c_longlong;
pub type __kernel_loff_t = ::c_longlong;
pub type __kernel_pid_t = ::c_int;
-pub type __u8 = ::c_uchar;
-pub type __u16 = ::c_ushort;
-pub type __s16 = ::c_short;
-pub type __u32 = ::c_uint;
-pub type __s32 = ::c_int;
-
-// linux/elf.h
-
-pub type Elf32_Addr = u32;
-pub type Elf32_Half = u16;
-pub type Elf32_Off = u32;
-pub type Elf32_Word = u32;
-
-pub type Elf64_Addr = u64;
-pub type Elf64_Half = u16;
-pub type Elf64_Off = u64;
-pub type Elf64_Word = u32;
-pub type Elf64_Xword = u64;
-
s! {
pub struct stack_t {
pub ss_sp: *mut ::c_void,
@@ -93,19 +73,6 @@ s! {
pub c_ospeed: ::speed_t,
}
- pub struct mallinfo {
- pub arena: ::size_t,
- pub ordblks: ::size_t,
- pub smblks: ::size_t,
- pub hblks: ::size_t,
- pub hblkhd: ::size_t,
- pub usmblks: ::size_t,
- pub fsmblks: ::size_t,
- pub uordblks: ::size_t,
- pub fordblks: ::size_t,
- pub keepcost: ::size_t,
- }
-
pub struct flock {
pub l_type: ::c_short,
pub l_whence: ::c_short,
@@ -277,84 +244,6 @@ s! {
pub svm_cid: ::c_uint,
pub svm_zero: [u8; 4]
}
-
- // linux/elf.h
-
- pub struct Elf32_Phdr {
- pub p_type: Elf32_Word,
- pub p_offset: Elf32_Off,
- pub p_vaddr: Elf32_Addr,
- pub p_paddr: Elf32_Addr,
- pub p_filesz: Elf32_Word,
- pub p_memsz: Elf32_Word,
- pub p_flags: Elf32_Word,
- pub p_align: Elf32_Word,
- }
-
- pub struct Elf64_Phdr {
- pub p_type: Elf64_Word,
- pub p_flags: Elf64_Word,
- pub p_offset: Elf64_Off,
- pub p_vaddr: Elf64_Addr,
- pub p_paddr: Elf64_Addr,
- pub p_filesz: Elf64_Xword,
- pub p_memsz: Elf64_Xword,
- pub p_align: Elf64_Xword,
- }
-
- // link.h
-
- pub struct dl_phdr_info {
- #[cfg(target_pointer_width = "64")]
- pub dlpi_addr: Elf64_Addr,
- #[cfg(target_pointer_width = "32")]
- pub dlpi_addr: Elf32_Addr,
-
- pub dlpi_name: *const ::c_char,
-
- #[cfg(target_pointer_width = "64")]
- pub dlpi_phdr: *const Elf64_Phdr,
- #[cfg(target_pointer_width = "32")]
- pub dlpi_phdr: *const Elf32_Phdr,
-
- #[cfg(target_pointer_width = "64")]
- pub dlpi_phnum: Elf64_Half,
- #[cfg(target_pointer_width = "32")]
- pub dlpi_phnum: Elf32_Half,
-
- // These fields were added in Android R
- pub dlpi_adds: ::c_ulonglong,
- pub dlpi_subs: ::c_ulonglong,
- pub dlpi_tls_modid: ::size_t,
- pub dlpi_tls_data: *mut ::c_void,
- }
-
- // linux/filter.h
- pub struct sock_filter {
- pub code: ::__u16,
- pub jt: ::__u8,
- pub jf: ::__u8,
- pub k: ::__u32,
- }
-
- pub struct sock_fprog {
- pub len: ::c_ushort,
- pub filter: *mut sock_filter,
- }
-
- // linux/seccomp.h
- pub struct seccomp_data {
- pub nr: ::c_int,
- pub arch: ::__u32,
- pub instruction_pointer: ::__u64,
- pub args: [::__u64; 6],
- }
-
- pub struct ptrace_peeksiginfo_args {
- pub off: ::__u64,
- pub flags: ::__u32,
- pub nr: ::__s32,
- }
}
s_no_extra_traits! {
@@ -428,12 +317,6 @@ s_no_extra_traits! {
pub ivlen: u32,
pub iv: [::c_uchar; 0],
}
-
- pub struct prop_info {
- __name: [::c_char; 32],
- __serial: ::c_uint,
- __value: [[::c_char; 4]; 23],
- }
}
cfg_if! {
@@ -752,24 +635,6 @@ cfg_if! {
self.as_slice().hash(state);
}
}
-
- impl PartialEq for prop_info {
- fn eq(&self, other: &prop_info) -> bool {
- self.__name == other.__name &&
- self.__serial == other.__serial &&
- self.__value == other.__value
- }
- }
- impl Eq for prop_info {}
- impl ::fmt::Debug for prop_info {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("prop_info")
- .field("__name", &self.__name)
- .field("__serial", &self.__serial)
- .field("__value", &self.__value)
- .finish()
- }
- }
}
}
@@ -798,6 +663,9 @@ pub const EPROTO: ::c_int = 71;
pub const EDOTDOT: ::c_int = 73;
pub const EPOLL_CLOEXEC: ::c_int = 0x80000;
+pub const EPOLLONESHOT: ::c_int = 0x40000000;
+pub const EPOLLRDHUP: ::c_int = 0x00002000;
+pub const EPOLLWAKEUP: ::c_int = 0x20000000;
// sys/eventfd.h
pub const EFD_SEMAPHORE: ::c_int = 0x1;
@@ -812,8 +680,6 @@ pub const TFD_TIMER_CANCEL_ON_SET: ::c_int = 2;
pub const USER_PROCESS: ::c_short = 7;
-pub const _POSIX_VDISABLE: ::cc_t = 0;
-
// linux/falloc.h
pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
@@ -992,12 +858,6 @@ pub const F_TEST: ::c_int = 3;
pub const F_TLOCK: ::c_int = 2;
pub const F_ULOCK: ::c_int = 0;
-pub const F_SEAL_FUTURE_WRITE: ::c_int = 0x0010;
-
-pub const IFF_LOWER_UP: ::c_int = 0x10000;
-pub const IFF_DORMANT: ::c_int = 0x20000;
-pub const IFF_ECHO: ::c_int = 0x40000;
-
pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 1;
pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2;
@@ -1216,9 +1076,6 @@ pub const SO_SNDLOWAT: ::c_int = 19;
pub const SO_RCVTIMEO: ::c_int = 20;
pub const SO_SNDTIMEO: ::c_int = 21;
pub const SO_BINDTODEVICE: ::c_int = 25;
-pub const SO_ATTACH_FILTER: ::c_int = 26;
-pub const SO_DETACH_FILTER: ::c_int = 27;
-pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
pub const SO_TIMESTAMP: ::c_int = 29;
pub const SO_ACCEPTCONN: ::c_int = 30;
pub const SO_PEERSEC: ::c_int = 31;
@@ -1232,6 +1089,8 @@ pub const SO_RXQ_OVFL: ::c_int = 40;
pub const SO_PEEK_OFF: ::c_int = 42;
pub const SO_BUSY_POLL: ::c_int = 46;
+pub const TCP_ULP: ::c_int = 31;
+
pub const IPTOS_ECN_NOTECT: u8 = 0x00;
pub const O_ACCMODE: ::c_int = 3;
@@ -1269,6 +1128,33 @@ pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
pub const EXTPROC: ::tcflag_t = 0o200000;
+pub const ADFS_SUPER_MAGIC: ::c_long = 0x0000adf5;
+pub const AFFS_SUPER_MAGIC: ::c_long = 0x0000adff;
+pub const CODA_SUPER_MAGIC: ::c_long = 0x73757245;
+pub const CRAMFS_MAGIC: ::c_long = 0x28cd3d45;
+pub const EFS_SUPER_MAGIC: ::c_long = 0x00414a53;
+pub const EXT2_SUPER_MAGIC: ::c_long = 0x0000ef53;
+pub const EXT3_SUPER_MAGIC: ::c_long = 0x0000ef53;
+pub const EXT4_SUPER_MAGIC: ::c_long = 0x0000ef53;
+pub const HPFS_SUPER_MAGIC: ::c_long = 0xf995e849;
+pub const HUGETLBFS_MAGIC: ::c_long = 0x958458f6;
+pub const ISOFS_SUPER_MAGIC: ::c_long = 0x00009660;
+pub const JFFS2_SUPER_MAGIC: ::c_long = 0x000072b6;
+pub const MINIX_SUPER_MAGIC: ::c_long = 0x0000137f;
+pub const MINIX_SUPER_MAGIC2: ::c_long = 0x0000138f;
+pub const MINIX2_SUPER_MAGIC: ::c_long = 0x00002468;
+pub const MINIX2_SUPER_MAGIC2: ::c_long = 0x00002478;
+pub const MSDOS_SUPER_MAGIC: ::c_long = 0x00004d44;
+pub const NCP_SUPER_MAGIC: ::c_long = 0x0000564c;
+pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969;
+pub const OPENPROM_SUPER_MAGIC: ::c_long = 0x00009fa1;
+pub const PROC_SUPER_MAGIC: ::c_long = 0x00009fa0;
+pub const QNX4_SUPER_MAGIC: ::c_long = 0x0000002f;
+pub const REISERFS_SUPER_MAGIC: ::c_long = 0x52654973;
+pub const SMB_SUPER_MAGIC: ::c_long = 0x0000517b;
+pub const TMPFS_MAGIC: ::c_long = 0x01021994;
+pub const USBDEVICE_SUPER_MAGIC: ::c_long = 0x00009fa2;
+
pub const MAP_HUGETLB: ::c_int = 0x040000;
pub const PTRACE_TRACEME: ::c_int = 0;
@@ -1288,8 +1174,6 @@ pub const PTRACE_SETOPTIONS: ::c_int = 0x4200;
pub const PTRACE_GETEVENTMSG: ::c_int = 0x4201;
pub const PTRACE_GETSIGINFO: ::c_int = 0x4202;
pub const PTRACE_SETSIGINFO: ::c_int = 0x4203;
-pub const PTRACE_GETREGSET: ::c_int = 0x4204;
-pub const PTRACE_SETREGSET: ::c_int = 0x4205;
pub const PTRACE_EVENT_STOP: ::c_int = 128;
@@ -1321,17 +1205,12 @@ pub const RLIMIT_MSGQUEUE: ::c_int = 12;
pub const RLIMIT_NICE: ::c_int = 13;
pub const RLIMIT_RTPRIO: ::c_int = 14;
-pub const RLIM_NLIMITS: ::c_int = 16;
pub const RLIM_INFINITY: ::rlim_t = !0;
pub const TCGETS: ::c_int = 0x5401;
pub const TCSETS: ::c_int = 0x5402;
pub const TCSETSW: ::c_int = 0x5403;
pub const TCSETSF: ::c_int = 0x5404;
-pub const TCGETS2: ::c_int = 0x802c542a;
-pub const TCSETS2: ::c_int = 0x402c542b;
-pub const TCSETSW2: ::c_int = 0x402c542c;
-pub const TCSETSF2: ::c_int = 0x402c542d;
pub const TCGETA: ::c_int = 0x5405;
pub const TCSETA: ::c_int = 0x5406;
pub const TCSETAW: ::c_int = 0x5407;
@@ -1525,10 +1404,6 @@ pub const B2500000: ::speed_t = 0o010014;
pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
-pub const IBSHIFT: ::tcflag_t = 16;
-
-pub const BLKSSZGET: ::c_int = 0x1268;
-pub const BLKPBSZGET: ::c_int = 0x127B;
pub const EAI_AGAIN: ::c_int = 2;
pub const EAI_BADFLAGS: ::c_int = 3;
@@ -1782,11 +1657,6 @@ pub const NETLINK_BROADCAST_ERROR: ::c_int = 4;
pub const NETLINK_NO_ENOBUFS: ::c_int = 5;
pub const NETLINK_RX_RING: ::c_int = 6;
pub const NETLINK_TX_RING: ::c_int = 7;
-pub const NETLINK_LISTEN_ALL_NSID: ::c_int = 8;
-pub const NETLINK_LIST_MEMBERSHIPS: ::c_int = 9;
-pub const NETLINK_CAP_ACK: ::c_int = 10;
-pub const NETLINK_EXT_ACK: ::c_int = 11;
-pub const NETLINK_GET_STRICT_CHK: ::c_int = 12;
pub const GRND_NONBLOCK: ::c_uint = 0x0001;
pub const GRND_RANDOM: ::c_uint = 0x0002;
@@ -1795,25 +1665,6 @@ pub const SECCOMP_MODE_DISABLED: ::c_uint = 0;
pub const SECCOMP_MODE_STRICT: ::c_uint = 1;
pub const SECCOMP_MODE_FILTER: ::c_uint = 2;
-pub const SECCOMP_FILTER_FLAG_TSYNC: ::c_ulong = 1;
-pub const SECCOMP_FILTER_FLAG_LOG: ::c_ulong = 2;
-pub const SECCOMP_FILTER_FLAG_SPEC_ALLOW: ::c_ulong = 4;
-pub const SECCOMP_FILTER_FLAG_NEW_LISTENER: ::c_ulong = 8;
-
-pub const SECCOMP_RET_ACTION_FULL: ::c_uint = 0xffff0000;
-pub const SECCOMP_RET_ACTION: ::c_uint = 0x7fff0000;
-pub const SECCOMP_RET_DATA: ::c_uint = 0x0000ffff;
-
-pub const SECCOMP_RET_KILL_PROCESS: ::c_uint = 0x80000000;
-pub const SECCOMP_RET_KILL_THREAD: ::c_uint = 0x00000000;
-pub const SECCOMP_RET_KILL: ::c_uint = SECCOMP_RET_KILL_THREAD;
-pub const SECCOMP_RET_TRAP: ::c_uint = 0x00030000;
-pub const SECCOMP_RET_ERRNO: ::c_uint = 0x00050000;
-pub const SECCOMP_RET_USER_NOTIF: ::c_uint = 0x7fc00000;
-pub const SECCOMP_RET_TRACE: ::c_uint = 0x7ff00000;
-pub const SECCOMP_RET_LOG: ::c_uint = 0x7ffc0000;
-pub const SECCOMP_RET_ALLOW: ::c_uint = 0x7fff0000;
-
pub const NLA_F_NESTED: ::c_int = 1 << 15;
pub const NLA_F_NET_BYTEORDER: ::c_int = 1 << 14;
pub const NLA_TYPE_MASK: ::c_int = !(NLA_F_NESTED | NLA_F_NET_BYTEORDER);
@@ -1866,39 +1717,6 @@ pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY;
pub const MFD_CLOEXEC: ::c_uint = 0x0001;
pub const MFD_ALLOW_SEALING: ::c_uint = 0x0002;
pub const MFD_HUGETLB: ::c_uint = 0x0004;
-pub const MFD_HUGE_64KB: ::c_uint = 0x40000000;
-pub const MFD_HUGE_512KB: ::c_uint = 0x4c000000;
-pub const MFD_HUGE_1MB: ::c_uint = 0x50000000;
-pub const MFD_HUGE_2MB: ::c_uint = 0x54000000;
-pub const MFD_HUGE_8MB: ::c_uint = 0x5c000000;
-pub const MFD_HUGE_16MB: ::c_uint = 0x60000000;
-pub const MFD_HUGE_32MB: ::c_uint = 0x64000000;
-pub const MFD_HUGE_256MB: ::c_uint = 0x70000000;
-pub const MFD_HUGE_512MB: ::c_uint = 0x74000000;
-pub const MFD_HUGE_1GB: ::c_uint = 0x78000000;
-pub const MFD_HUGE_2GB: ::c_uint = 0x7c000000;
-pub const MFD_HUGE_16GB: ::c_uint = 0x88000000;
-pub const MFD_HUGE_MASK: ::c_uint = 63;
-pub const MFD_HUGE_SHIFT: ::c_uint = 26;
-
-// these are used in the p_type field of Elf32_Phdr and Elf64_Phdr, which has
-// the type Elf32Word and Elf64Word respectively. Luckily, both of those are u32
-// so we can use that type here to avoid having to cast.
-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_GNU_EH_FRAME: u32 = 0x6474e550;
-pub const PT_GNU_STACK: u32 = 0x6474e551;
-pub const PT_GNU_RELRO: u32 = 0x6474e552;
-pub const PT_HIOS: u32 = 0x6fffffff;
-pub const PT_LOPROC: u32 = 0x70000000;
-pub const PT_HIPROC: u32 = 0x7fffffff;
// linux/netfilter.h
pub const NF_DROP: ::c_int = 0;
@@ -2168,20 +1986,9 @@ pub const NFT_TRACETYPE_RULE: ::c_int = 3;
pub const NFT_NG_INCREMENTAL: ::c_int = 0;
pub const NFT_NG_RANDOM: ::c_int = 1;
-// bionic/libc/kernel/uapi/linux/if_tun.h
pub const IFF_TUN: ::c_int = 0x0001;
pub const IFF_TAP: ::c_int = 0x0002;
-pub const IFF_NAPI: ::c_int = 0x0010;
-pub const IFF_NAPI_FRAGS: ::c_int = 0x0020;
pub const IFF_NO_PI: ::c_int = 0x1000;
-pub const IFF_ONE_QUEUE: ::c_int = 0x2000;
-pub const IFF_VNET_HDR: ::c_int = 0x4000;
-pub const IFF_TUN_EXCL: ::c_int = 0x8000;
-pub const IFF_MULTI_QUEUE: ::c_int = 0x0100;
-pub const IFF_ATTACH_QUEUE: ::c_int = 0x0200;
-pub const IFF_DETACH_QUEUE: ::c_int = 0x0400;
-pub const IFF_PERSIST: ::c_int = 0x0800;
-pub const IFF_NOFILTER: ::c_int = 0x1000;
// start android/platform/bionic/libc/kernel/uapi/linux/if_ether.h
// from https://android.googlesource.com/
@@ -2343,9 +2150,6 @@ pub const ALG_SET_AEAD_AUTHSIZE: ::c_int = 5;
pub const ALG_OP_DECRYPT: ::c_int = 0;
pub const ALG_OP_ENCRYPT: ::c_int = 1;
-// sys/mman.h
-pub const MLOCK_ONFAULT: ::c_int = 0x01;
-
// uapi/linux/vm_sockets.h
pub const VMADDR_CID_ANY: ::c_uint = 0xFFFFFFFF;
pub const VMADDR_CID_HYPERVISOR: ::c_uint = 0;
@@ -2471,17 +2275,6 @@ pub const SCHED_BATCH: ::c_int = 3;
pub const SCHED_IDLE: ::c_int = 5;
pub const SCHED_DEADLINE: ::c_int = 6;
-pub const SCHED_RESET_ON_FORK: ::c_int = 0x40000000;
-
-pub const CLONE_PIDFD: ::c_int = 0x1000;
-
-// linux/mempolicy.h
-pub const MPOL_DEFAULT: ::c_int = 0;
-pub const MPOL_PREFERRED: ::c_int = 1;
-pub const MPOL_BIND: ::c_int = 2;
-pub const MPOL_INTERLEAVE: ::c_int = 3;
-pub const MPOL_LOCAL: ::c_int = 4;
-
// bits/seek_constants.h
pub const SEEK_DATA: ::c_int = 3;
pub const SEEK_HOLE: ::c_int = 4;
@@ -2493,19 +2286,9 @@ pub const PF_NFC: ::c_int = AF_NFC;
pub const PF_VSOCK: ::c_int = AF_VSOCK;
// sys/prctl.h
-pub const PR_SET_PDEATHSIG: ::c_int = 1;
-pub const PR_GET_PDEATHSIG: ::c_int = 2;
pub const PR_GET_SECUREBITS: ::c_int = 27;
pub const PR_SET_SECUREBITS: ::c_int = 28;
-// sys/system_properties.h
-pub const PROP_VALUE_MAX: ::c_int = 92;
-pub const PROP_NAME_MAX: ::c_int = 32;
-
-// sys/prctl.h
-pub const PR_SET_VMA: ::c_int = 0x53564d41;
-pub const PR_SET_VMA_ANON_NAME: ::c_int = 0;
-
f! {
pub fn CMSG_NXTHDR(mhdr: *const msghdr,
cmsg: *const cmsghdr) -> *mut cmsghdr {
@@ -2521,12 +2304,6 @@ f! {
}
}
- pub fn CPU_ALLOC_SIZE(count: ::c_int) -> ::size_t {
- let _dummy: cpu_set_t = ::mem::zeroed();
- let size_in_bits = 8 * ::mem::size_of_val(&_dummy.__bits[0]);
- ((count as ::size_t + size_in_bits - 1) / 8) as ::size_t
- }
-
pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
for slot in cpuset.__bits.iter_mut() {
*slot = 0;
@@ -2534,44 +2311,28 @@ f! {
}
pub fn CPU_SET(cpu: usize, cpuset: &mut cpu_set_t) -> () {
- let size_in_bits
- = 8 * ::mem::size_of_val(&cpuset.__bits[0]); // 32, 64 etc
- let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits);
+ let size_in___bits = 8 * ::mem::size_of_val(&cpuset.__bits[0]);
+ let (idx, offset) = (cpu / size_in___bits, cpu % size_in___bits);
cpuset.__bits[idx] |= 1 << offset;
()
}
pub fn CPU_CLR(cpu: usize, cpuset: &mut cpu_set_t) -> () {
- let size_in_bits
- = 8 * ::mem::size_of_val(&cpuset.__bits[0]); // 32, 64 etc
- let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits);
+ let size_in___bits = 8 * ::mem::size_of_val(&cpuset.__bits[0]);
+ let (idx, offset) = (cpu / size_in___bits, cpu % size_in___bits);
cpuset.__bits[idx] &= !(1 << offset);
()
}
pub fn CPU_ISSET(cpu: usize, cpuset: &cpu_set_t) -> bool {
- let size_in_bits = 8 * ::mem::size_of_val(&cpuset.__bits[0]);
- let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits);
+ let size_in___bits = 8 * ::mem::size_of_val(&cpuset.__bits[0]);
+ let (idx, offset) = (cpu / size_in___bits, cpu % size_in___bits);
0 != (cpuset.__bits[idx] & (1 << offset))
}
- pub fn CPU_COUNT_S(size: usize, cpuset: &cpu_set_t) -> ::c_int {
- let mut s: u32 = 0;
- let size_of_mask = ::mem::size_of_val(&cpuset.__bits[0]);
- for i in cpuset.__bits[..(size / size_of_mask)].iter() {
- s += i.count_ones();
- };
- s as ::c_int
- }
-
- pub fn CPU_COUNT(cpuset: &cpu_set_t) -> ::c_int {
- CPU_COUNT_S(::mem::size_of::<cpu_set_t>(), cpuset)
- }
-
pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool {
set1.__bits == set2.__bits
}
-
pub fn major(dev: ::dev_t) -> ::c_int {
((dev >> 8) & 0xfff) as ::c_int
}
@@ -2613,7 +2374,6 @@ extern "C" {
pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int;
pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int;
- pub fn mlock2(addr: *const ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int;
pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
pub fn msync(addr: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int;
@@ -2660,11 +2420,6 @@ extern "C" {
pub fn __sched_cpufree(set: *mut ::cpu_set_t);
pub fn __sched_cpucount(setsize: ::size_t, set: *const cpu_set_t) -> ::c_int;
pub fn sched_getcpu() -> ::c_int;
- pub fn mallinfo() -> ::mallinfo;
- // available from API 23
- pub fn malloc_info(options: ::c_int, stream: *mut ::FILE) -> ::c_int;
-
- pub fn malloc_usable_size(ptr: *const ::c_void) -> ::size_t;
pub fn utmpname(name: *const ::c_char) -> ::c_int;
pub fn setutent();
@@ -2799,28 +2554,6 @@ extern "C" {
lock: *mut pthread_mutex_t,
abstime: *const ::timespec,
) -> ::c_int;
- pub fn pthread_barrierattr_init(attr: *mut ::pthread_barrierattr_t) -> ::c_int;
- pub fn pthread_barrierattr_destroy(attr: *mut ::pthread_barrierattr_t) -> ::c_int;
- pub fn pthread_barrierattr_getpshared(
- attr: *const ::pthread_barrierattr_t,
- shared: *mut ::c_int,
- ) -> ::c_int;
- pub fn pthread_barrierattr_setpshared(
- attr: *mut ::pthread_barrierattr_t,
- shared: ::c_int,
- ) -> ::c_int;
- pub fn pthread_barrier_init(
- barrier: *mut pthread_barrier_t,
- attr: *const ::pthread_barrierattr_t,
- count: ::c_uint,
- ) -> ::c_int;
- pub fn pthread_barrier_destroy(barrier: *mut pthread_barrier_t) -> ::c_int;
- pub fn pthread_barrier_wait(barrier: *mut pthread_barrier_t) -> ::c_int;
- pub fn pthread_spin_init(lock: *mut ::pthread_spinlock_t, pshared: ::c_int) -> ::c_int;
- pub fn pthread_spin_destroy(lock: *mut ::pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_lock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_trylock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_unlock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
pub fn clone(
cb: extern "C" fn(*mut ::c_void) -> ::c_int,
child_stack: *mut ::c_void,
@@ -2984,36 +2717,6 @@ extern "C" {
pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
pub fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int;
-
- pub fn __system_property_set(__name: *const ::c_char, __value: *const ::c_char) -> ::c_int;
- pub fn __system_property_get(__name: *const ::c_char, __value: *mut ::c_char) -> ::c_int;
- pub fn __system_property_find(__name: *const ::c_char) -> *const prop_info;
- pub fn __system_property_find_nth(__n: ::c_uint) -> *const prop_info;
- pub fn __system_property_foreach(
- __callback: unsafe extern "C" fn(__pi: *const prop_info, __cookie: *mut ::c_void),
- __cookie: *mut ::c_void,
- ) -> ::c_int;
-
- // #include <link.h>
- /// Only available in API Version 21+
- pub fn dl_iterate_phdr(
- callback: ::Option<
- unsafe extern "C" fn(
- info: *mut dl_phdr_info,
- size: usize,
- data: *mut ::c_void,
- ) -> ::c_int,
- >,
- data: *mut ::c_void,
- ) -> ::c_int;
-
- pub fn arc4random() -> u32;
- pub fn arc4random_uniform(__upper_bound: u32) -> u32;
- pub fn arc4random_buf(__buf: *mut ::c_void, __n: ::size_t);
-
- pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;
-
- pub fn pthread_getcpuclockid(thread: ::pthread_t, clk_id: *mut ::clockid_t) -> ::c_int;
}
cfg_if! {
diff --git a/src/unix/linux_like/emscripten/mod.rs b/src/unix/linux_like/emscripten/mod.rs
index 5494aad3..ee9d4d4d 100644
--- a/src/unix/linux_like/emscripten/mod.rs
+++ b/src/unix/linux_like/emscripten/mod.rs
@@ -899,6 +899,8 @@ pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void;
pub const RTLD_NODELETE: ::c_int = 0x1000;
pub const RTLD_NOW: ::c_int = 0x2;
+pub const TCP_MD5SIG: ::c_int = 14;
+
align_const! {
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
size: [0; __SIZEOF_PTHREAD_MUTEX_T],
@@ -965,6 +967,10 @@ pub const SHM_UNLOCK: ::c_int = 12;
pub const SHM_HUGETLB: ::c_int = 0o4000;
pub const SHM_NORESERVE: ::c_int = 0o10000;
+pub const EPOLLRDHUP: ::c_int = 0x2000;
+pub const EPOLLEXCLUSIVE: ::c_int = 0x10000000;
+pub const EPOLLONESHOT: ::c_int = 0x40000000;
+
pub const QFMT_VFS_OLD: ::c_int = 1;
pub const QFMT_VFS_V0: ::c_int = 2;
@@ -1149,6 +1155,9 @@ pub const ITIMER_REAL: ::c_int = 0;
pub const ITIMER_VIRTUAL: ::c_int = 1;
pub const ITIMER_PROF: ::c_int = 2;
+pub const XATTR_CREATE: ::c_int = 0x1;
+pub const XATTR_REPLACE: ::c_int = 0x2;
+
pub const _POSIX_VDISABLE: ::cc_t = 0;
pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
@@ -1328,10 +1337,19 @@ pub const POSIX_MADV_DONTNEED: ::c_int = 0;
pub const RLIM_INFINITY: ::rlim_t = !0;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const MAP_ANONYMOUS: ::c_int = MAP_ANON;
+pub const TCP_THIN_LINEAR_TIMEOUTS: ::c_int = 16;
+pub const TCP_THIN_DUPACK: ::c_int = 17;
+pub const TCP_USER_TIMEOUT: ::c_int = 18;
+pub const TCP_REPAIR: ::c_int = 19;
+pub const TCP_REPAIR_QUEUE: ::c_int = 20;
+pub const TCP_QUEUE_SEQ: ::c_int = 21;
+pub const TCP_REPAIR_OPTIONS: ::c_int = 22;
+pub const TCP_FASTOPEN: ::c_int = 23;
+pub const TCP_TIMESTAMP: ::c_int = 24;
+
#[doc(hidden)]
#[deprecated(since = "0.2.55", note = "Use SIGSYS instead")]
pub const SIGUNUSED: ::c_int = ::SIGSYS;
@@ -1368,6 +1386,8 @@ pub const PTRACE_INTERRUPT: ::c_int = 0x4207;
pub const PTRACE_LISTEN: ::c_int = 0x4208;
pub const PTRACE_PEEKSIGINFO: ::c_int = 0x4209;
+pub const EPOLLWAKEUP: ::c_int = 0x20000000;
+
pub const PTRACE_GETFPREGS: ::c_uint = 14;
pub const PTRACE_SETFPREGS: ::c_uint = 15;
pub const PTRACE_GETFPXREGS: ::c_uint = 18;
diff --git a/src/unix/linux_like/linux/align.rs b/src/unix/linux_like/linux/align.rs
index a4e656c6..11f5504a 100644
--- a/src/unix/linux_like/linux/align.rs
+++ b/src/unix/linux_like/linux/align.rs
@@ -76,7 +76,6 @@ macro_rules! expand_align {
any(target_arch = "mips",
target_arch = "arm",
target_arch = "hexagon",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
target_arch = "x86_64",
@@ -86,7 +85,6 @@ macro_rules! expand_align {
not(any(target_arch = "mips",
target_arch = "arm",
target_arch = "hexagon",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
target_arch = "x86_64",
@@ -101,7 +99,6 @@ macro_rules! expand_align {
any(target_arch = "mips",
target_arch = "arm",
target_arch = "hexagon",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
target_arch = "x86_64",
@@ -111,7 +108,6 @@ macro_rules! expand_align {
not(any(target_arch = "mips",
target_arch = "arm",
target_arch = "hexagon",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
target_arch = "x86_64",
diff --git a/src/unix/linux_like/linux/arch/generic/mod.rs b/src/unix/linux_like/linux/arch/generic/mod.rs
index 223928cc..e3401d4b 100644
--- a/src/unix/linux_like/linux/arch/generic/mod.rs
+++ b/src/unix/linux_like/linux/arch/generic/mod.rs
@@ -1,16 +1,3 @@
-s! {
- pub struct termios2 {
- pub c_iflag: ::tcflag_t,
- pub c_oflag: ::tcflag_t,
- pub c_cflag: ::tcflag_t,
- pub c_lflag: ::tcflag_t,
- pub c_line: ::cc_t,
- pub c_cc: [::cc_t; 19],
- pub c_ispeed: ::speed_t,
- pub c_ospeed: ::speed_t,
- }
-}
-
// include/uapi/asm-generic/socket.h
// arch/alpha/include/uapi/asm/socket.h
// tools/include/uapi/asm-generic/socket.h
@@ -111,124 +98,3 @@ cfg_if! {
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;
-
-// Ioctl Constants
-
-cfg_if! {
- if #[cfg(not(any(target_arch = "mips",
- target_arch = "mips64",
- target_arch = "powerpc",
- target_arch = "powerpc64",
- target_arch = "sparc",
- target_arch = "sparc64")))] {
-
- pub const TCGETS: ::Ioctl = 0x5401;
- pub const TCSETS: ::Ioctl = 0x5402;
- pub const TCSETSW: ::Ioctl = 0x5403;
- pub const TCSETSF: ::Ioctl = 0x5404;
- pub const TCGETA: ::Ioctl = 0x5405;
- pub const TCSETA: ::Ioctl = 0x5406;
- pub const TCSETAW: ::Ioctl = 0x5407;
- pub const TCSETAF: ::Ioctl = 0x5408;
- pub const TCSBRK: ::Ioctl = 0x5409;
- pub const TCXONC: ::Ioctl = 0x540A;
- pub const TCFLSH: ::Ioctl = 0x540B;
- pub const TIOCEXCL: ::Ioctl = 0x540C;
- pub const TIOCNXCL: ::Ioctl = 0x540D;
- pub const TIOCSCTTY: ::Ioctl = 0x540E;
- pub const TIOCGPGRP: ::Ioctl = 0x540F;
- pub const TIOCSPGRP: ::Ioctl = 0x5410;
- pub const TIOCOUTQ: ::Ioctl = 0x5411;
- pub const TIOCSTI: ::Ioctl = 0x5412;
- pub const TIOCGWINSZ: ::Ioctl = 0x5413;
- pub const TIOCSWINSZ: ::Ioctl = 0x5414;
- pub const TIOCMGET: ::Ioctl = 0x5415;
- pub const TIOCMBIS: ::Ioctl = 0x5416;
- pub const TIOCMBIC: ::Ioctl = 0x5417;
- pub const TIOCMSET: ::Ioctl = 0x5418;
- pub const TIOCGSOFTCAR: ::Ioctl = 0x5419;
- pub const TIOCSSOFTCAR: ::Ioctl = 0x541A;
- pub const FIONREAD: ::Ioctl = 0x541B;
- pub const TIOCINQ: ::Ioctl = FIONREAD;
- pub const TIOCLINUX: ::Ioctl = 0x541C;
- pub const TIOCCONS: ::Ioctl = 0x541D;
- pub const TIOCGSERIAL: ::Ioctl = 0x541E;
- pub const TIOCSSERIAL: ::Ioctl = 0x541F;
- pub const TIOCPKT: ::Ioctl = 0x5420;
- pub const FIONBIO: ::Ioctl = 0x5421;
- pub const TIOCNOTTY: ::Ioctl = 0x5422;
- pub const TIOCSETD: ::Ioctl = 0x5423;
- pub const TIOCGETD: ::Ioctl = 0x5424;
- pub const TCSBRKP: ::Ioctl = 0x5425;
- pub const TIOCSBRK: ::Ioctl = 0x5427;
- pub const TIOCCBRK: ::Ioctl = 0x5428;
- pub const TIOCGSID: ::Ioctl = 0x5429;
- pub const TCGETS2: ::Ioctl = 0x802c542a;
- pub const TCSETS2: ::Ioctl = 0x402c542b;
- pub const TCSETSW2: ::Ioctl = 0x402c542c;
- pub const TCSETSF2: ::Ioctl = 0x402c542d;
- pub const TIOCGRS485: ::Ioctl = 0x542E;
- pub const TIOCSRS485: ::Ioctl = 0x542F;
- pub const TIOCGPTN: ::Ioctl = 0x80045430;
- pub const TIOCSPTLCK: ::Ioctl = 0x40045431;
- pub const TIOCGDEV: ::Ioctl = 0x80045432;
- pub const TCGETX: ::Ioctl = 0x5432;
- pub const TCSETX: ::Ioctl = 0x5433;
- pub const TCSETXF: ::Ioctl = 0x5434;
- pub const TCSETXW: ::Ioctl = 0x5435;
- pub const TIOCSIG: ::Ioctl = 0x40045436;
- pub const TIOCVHANGUP: ::Ioctl = 0x5437;
- pub const TIOCGPKT: ::Ioctl = 0x80045438;
- pub const TIOCGPTLCK: ::Ioctl = 0x80045439;
- pub const TIOCGEXCL: ::Ioctl = 0x80045440;
- pub const TIOCGPTPEER: ::Ioctl = 0x5441;
-// pub const TIOCGISO7816: ::Ioctl = 0x80285442;
-// pub const TIOCSISO7816: ::Ioctl = 0xc0285443;
- pub const FIONCLEX: ::Ioctl = 0x5450;
- pub const FIOCLEX: ::Ioctl = 0x5451;
- pub const FIOASYNC: ::Ioctl = 0x5452;
- pub const TIOCSERCONFIG: ::Ioctl = 0x5453;
- pub const TIOCSERGWILD: ::Ioctl = 0x5454;
- pub const TIOCSERSWILD: ::Ioctl = 0x5455;
- pub const TIOCGLCKTRMIOS: ::Ioctl = 0x5456;
- pub const TIOCSLCKTRMIOS: ::Ioctl = 0x5457;
- pub const TIOCSERGSTRUCT: ::Ioctl = 0x5458;
- pub const TIOCSERGETLSR: ::Ioctl = 0x5459;
- pub const TIOCSERGETMULTI: ::Ioctl = 0x545A;
- pub const TIOCSERSETMULTI: ::Ioctl = 0x545B;
- pub const TIOCMIWAIT: ::Ioctl = 0x545C;
- pub const TIOCGICOUNT: ::Ioctl = 0x545D;
- }
-}
-
-cfg_if! {
- if #[cfg(any(target_arch = "arm",
- target_arch = "s390x"))] {
- pub const FIOQSIZE: ::Ioctl = 0x545E;
- } else if #[cfg(not(any(target_arch = "mips",
- target_arch = "mips64",
- target_arch = "powerpc",
- target_arch = "powerpc64",
- target_arch = "sparc",
- target_arch = "sparc64")))] {
- pub const FIOQSIZE: ::Ioctl = 0x5460;
- }
-}
-
-pub const TIOCM_LE: ::c_int = 0x001;
-pub const TIOCM_DTR: ::c_int = 0x002;
-pub const TIOCM_RTS: ::c_int = 0x004;
-pub const TIOCM_ST: ::c_int = 0x008;
-pub const TIOCM_SR: ::c_int = 0x010;
-pub const TIOCM_CTS: ::c_int = 0x020;
-pub const TIOCM_CAR: ::c_int = 0x040;
-pub const TIOCM_CD: ::c_int = TIOCM_CAR;
-pub const TIOCM_RNG: ::c_int = 0x080;
-pub const TIOCM_RI: ::c_int = TIOCM_RNG;
-pub const TIOCM_DSR: ::c_int = 0x100;
-
-pub const BOTHER: ::speed_t = 0o010000;
-pub const IBSHIFT: ::tcflag_t = 16;
-
-pub const BLKSSZGET: ::Ioctl = 0x1268;
-pub const BLKPBSZGET: ::Ioctl = 0x127B;
diff --git a/src/unix/linux_like/linux/arch/mips/mod.rs b/src/unix/linux_like/linux/arch/mips/mod.rs
index b67b7347..cdbdca2b 100644
--- a/src/unix/linux_like/linux/arch/mips/mod.rs
+++ b/src/unix/linux_like/linux/arch/mips/mod.rs
@@ -1,16 +1,3 @@
-s! {
- pub struct termios2 {
- pub c_iflag: ::tcflag_t,
- pub c_oflag: ::tcflag_t,
- pub c_cflag: ::tcflag_t,
- pub c_lflag: ::tcflag_t,
- pub c_line: ::cc_t,
- pub c_cc: [::cc_t; 23],
- pub c_ispeed: ::speed_t,
- pub c_ospeed: ::speed_t,
- }
-}
-
// arch/mips/include/uapi/asm/socket.h
pub const SOL_SOCKET: ::c_int = 0xffff;
@@ -107,106 +94,3 @@ pub const SO_TIMESTAMPING: ::c_int = 37;
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;
-
-// Ioctl Constants
-
-pub const TCGETS: ::Ioctl = 0x540d;
-pub const TCSETS: ::Ioctl = 0x540e;
-pub const TCSETSW: ::Ioctl = 0x540f;
-pub const TCSETSF: ::Ioctl = 0x5410;
-pub const TCGETA: ::Ioctl = 0x5401;
-pub const TCSETA: ::Ioctl = 0x5402;
-pub const TCSETAW: ::Ioctl = 0x5403;
-pub const TCSETAF: ::Ioctl = 0x5404;
-pub const TCSBRK: ::Ioctl = 0x5405;
-pub const TCXONC: ::Ioctl = 0x5406;
-pub const TCFLSH: ::Ioctl = 0x5407;
-pub const TIOCEXCL: ::Ioctl = 0x740d;
-pub const TIOCNXCL: ::Ioctl = 0x740e;
-pub const TIOCSCTTY: ::Ioctl = 0x5480;
-pub const TIOCGPGRP: ::Ioctl = 0x40047477;
-pub const TIOCSPGRP: ::Ioctl = 0x80047476;
-pub const TIOCOUTQ: ::Ioctl = 0x7472;
-pub const TIOCSTI: ::Ioctl = 0x5472;
-pub const TIOCGWINSZ: ::Ioctl = 0x40087468;
-pub const TIOCSWINSZ: ::Ioctl = 0x80087467;
-pub const TIOCMGET: ::Ioctl = 0x741d;
-pub const TIOCMBIS: ::Ioctl = 0x741b;
-pub const TIOCMBIC: ::Ioctl = 0x741c;
-pub const TIOCMSET: ::Ioctl = 0x741a;
-pub const TIOCGSOFTCAR: ::Ioctl = 0x5481;
-pub const TIOCSSOFTCAR: ::Ioctl = 0x5482;
-pub const FIONREAD: ::Ioctl = 0x467f;
-pub const TIOCINQ: ::Ioctl = FIONREAD;
-pub const TIOCLINUX: ::Ioctl = 0x5483;
-pub const TIOCCONS: ::Ioctl = 0x80047478;
-pub const TIOCGSERIAL: ::Ioctl = 0x5484;
-pub const TIOCSSERIAL: ::Ioctl = 0x5485;
-pub const TIOCPKT: ::Ioctl = 0x5470;
-pub const FIONBIO: ::Ioctl = 0x667e;
-pub const TIOCNOTTY: ::Ioctl = 0x5471;
-pub const TIOCSETD: ::Ioctl = 0x7401;
-pub const TIOCGETD: ::Ioctl = 0x7400;
-pub const TCSBRKP: ::Ioctl = 0x5486;
-pub const TIOCSBRK: ::Ioctl = 0x5427;
-pub const TIOCCBRK: ::Ioctl = 0x5428;
-pub const TIOCGSID: ::Ioctl = 0x7416;
-pub const TCGETS2: ::Ioctl = 0x4030542a;
-pub const TCSETS2: ::Ioctl = 0x8030542b;
-pub const TCSETSW2: ::Ioctl = 0x8030542c;
-pub const TCSETSF2: ::Ioctl = 0x8030542d;
-pub const TIOCGPTN: ::Ioctl = 0x40045430;
-pub const TIOCSPTLCK: ::Ioctl = 0x80045431;
-pub const TIOCGDEV: ::Ioctl = 0x40045432;
-pub const TIOCSIG: ::Ioctl = 0x80045436;
-pub const TIOCVHANGUP: ::Ioctl = 0x5437;
-pub const TIOCGPKT: ::Ioctl = 0x40045438;
-pub const TIOCGPTLCK: ::Ioctl = 0x40045439;
-pub const TIOCGEXCL: ::Ioctl = 0x40045440;
-pub const TIOCGPTPEER: ::Ioctl = 0x20005441;
-//pub const TIOCGISO7816: ::Ioctl = 0x40285442;
-//pub const TIOCSISO7816: ::Ioctl = 0xc0285443;
-pub const FIONCLEX: ::Ioctl = 0x6602;
-pub const FIOCLEX: ::Ioctl = 0x6601;
-pub const FIOASYNC: ::Ioctl = 0x667d;
-pub const TIOCSERCONFIG: ::Ioctl = 0x5488;
-pub const TIOCSERGWILD: ::Ioctl = 0x5489;
-pub const TIOCSERSWILD: ::Ioctl = 0x548a;
-pub const TIOCGLCKTRMIOS: ::Ioctl = 0x548b;
-pub const TIOCSLCKTRMIOS: ::Ioctl = 0x548c;
-pub const TIOCSERGSTRUCT: ::Ioctl = 0x548d;
-pub const TIOCSERGETLSR: ::Ioctl = 0x548e;
-pub const TIOCSERGETMULTI: ::Ioctl = 0x548f;
-pub const TIOCSERSETMULTI: ::Ioctl = 0x5490;
-pub const TIOCMIWAIT: ::Ioctl = 0x5491;
-pub const TIOCGICOUNT: ::Ioctl = 0x5492;
-pub const FIOQSIZE: ::Ioctl = 0x667f;
-pub const TIOCSLTC: ::Ioctl = 0x7475;
-pub const TIOCGETP: ::Ioctl = 0x7408;
-pub const TIOCSETP: ::Ioctl = 0x7409;
-pub const TIOCSETN: ::Ioctl = 0x740a;
-
-cfg_if! {
- if #[cfg(target_env = "musl")] {
- pub const TIOCGRS485: ::Ioctl = 0x4020542e;
- pub const TIOCSRS485: ::Ioctl = 0xc020542f;
- }
-}
-
-pub const TIOCM_LE: ::c_int = 0x001;
-pub const TIOCM_DTR: ::c_int = 0x002;
-pub const TIOCM_RTS: ::c_int = 0x004;
-pub const TIOCM_ST: ::c_int = 0x010;
-pub const TIOCM_SR: ::c_int = 0x020;
-pub const TIOCM_CTS: ::c_int = 0x040;
-pub const TIOCM_CAR: ::c_int = 0x100;
-pub const TIOCM_CD: ::c_int = TIOCM_CAR;
-pub const TIOCM_RNG: ::c_int = 0x200;
-pub const TIOCM_RI: ::c_int = TIOCM_RNG;
-pub const TIOCM_DSR: ::c_int = 0x400;
-
-pub const BOTHER: ::speed_t = 0o010000;
-pub const IBSHIFT: ::tcflag_t = 16;
-
-pub const BLKSSZGET: ::Ioctl = 0x20001268;
-pub const BLKPBSZGET: ::Ioctl = 0x2000127B;
diff --git a/src/unix/linux_like/linux/arch/powerpc/mod.rs b/src/unix/linux_like/linux/arch/powerpc/mod.rs
index d2824d13..89cc09e3 100644
--- a/src/unix/linux_like/linux/arch/powerpc/mod.rs
+++ b/src/unix/linux_like/linux/arch/powerpc/mod.rs
@@ -89,103 +89,3 @@ pub const SO_BINDTOIFINDEX: ::c_int = 62;
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;
-
-// Ioctl Constants
-
-cfg_if! {
- if #[cfg(target_env = "musl")] {
- pub const TCGETS: ::Ioctl = 0x402c7413;
- pub const TCSETS: ::Ioctl = 0x802c7414;
- pub const TCSETSW: ::Ioctl = 0x802c7415;
- pub const TCSETSF: ::Ioctl = 0x802c7416;
- } else {
- pub const TCGETS: ::Ioctl = 0x403c7413;
- pub const TCSETS: ::Ioctl = 0x803c7414;
- pub const TCSETSW: ::Ioctl = 0x803c7415;
- pub const TCSETSF: ::Ioctl = 0x803c7416;
- }
-}
-
-pub const TCGETA: ::Ioctl = 0x40147417;
-pub const TCSETA: ::Ioctl = 0x80147418;
-pub const TCSETAW: ::Ioctl = 0x80147419;
-pub const TCSETAF: ::Ioctl = 0x8014741C;
-pub const TCSBRK: ::Ioctl = 0x2000741D;
-pub const TCXONC: ::Ioctl = 0x2000741E;
-pub const TCFLSH: ::Ioctl = 0x2000741F;
-pub const TIOCEXCL: ::Ioctl = 0x540C;
-pub const TIOCNXCL: ::Ioctl = 0x540D;
-pub const TIOCSCTTY: ::Ioctl = 0x540E;
-pub const TIOCGPGRP: ::Ioctl = 0x40047477;
-pub const TIOCSPGRP: ::Ioctl = 0x80047476;
-pub const TIOCOUTQ: ::Ioctl = 0x40047473;
-pub const TIOCSTI: ::Ioctl = 0x5412;
-pub const TIOCGWINSZ: ::Ioctl = 0x40087468;
-pub const TIOCSWINSZ: ::Ioctl = 0x80087467;
-pub const TIOCMGET: ::Ioctl = 0x5415;
-pub const TIOCMBIS: ::Ioctl = 0x5416;
-pub const TIOCMBIC: ::Ioctl = 0x5417;
-pub const TIOCMSET: ::Ioctl = 0x5418;
-pub const TIOCGSOFTCAR: ::Ioctl = 0x5419;
-pub const TIOCSSOFTCAR: ::Ioctl = 0x541A;
-pub const FIONREAD: ::Ioctl = 0x4004667F;
-pub const TIOCINQ: ::Ioctl = FIONREAD;
-pub const TIOCLINUX: ::Ioctl = 0x541C;
-pub const TIOCCONS: ::Ioctl = 0x541D;
-pub const TIOCGSERIAL: ::Ioctl = 0x541E;
-pub const TIOCSSERIAL: ::Ioctl = 0x541F;
-pub const TIOCPKT: ::Ioctl = 0x5420;
-pub const FIONBIO: ::Ioctl = 0x8004667e;
-pub const TIOCNOTTY: ::Ioctl = 0x5422;
-pub const TIOCSETD: ::Ioctl = 0x5423;
-pub const TIOCGETD: ::Ioctl = 0x5424;
-pub const TCSBRKP: ::Ioctl = 0x5425;
-pub const TIOCSBRK: ::Ioctl = 0x5427;
-pub const TIOCCBRK: ::Ioctl = 0x5428;
-pub const TIOCGSID: ::Ioctl = 0x5429;
-pub const TIOCGRS485: ::Ioctl = 0x542e;
-pub const TIOCSRS485: ::Ioctl = 0x542f;
-pub const TIOCGPTN: ::Ioctl = 0x40045430;
-pub const TIOCSPTLCK: ::Ioctl = 0x80045431;
-pub const TIOCGDEV: ::Ioctl = 0x40045432;
-pub const TIOCSIG: ::Ioctl = 0x80045436;
-pub const TIOCVHANGUP: ::Ioctl = 0x5437;
-pub const TIOCGPKT: ::Ioctl = 0x40045438;
-pub const TIOCGPTLCK: ::Ioctl = 0x40045439;
-pub const TIOCGEXCL: ::Ioctl = 0x40045440;
-pub const TIOCGPTPEER: ::Ioctl = 0x20005441;
-//pub const TIOCGISO7816: ::Ioctl = 0x40285442;
-//pub const TIOCSISO7816: ::Ioctl = 0xc0285443;
-pub const FIONCLEX: ::Ioctl = 0x20006602;
-pub const FIOCLEX: ::Ioctl = 0x20006601;
-pub const FIOASYNC: ::Ioctl = 0x8004667d;
-pub const TIOCSERCONFIG: ::Ioctl = 0x5453;
-pub const TIOCSERGWILD: ::Ioctl = 0x5454;
-pub const TIOCSERSWILD: ::Ioctl = 0x5455;
-pub const TIOCGLCKTRMIOS: ::Ioctl = 0x5456;
-pub const TIOCSLCKTRMIOS: ::Ioctl = 0x5457;
-pub const TIOCSERGSTRUCT: ::Ioctl = 0x5458;
-pub const TIOCSERGETLSR: ::Ioctl = 0x5459;
-pub const TIOCSERGETMULTI: ::Ioctl = 0x545A;
-pub const TIOCSERSETMULTI: ::Ioctl = 0x545B;
-pub const TIOCMIWAIT: ::Ioctl = 0x545C;
-pub const TIOCGICOUNT: ::Ioctl = 0x545D;
-//pub const FIOQSIZE: ::Ioctl = 0x40086680;
-
-pub const TIOCM_LE: ::c_int = 0x001;
-pub const TIOCM_DTR: ::c_int = 0x002;
-pub const TIOCM_RTS: ::c_int = 0x004;
-pub const TIOCM_ST: ::c_int = 0x008;
-pub const TIOCM_SR: ::c_int = 0x010;
-pub const TIOCM_CTS: ::c_int = 0x020;
-pub const TIOCM_CAR: ::c_int = 0x040;
-pub const TIOCM_CD: ::c_int = TIOCM_CAR;
-pub const TIOCM_RNG: ::c_int = 0x080;
-pub const TIOCM_RI: ::c_int = TIOCM_RNG;
-pub const TIOCM_DSR: ::c_int = 0x100;
-
-pub const BOTHER: ::speed_t = 0o0037;
-pub const IBSHIFT: ::tcflag_t = 16;
-
-pub const BLKSSZGET: ::Ioctl = 0x20001268;
-pub const BLKPBSZGET: ::Ioctl = 0x2000127B;
diff --git a/src/unix/linux_like/linux/arch/sparc/mod.rs b/src/unix/linux_like/linux/arch/sparc/mod.rs
index a06fdce4..d4f9bb0e 100644
--- a/src/unix/linux_like/linux/arch/sparc/mod.rs
+++ b/src/unix/linux_like/linux/arch/sparc/mod.rs
@@ -1,16 +1,3 @@
-s! {
- pub struct termios2 {
- pub c_iflag: ::tcflag_t,
- pub c_oflag: ::tcflag_t,
- pub c_cflag: ::tcflag_t,
- pub c_lflag: ::tcflag_t,
- pub c_line: ::cc_t,
- pub c_cc: [::cc_t; 19],
- pub c_ispeed: ::speed_t,
- pub c_ospeed: ::speed_t,
- }
-}
-
// arch/sparc/include/uapi/asm/socket.h
pub const SOL_SOCKET: ::c_int = 0xffff;
@@ -99,100 +86,3 @@ pub const SO_TIMESTAMPING: ::c_int = 0x0023;
// pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING;
-
-// Ioctl Constants
-
-pub const TCGETS: ::Ioctl = 0x40245408;
-pub const TCSETS: ::Ioctl = 0x80245409;
-pub const TCSETSW: ::Ioctl = 0x8024540a;
-pub const TCSETSF: ::Ioctl = 0x8024540b;
-pub const TCGETA: ::Ioctl = 0x40125401;
-pub const TCSETA: ::Ioctl = 0x80125402;
-pub const TCSETAW: ::Ioctl = 0x80125403;
-pub const TCSETAF: ::Ioctl = 0x80125404;
-pub const TCSBRK: ::Ioctl = 0x20005405;
-pub const TCXONC: ::Ioctl = 0x20005406;
-pub const TCFLSH: ::Ioctl = 0x20005407;
-pub const TIOCEXCL: ::Ioctl = 0x2000740d;
-pub const TIOCNXCL: ::Ioctl = 0x2000740e;
-pub const TIOCSCTTY: ::Ioctl = 0x20007484;
-pub const TIOCGPGRP: ::Ioctl = 0x40047483;
-pub const TIOCSPGRP: ::Ioctl = 0x80047482;
-pub const TIOCOUTQ: ::Ioctl = 0x40047473;
-pub const TIOCSTI: ::Ioctl = 0x80017472;
-pub const TIOCGWINSZ: ::Ioctl = 0x40087468;
-pub const TIOCSWINSZ: ::Ioctl = 0x80087467;
-pub const TIOCMGET: ::Ioctl = 0x4004746a;
-pub const TIOCMBIS: ::Ioctl = 0x8004746c;
-pub const TIOCMBIC: ::Ioctl = 0x8004746b;
-pub const TIOCMSET: ::Ioctl = 0x8004746d;
-pub const TIOCGSOFTCAR: ::Ioctl = 0x40047464;
-pub const TIOCSSOFTCAR: ::Ioctl = 0x80047465;
-pub const FIONREAD: ::Ioctl = 0x4004667f;
-pub const TIOCINQ: ::Ioctl = FIONREAD;
-pub const TIOCLINUX: ::Ioctl = 0x541C;
-pub const TIOCCONS: ::Ioctl = 0x20007424;
-pub const TIOCGSERIAL: ::Ioctl = 0x541E;
-pub const TIOCSSERIAL: ::Ioctl = 0x541F;
-pub const TIOCPKT: ::Ioctl = 0x80047470;
-pub const FIONBIO: ::Ioctl = 0x8004667e;
-pub const TIOCNOTTY: ::Ioctl = 0x20007471;
-pub const TIOCSETD: ::Ioctl = 0x80047401;
-pub const TIOCGETD: ::Ioctl = 0x40047400;
-pub const TCSBRKP: ::Ioctl = 0x5425;
-pub const TIOCSBRK: ::Ioctl = 0x2000747b;
-pub const TIOCCBRK: ::Ioctl = 0x2000747a;
-pub const TIOCGSID: ::Ioctl = 0x40047485;
-pub const TCGETS2: ::Ioctl = 0x402c540c;
-pub const TCSETS2: ::Ioctl = 0x802c540d;
-pub const TCSETSW2: ::Ioctl = 0x802c540e;
-pub const TCSETSF2: ::Ioctl = 0x802c540f;
-pub const TIOCGPTN: ::Ioctl = 0x40047486;
-pub const TIOCSPTLCK: ::Ioctl = 0x80047487;
-pub const TIOCGDEV: ::Ioctl = 0x40045432;
-pub const TIOCSIG: ::Ioctl = 0x80047488;
-pub const TIOCVHANGUP: ::Ioctl = 0x20005437;
-pub const TIOCGPKT: ::Ioctl = 0x40045438;
-pub const TIOCGPTLCK: ::Ioctl = 0x40045439;
-pub const TIOCGEXCL: ::Ioctl = 0x40045440;
-pub const TIOCGPTPEER: ::Ioctl = 0x20007489;
-pub const FIONCLEX: ::Ioctl = 0x20006602;
-pub const FIOCLEX: ::Ioctl = 0x20006601;
-pub const TIOCSERCONFIG: ::Ioctl = 0x5453;
-pub const TIOCSERGWILD: ::Ioctl = 0x5454;
-pub const TIOCSERSWILD: ::Ioctl = 0x5455;
-pub const TIOCGLCKTRMIOS: ::Ioctl = 0x5456;
-pub const TIOCSLCKTRMIOS: ::Ioctl = 0x5457;
-pub const TIOCSERGSTRUCT: ::Ioctl = 0x5458;
-pub const TIOCSERGETLSR: ::Ioctl = 0x5459;
-pub const TIOCSERGETMULTI: ::Ioctl = 0x545A;
-pub const TIOCSERSETMULTI: ::Ioctl = 0x545B;
-pub const TIOCMIWAIT: ::Ioctl = 0x545C;
-pub const TIOCGICOUNT: ::Ioctl = 0x545D;
-pub const TIOCSTART: ::Ioctl = 0x2000746e;
-pub const TIOCSTOP: ::Ioctl = 0x2000746f;
-
-//pub const FIOASYNC: ::Ioctl = 0x4004667d;
-//pub const FIOQSIZE: ::Ioctl = ;
-//pub const TIOCGISO7816: ::Ioctl = 0x40285443;
-//pub const TIOCSISO7816: ::Ioctl = 0xc0285444;
-//pub const TIOCGRS485: ::Ioctl = 0x40205441;
-//pub const TIOCSRS485: ::Ioctl = 0xc0205442;
-
-pub const TIOCM_LE: ::c_int = 0x001;
-pub const TIOCM_DTR: ::c_int = 0x002;
-pub const TIOCM_RTS: ::c_int = 0x004;
-pub const TIOCM_ST: ::c_int = 0x008;
-pub const TIOCM_SR: ::c_int = 0x010;
-pub const TIOCM_CTS: ::c_int = 0x020;
-pub const TIOCM_CAR: ::c_int = 0x040;
-pub const TIOCM_CD: ::c_int = TIOCM_CAR;
-pub const TIOCM_RNG: ::c_int = 0x080;
-pub const TIOCM_RI: ::c_int = TIOCM_RNG;
-pub const TIOCM_DSR: ::c_int = 0x100;
-
-pub const BOTHER: ::speed_t = 0x1000;
-pub const IBSHIFT: ::tcflag_t = 16;
-
-pub const BLKSSZGET: ::Ioctl = 0x20001268;
-pub const BLKPBSZGET: ::Ioctl = 0x2000127B;
diff --git a/src/unix/linux_like/linux/gnu/b32/arm/align.rs b/src/unix/linux_like/linux/gnu/b32/arm/align.rs
index 2645ec4c..825546be 100644
--- a/src/unix/linux_like/linux/gnu/b32/arm/align.rs
+++ b/src/unix/linux_like/linux/gnu/b32/arm/align.rs
@@ -4,50 +4,4 @@ s_no_extra_traits! {
pub struct max_align_t {
priv_: [i64; 2]
}
-
- #[allow(missing_debug_implementations)]
- #[repr(align(8))]
- pub struct ucontext_t {
- pub uc_flags: ::c_ulong,
- pub uc_link: *mut ucontext_t,
- pub uc_stack: ::stack_t,
- pub uc_mcontext: ::mcontext_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_regspace: [::c_ulong; 128],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- impl PartialEq for ucontext_t {
- fn eq(&self, other: &ucontext_t) -> bool {
- self.uc_flags == other.uc_flags
- && self.uc_link == other.uc_link
- && self.uc_stack == other.uc_stack
- && self.uc_mcontext == other.uc_mcontext
- && self.uc_sigmask == other.uc_sigmask
- }
- }
- impl Eq for ucontext_t {}
- impl ::fmt::Debug for ucontext_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("ucontext_t")
- .field("uc_flags", &self.uc_link)
- .field("uc_link", &self.uc_link)
- .field("uc_stack", &self.uc_stack)
- .field("uc_mcontext", &self.uc_mcontext)
- .field("uc_sigmask", &self.uc_sigmask)
- .finish()
- }
- }
- impl ::hash::Hash for ucontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.uc_flags.hash(state);
- self.uc_link.hash(state);
- self.uc_stack.hash(state);
- self.uc_mcontext.hash(state);
- self.uc_sigmask.hash(state);
- }
- }
- }
}
diff --git a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs
index 9ad1051c..0e7fb70f 100644
--- a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs
@@ -141,6 +141,17 @@ s! {
__glibc_reserved5: ::c_ulong,
}
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
+
pub struct siginfo_t {
pub si_signo: ::c_int,
pub si_errno: ::c_int,
@@ -161,36 +172,6 @@ s! {
pub ss_flags: ::c_int,
pub ss_size: ::size_t
}
-
- pub struct seccomp_notif_sizes {
- pub seccomp_notif: ::__u16,
- pub seccomp_notif_resp: ::__u16,
- pub seccomp_data: ::__u16,
- }
-
- pub struct mcontext_t {
- pub trap_no: ::c_ulong,
- pub error_code: ::c_ulong,
- pub oldmask: ::c_ulong,
- pub arm_r0: ::c_ulong,
- pub arm_r1: ::c_ulong,
- pub arm_r2: ::c_ulong,
- pub arm_r3: ::c_ulong,
- pub arm_r4: ::c_ulong,
- pub arm_r5: ::c_ulong,
- pub arm_r6: ::c_ulong,
- pub arm_r7: ::c_ulong,
- pub arm_r8: ::c_ulong,
- pub arm_r9: ::c_ulong,
- pub arm_r10: ::c_ulong,
- pub arm_fp: ::c_ulong,
- pub arm_ip: ::c_ulong,
- pub arm_sp: ::c_ulong,
- pub arm_lr: ::c_ulong,
- pub arm_pc: ::c_ulong,
- pub arm_cpsr: ::c_ulong,
- pub fault_address: ::c_ulong,
- }
}
pub const RLIM_INFINITY: ::rlim_t = !0;
@@ -324,6 +305,10 @@ pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
pub const SOCK_STREAM: ::c_int = 1;
pub const SOCK_DGRAM: ::c_int = 2;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
+pub const FIONBIO: ::c_ulong = 0x5421;
+
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
@@ -434,6 +419,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -450,11 +436,6 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
-pub const SECCOMP_SET_MODE_STRICT: ::c_uint = 0;
-pub const SECCOMP_SET_MODE_FILTER: ::c_uint = 1;
-pub const SECCOMP_GET_ACTION_AVAIL: ::c_uint = 2;
-pub const SECCOMP_GET_NOTIF_SIZES: ::c_uint = 3;
-
pub const VEOL: usize = 11;
pub const VEOL2: usize = 16;
pub const VMIN: usize = 6;
@@ -462,11 +443,52 @@ pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
pub const EXTPROC: ::tcflag_t = 0x00010000;
+pub const TCGETS: ::c_ulong = 0x5401;
+pub const TCSETS: ::c_ulong = 0x5402;
+pub const TCSETSW: ::c_ulong = 0x5403;
+pub const TCSETSF: ::c_ulong = 0x5404;
+pub const TCGETA: ::c_ulong = 0x5405;
+pub const TCSETA: ::c_ulong = 0x5406;
+pub const TCSETAW: ::c_ulong = 0x5407;
+pub const TCSETAF: ::c_ulong = 0x5408;
+pub const TCSBRK: ::c_ulong = 0x5409;
+pub const TCXONC: ::c_ulong = 0x540A;
+pub const TCFLSH: ::c_ulong = 0x540B;
+pub const TIOCINQ: ::c_ulong = 0x541B;
+pub const TIOCGPGRP: ::c_ulong = 0x540F;
+pub const TIOCSPGRP: ::c_ulong = 0x5410;
+pub const TIOCOUTQ: ::c_ulong = 0x5411;
+pub const TIOCGWINSZ: ::c_ulong = 0x5413;
+pub const TIOCSWINSZ: ::c_ulong = 0x5414;
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+pub const FIONREAD: ::c_ulong = 0x541B;
+
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const TIOCCONS: ::c_ulong = 0x541D;
pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
// Syscall table
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/gnu/b32/m68k/align.rs b/src/unix/linux_like/linux/gnu/b32/m68k/align.rs
deleted file mode 100644
index 639394a3..00000000
--- a/src/unix/linux_like/linux/gnu/b32/m68k/align.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-s_no_extra_traits! {
- #[allow(missing_debug_implementations)]
- #[repr(align(2))]
- pub struct max_align_t {
- priv_: [i8; 20]
- }
-}
diff --git a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs b/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs
deleted file mode 100644
index 0302dd7f..00000000
--- a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs
+++ /dev/null
@@ -1,855 +0,0 @@
-pub type c_char = i8;
-pub type wchar_t = i32;
-
-s! {
- pub struct sigaction {
- pub sa_sigaction: ::sighandler_t,
- pub sa_mask: ::sigset_t,
- pub sa_flags: ::c_ulong,
- pub sa_restorer: ::Option<extern fn()>,
- }
-
- pub struct statfs {
- pub f_type: ::__fsword_t,
- pub f_bsize: ::__fsword_t,
- 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_fsid: ::fsid_t,
-
- pub f_namelen: ::__fsword_t,
- pub f_frsize: ::__fsword_t,
- pub f_flags: ::__fsword_t,
- f_spare: [::__fsword_t; 4],
- }
-
- pub struct flock {
- pub l_type: ::c_short,
- pub l_whence: ::c_short,
- pub l_start: ::off_t,
- pub l_len: ::off_t,
- pub l_pid: ::pid_t,
- }
-
- pub struct flock64 {
- pub l_type: ::c_short,
- pub l_whence: ::c_short,
- pub l_start: ::off64_t,
- pub l_len: ::off64_t,
- pub l_pid: ::pid_t,
- }
-
- pub struct 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,
- __seq: ::c_ushort,
- __pad1: ::c_ushort,
- __glibc_reserved1: ::c_ulong,
- __glibc_reserved2: ::c_ulong,
- }
-
- pub struct stat64 {
- pub st_dev: ::dev_t,
- __pad1: ::c_ushort,
- pub __st_ino: ::ino_t,
- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
- pub st_rdev: ::dev_t,
- __pad2: ::c_ushort,
- pub st_size: ::off64_t,
- pub st_blksize: ::blksize_t,
- pub st_blocks: ::blkcnt64_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_ulong,
- pub st_mtime: ::time_t,
- pub st_mtime_nsec: ::c_ulong,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_ulong,
- pub st_ino: ::ino64_t,
- }
-
- pub struct statfs64 {
- pub f_type: ::__fsword_t,
- pub f_bsize: ::__fsword_t,
- pub f_blocks: ::fsblkcnt64_t,
- pub f_bfree: ::fsblkcnt64_t,
- pub f_bavail: ::fsblkcnt64_t,
- pub f_files: ::fsblkcnt64_t,
- pub f_ffree: ::fsblkcnt64_t,
- pub f_fsid: ::fsid_t,
- pub f_namelen: ::__fsword_t,
- pub f_frsize: ::__fsword_t,
- pub f_flags: ::__fsword_t,
- pub f_spare: [::__fsword_t; 4],
- }
-
- pub struct statvfs64 {
- pub f_bsize: ::c_ulong,
- pub f_frsize: ::c_ulong,
- pub f_blocks: ::fsblkcnt64_t,
- pub f_bfree: ::fsblkcnt64_t,
- pub f_bavail: ::fsblkcnt64_t,
- pub f_files: ::fsblkcnt64_t,
- pub f_ffree: ::fsblkcnt64_t,
- pub f_favail: ::fsblkcnt64_t,
- pub f_fsid: ::c_ulong,
- __f_unused: ::c_int,
- pub f_flag: ::c_ulong,
- pub f_namemax: ::c_ulong,
- __f_spare: [::c_int; 6],
- }
-
- pub struct shmid_ds {
- pub shm_perm: ::ipc_perm,
- pub shm_segsz: ::size_t,
- pub shm_atime: ::time_t,
- __glibc_reserved1: ::c_long,
- pub shm_dtime: ::time_t,
- __glibc_reserved2: ::c_long,
- pub shm_ctime: ::time_t,
- __glibc_reserved3: ::c_long,
- pub shm_cpid: ::pid_t,
- pub shm_lpid: ::pid_t,
- pub shm_nattch: ::shmatt_t,
- __glibc_reserved5: ::c_ulong,
- __glibc_reserved6: ::c_ulong,
- }
-
- pub struct msqid_ds {
- pub msg_perm: ::ipc_perm,
- pub msg_stime: ::time_t,
- __glibc_reserved1: ::c_uint,
- pub msg_rtime: ::time_t,
- __glibc_reserved2: ::c_uint,
- pub msg_ctime: ::time_t,
- __glibc_reserved3: ::c_uint,
- __msg_cbytes: ::c_ulong,
- pub msg_qnum: ::msgqnum_t,
- pub msg_qbytes: ::msglen_t,
- pub msg_lspid: ::pid_t,
- pub msg_lrpid: ::pid_t,
- __glibc_reserved4: ::c_ulong,
- __glibc_reserved5: ::c_ulong,
- }
-
- pub struct siginfo_t {
- pub si_signo: ::c_int,
- pub si_code: ::c_int,
- pub si_errno: ::c_int,
- _pad: [::c_int; 29],
- _align: [usize; 0],
- }
-
- pub struct stack_t {
- pub ss_sp: *mut ::c_void,
- pub ss_flags: ::c_int,
- pub ss_size: ::size_t
- }
-}
-
-pub const RLIM_INFINITY: ::rlim_t = !0;
-pub const VEOF: usize = 4;
-pub const RTLD_DEEPBIND: ::c_int = 0x8;
-pub const RTLD_GLOBAL: ::c_int = 0x100;
-pub const RTLD_NOLOAD: ::c_int = 0x4;
-pub const O_DIRECT: ::c_int = 0x10000;
-pub const O_DIRECTORY: ::c_int = 0x4000;
-pub const O_NOFOLLOW: ::c_int = 0x8000;
-pub const O_LARGEFILE: ::c_int = 0x20000;
-pub const O_APPEND: ::c_int = 1024;
-pub const O_CREAT: ::c_int = 64;
-pub const O_EXCL: ::c_int = 128;
-pub const O_NOCTTY: ::c_int = 256;
-pub const O_NONBLOCK: ::c_int = 2048;
-pub const O_SYNC: ::c_int = 1052672;
-pub const O_RSYNC: ::c_int = 1052672;
-pub const O_DSYNC: ::c_int = 4096;
-pub const O_FSYNC: ::c_int = 0x101000;
-pub const O_ASYNC: ::c_int = 0x2000;
-pub const O_NDELAY: ::c_int = 0x800;
-pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
-pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
-pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
-pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
-pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
-
-pub const MADV_SOFT_OFFLINE: ::c_int = 101;
-pub const MAP_LOCKED: ::c_int = 0x02000;
-pub const MAP_NORESERVE: ::c_int = 0x04000;
-pub const MAP_32BIT: ::c_int = 0x0040;
-pub const MAP_ANON: ::c_int = 0x0020;
-pub const MAP_ANONYMOUS: ::c_int = 0x0020;
-pub const MAP_DENYWRITE: ::c_int = 0x0800;
-pub const MAP_EXECUTABLE: ::c_int = 0x01000;
-pub const MAP_POPULATE: ::c_int = 0x08000;
-pub const MAP_NONBLOCK: ::c_int = 0x010000;
-pub const MAP_STACK: ::c_int = 0x020000;
-pub const MAP_HUGETLB: ::c_int = 0x040000;
-pub const MAP_GROWSDOWN: ::c_int = 0x0100;
-pub const MAP_SYNC: ::c_int = 0x080000;
-
-pub const EDEADLOCK: ::c_int = 35;
-pub const EUCLEAN: ::c_int = 117;
-pub const ENOTNAM: ::c_int = 118;
-pub const ENAVAIL: ::c_int = 119;
-pub const EISNAM: ::c_int = 120;
-pub const EREMOTEIO: ::c_int = 121;
-pub const EDEADLK: ::c_int = 35;
-pub const ENAMETOOLONG: ::c_int = 36;
-pub const ENOLCK: ::c_int = 37;
-pub const ENOSYS: ::c_int = 38;
-pub const ENOTEMPTY: ::c_int = 39;
-pub const ELOOP: ::c_int = 40;
-pub const ENOMSG: ::c_int = 42;
-pub const EIDRM: ::c_int = 43;
-pub const ECHRNG: ::c_int = 44;
-pub const EL2NSYNC: ::c_int = 45;
-pub const EL3HLT: ::c_int = 46;
-pub const EL3RST: ::c_int = 47;
-pub const ELNRNG: ::c_int = 48;
-pub const EUNATCH: ::c_int = 49;
-pub const ENOCSI: ::c_int = 50;
-pub const EL2HLT: ::c_int = 51;
-pub const EBADE: ::c_int = 52;
-pub const EBADR: ::c_int = 53;
-pub const EXFULL: ::c_int = 54;
-pub const ENOANO: ::c_int = 55;
-pub const EBADRQC: ::c_int = 56;
-pub const EBADSLT: ::c_int = 57;
-pub const EMULTIHOP: ::c_int = 72;
-pub const EOVERFLOW: ::c_int = 75;
-pub const ENOTUNIQ: ::c_int = 76;
-pub const EBADFD: ::c_int = 77;
-pub const EBADMSG: ::c_int = 74;
-pub const EREMCHG: ::c_int = 78;
-pub const ELIBACC: ::c_int = 79;
-pub const ELIBBAD: ::c_int = 80;
-pub const ELIBSCN: ::c_int = 81;
-pub const ELIBMAX: ::c_int = 82;
-pub const ELIBEXEC: ::c_int = 83;
-pub const EILSEQ: ::c_int = 84;
-pub const ERESTART: ::c_int = 85;
-pub const ESTRPIPE: ::c_int = 86;
-pub const EUSERS: ::c_int = 87;
-pub const ENOTSOCK: ::c_int = 88;
-pub const EDESTADDRREQ: ::c_int = 89;
-pub const EMSGSIZE: ::c_int = 90;
-pub const EPROTOTYPE: ::c_int = 91;
-pub const ENOPROTOOPT: ::c_int = 92;
-pub const EPROTONOSUPPORT: ::c_int = 93;
-pub const ESOCKTNOSUPPORT: ::c_int = 94;
-pub const EOPNOTSUPP: ::c_int = 95;
-pub const EPFNOSUPPORT: ::c_int = 96;
-pub const EAFNOSUPPORT: ::c_int = 97;
-pub const EADDRINUSE: ::c_int = 98;
-pub const EADDRNOTAVAIL: ::c_int = 99;
-pub const ENETDOWN: ::c_int = 100;
-pub const ENETUNREACH: ::c_int = 101;
-pub const ENETRESET: ::c_int = 102;
-pub const ECONNABORTED: ::c_int = 103;
-pub const ECONNRESET: ::c_int = 104;
-pub const ENOBUFS: ::c_int = 105;
-pub const EISCONN: ::c_int = 106;
-pub const ENOTCONN: ::c_int = 107;
-pub const ESHUTDOWN: ::c_int = 108;
-pub const ETOOMANYREFS: ::c_int = 109;
-pub const ETIMEDOUT: ::c_int = 110;
-pub const ECONNREFUSED: ::c_int = 111;
-pub const EHOSTDOWN: ::c_int = 112;
-pub const EHOSTUNREACH: ::c_int = 113;
-pub const EALREADY: ::c_int = 114;
-pub const EINPROGRESS: ::c_int = 115;
-pub const ESTALE: ::c_int = 116;
-pub const EDQUOT: ::c_int = 122;
-pub const ENOMEDIUM: ::c_int = 123;
-pub const EMEDIUMTYPE: ::c_int = 124;
-pub const ECANCELED: ::c_int = 125;
-pub const ENOKEY: ::c_int = 126;
-pub const EKEYEXPIRED: ::c_int = 127;
-pub const EKEYREVOKED: ::c_int = 128;
-pub const EKEYREJECTED: ::c_int = 129;
-pub const EOWNERDEAD: ::c_int = 130;
-pub const ENOTRECOVERABLE: ::c_int = 131;
-pub const EHWPOISON: ::c_int = 133;
-pub const ERFKILL: ::c_int = 132;
-
-pub const SA_SIGINFO: ::c_int = 0x00000004;
-pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
-
-pub const SOCK_STREAM: ::c_int = 1;
-pub const SOCK_DGRAM: ::c_int = 2;
-
-pub const F_GETLK: ::c_int = 5;
-pub const F_GETOWN: ::c_int = 9;
-pub const F_SETOWN: ::c_int = 8;
-
-pub const PTRACE_GETFPXREGS: ::c_uint = 18;
-pub const PTRACE_SETFPXREGS: ::c_uint = 19;
-pub const PTRACE_SYSEMU: ::c_uint = 31;
-pub const PTRACE_SYSEMU_SINGLESTEP: ::c_uint = 32;
-
-pub const MCL_CURRENT: ::c_int = 0x0001;
-pub const MCL_FUTURE: ::c_int = 0x0002;
-
-pub const POLLWRNORM: ::c_short = 0x100;
-pub const POLLWRBAND: ::c_short = 0x200;
-
-pub const EFD_NONBLOCK: ::c_int = 0x800;
-pub const SFD_NONBLOCK: ::c_int = 0x0800;
-
-pub const SIGCHLD: ::c_int = 17;
-pub const SIGBUS: ::c_int = 7;
-pub const SIGUSR1: ::c_int = 10;
-pub const SIGUSR2: ::c_int = 12;
-pub const SIGCONT: ::c_int = 18;
-pub const SIGSTOP: ::c_int = 19;
-pub const SIGTSTP: ::c_int = 20;
-pub const SIGURG: ::c_int = 23;
-pub const SIGIO: ::c_int = 29;
-pub const SIGSYS: ::c_int = 31;
-pub const SIGSTKFLT: ::c_int = 16;
-#[deprecated(since = "0.2.55", note = "Use SIGSYS instead")]
-pub const SIGUNUSED: ::c_int = 31;
-pub const SIGPOLL: ::c_int = 29;
-pub const SIGPWR: ::c_int = 30;
-pub const SIG_SETMASK: ::c_int = 2;
-pub const SIG_BLOCK: ::c_int = 0x000000;
-pub const SIG_UNBLOCK: ::c_int = 0x01;
-pub const SIGTTIN: ::c_int = 21;
-pub const SIGTTOU: ::c_int = 22;
-pub const SIGXCPU: ::c_int = 24;
-pub const SIGXFSZ: ::c_int = 25;
-pub const SIGVTALRM: ::c_int = 26;
-pub const SIGPROF: ::c_int = 27;
-pub const SIGWINCH: ::c_int = 28;
-pub const SIGSTKSZ: ::size_t = 8192;
-pub const MINSIGSTKSZ: ::size_t = 2048;
-pub const CBAUD: ::tcflag_t = 0o0010017;
-pub const TAB1: ::tcflag_t = 0x00000800;
-pub const TAB2: ::tcflag_t = 0x00001000;
-pub const TAB3: ::tcflag_t = 0x00001800;
-pub const CR1: ::tcflag_t = 0x00000200;
-pub const CR2: ::tcflag_t = 0x00000400;
-pub const CR3: ::tcflag_t = 0x00000600;
-pub const FF1: ::tcflag_t = 0x00008000;
-pub const BS1: ::tcflag_t = 0x00002000;
-pub const VT1: ::tcflag_t = 0x00004000;
-pub const VWERASE: usize = 14;
-pub const VREPRINT: usize = 12;
-pub const VSUSP: usize = 10;
-pub const VSTART: usize = 8;
-pub const VSTOP: usize = 9;
-pub const VDISCARD: usize = 13;
-pub const VTIME: usize = 5;
-pub const IXON: ::tcflag_t = 0x00000400;
-pub const IXOFF: ::tcflag_t = 0x00001000;
-pub const ONLCR: ::tcflag_t = 0x4;
-pub const CSIZE: ::tcflag_t = 0x00000030;
-pub const CS6: ::tcflag_t = 0x00000010;
-pub const CS7: ::tcflag_t = 0x00000020;
-pub const CS8: ::tcflag_t = 0x00000030;
-pub const CSTOPB: ::tcflag_t = 0x00000040;
-pub const CREAD: ::tcflag_t = 0x00000080;
-pub const PARENB: ::tcflag_t = 0x00000100;
-pub const PARODD: ::tcflag_t = 0x00000200;
-pub const HUPCL: ::tcflag_t = 0x00000400;
-pub const CLOCAL: ::tcflag_t = 0x00000800;
-pub const ECHOKE: ::tcflag_t = 0x00000800;
-pub const ECHOE: ::tcflag_t = 0x00000010;
-pub const ECHOK: ::tcflag_t = 0x00000020;
-pub const ECHONL: ::tcflag_t = 0x00000040;
-pub const ECHOPRT: ::tcflag_t = 0x00000400;
-pub const ECHOCTL: ::tcflag_t = 0x00000200;
-pub const ISIG: ::tcflag_t = 0x00000001;
-pub const ICANON: ::tcflag_t = 0x00000002;
-pub const PENDIN: ::tcflag_t = 0x00004000;
-pub const NOFLSH: ::tcflag_t = 0x00000080;
-pub const CIBAUD: ::tcflag_t = 0o02003600000;
-pub const CBAUDEX: ::tcflag_t = 0o010000;
-pub const VSWTC: usize = 7;
-pub const OLCUC: ::tcflag_t = 0o000002;
-pub const NLDLY: ::tcflag_t = 0o000400;
-pub const CRDLY: ::tcflag_t = 0o003000;
-pub const TABDLY: ::tcflag_t = 0o014000;
-pub const BSDLY: ::tcflag_t = 0o020000;
-pub const FFDLY: ::tcflag_t = 0o100000;
-pub const VTDLY: ::tcflag_t = 0o040000;
-pub const XTABS: ::tcflag_t = 0o014000;
-
-pub const B0: ::speed_t = 0o000000;
-pub const B50: ::speed_t = 0o000001;
-pub const B75: ::speed_t = 0o000002;
-pub const B110: ::speed_t = 0o000003;
-pub const B134: ::speed_t = 0o000004;
-pub const B150: ::speed_t = 0o000005;
-pub const B200: ::speed_t = 0o000006;
-pub const B300: ::speed_t = 0o000007;
-pub const B600: ::speed_t = 0o000010;
-pub const B1200: ::speed_t = 0o000011;
-pub const B1800: ::speed_t = 0o000012;
-pub const B2400: ::speed_t = 0o000013;
-pub const B4800: ::speed_t = 0o000014;
-pub const B9600: ::speed_t = 0o000015;
-pub const B19200: ::speed_t = 0o000016;
-pub const B38400: ::speed_t = 0o000017;
-pub const EXTA: ::speed_t = B19200;
-pub const EXTB: ::speed_t = B38400;
-pub const B57600: ::speed_t = 0o010001;
-pub const B115200: ::speed_t = 0o010002;
-pub const B230400: ::speed_t = 0o010003;
-pub const B460800: ::speed_t = 0o010004;
-pub const B500000: ::speed_t = 0o010005;
-pub const B576000: ::speed_t = 0o010006;
-pub const B921600: ::speed_t = 0o010007;
-pub const B1000000: ::speed_t = 0o010010;
-pub const B1152000: ::speed_t = 0o010011;
-pub const B1500000: ::speed_t = 0o010012;
-pub const B2000000: ::speed_t = 0o010013;
-pub const B2500000: ::speed_t = 0o010014;
-pub const B3000000: ::speed_t = 0o010015;
-pub const B3500000: ::speed_t = 0o010016;
-pub const B4000000: ::speed_t = 0o010017;
-
-pub const VEOL: usize = 11;
-pub const VEOL2: usize = 16;
-pub const VMIN: usize = 6;
-pub const IEXTEN: ::tcflag_t = 0x00008000;
-pub const TOSTOP: ::tcflag_t = 0x00000100;
-pub const FLUSHO: ::tcflag_t = 0x00001000;
-pub const EXTPROC: ::tcflag_t = 0x00010000;
-
-pub const TCSANOW: ::c_int = 0;
-pub const TCSADRAIN: ::c_int = 1;
-pub const TCSAFLUSH: ::c_int = 2;
-
-pub const SYS_restart_syscall: ::c_long = 0;
-pub const SYS_exit: ::c_long = 1;
-pub const SYS_fork: ::c_long = 2;
-pub const SYS_read: ::c_long = 3;
-pub const SYS_write: ::c_long = 4;
-pub const SYS_open: ::c_long = 5;
-pub const SYS_close: ::c_long = 6;
-pub const SYS_waitpid: ::c_long = 7;
-pub const SYS_creat: ::c_long = 8;
-pub const SYS_link: ::c_long = 9;
-pub const SYS_unlink: ::c_long = 10;
-pub const SYS_execve: ::c_long = 11;
-pub const SYS_chdir: ::c_long = 12;
-pub const SYS_time32: ::c_long = 13;
-pub const SYS_mknod: ::c_long = 14;
-pub const SYS_chmod: ::c_long = 15;
-pub const SYS_chown16: ::c_long = 16;
-pub const SYS_stat: ::c_long = 18;
-pub const SYS_lseek: ::c_long = 19;
-pub const SYS_getpid: ::c_long = 20;
-pub const SYS_mount: ::c_long = 21;
-pub const SYS_oldumount: ::c_long = 22;
-pub const SYS_setuid16: ::c_long = 23;
-pub const SYS_getuid16: ::c_long = 24;
-pub const SYS_stime32: ::c_long = 25;
-pub const SYS_ptrace: ::c_long = 26;
-pub const SYS_alarm: ::c_long = 27;
-pub const SYS_fstat: ::c_long = 28;
-pub const SYS_pause: ::c_long = 29;
-pub const SYS_utime32: ::c_long = 30;
-pub const SYS_access: ::c_long = 33;
-pub const SYS_nice: ::c_long = 34;
-pub const SYS_sync: ::c_long = 36;
-pub const SYS_kill: ::c_long = 37;
-pub const SYS_rename: ::c_long = 38;
-pub const SYS_mkdir: ::c_long = 39;
-pub const SYS_rmdir: ::c_long = 40;
-pub const SYS_dup: ::c_long = 41;
-pub const SYS_pipe: ::c_long = 42;
-pub const SYS_times: ::c_long = 43;
-pub const SYS_brk: ::c_long = 45;
-pub const SYS_setgid16: ::c_long = 46;
-pub const SYS_getgid16: ::c_long = 47;
-pub const SYS_signal: ::c_long = 48;
-pub const SYS_geteuid16: ::c_long = 49;
-pub const SYS_getegid16: ::c_long = 50;
-pub const SYS_acct: ::c_long = 51;
-pub const SYS_umount: ::c_long = 52;
-pub const SYS_ioctl: ::c_long = 54;
-pub const SYS_fcntl: ::c_long = 55;
-pub const SYS_setpgid: ::c_long = 57;
-pub const SYS_umask: ::c_long = 60;
-pub const SYS_chroot: ::c_long = 61;
-pub const SYS_ustat: ::c_long = 62;
-pub const SYS_dup2: ::c_long = 63;
-pub const SYS_getppid: ::c_long = 64;
-pub const SYS_getpgrp: ::c_long = 65;
-pub const SYS_setsid: ::c_long = 66;
-pub const SYS_sigaction: ::c_long = 67;
-pub const SYS_sgetmask: ::c_long = 68;
-pub const SYS_ssetmask: ::c_long = 69;
-pub const SYS_setreuid16: ::c_long = 70;
-pub const SYS_setregid16: ::c_long = 71;
-pub const SYS_sigsuspend: ::c_long = 72;
-pub const SYS_sigpending: ::c_long = 73;
-pub const SYS_sethostname: ::c_long = 74;
-pub const SYS_setrlimit: ::c_long = 75;
-pub const SYS_old_getrlimit: ::c_long = 76;
-pub const SYS_getrusage: ::c_long = 77;
-pub const SYS_gettimeofday: ::c_long = 78;
-pub const SYS_settimeofday: ::c_long = 79;
-pub const SYS_getgroups16: ::c_long = 80;
-pub const SYS_setgroups16: ::c_long = 81;
-pub const SYS_old_select: ::c_long = 82;
-pub const SYS_symlink: ::c_long = 83;
-pub const SYS_lstat: ::c_long = 84;
-pub const SYS_readlink: ::c_long = 85;
-pub const SYS_uselib: ::c_long = 86;
-pub const SYS_swapon: ::c_long = 87;
-pub const SYS_reboot: ::c_long = 88;
-pub const SYS_old_readdir: ::c_long = 89;
-pub const SYS_old_mmap: ::c_long = 90;
-pub const SYS_munmap: ::c_long = 91;
-pub const SYS_truncate: ::c_long = 92;
-pub const SYS_ftruncate: ::c_long = 93;
-pub const SYS_fchmod: ::c_long = 94;
-pub const SYS_fchown16: ::c_long = 95;
-pub const SYS_getpriority: ::c_long = 96;
-pub const SYS_setpriority: ::c_long = 97;
-pub const SYS_statfs: ::c_long = 99;
-pub const SYS_fstatfs: ::c_long = 100;
-pub const SYS_socketcall: ::c_long = 102;
-pub const SYS_syslog: ::c_long = 103;
-pub const SYS_setitimer: ::c_long = 104;
-pub const SYS_getitimer: ::c_long = 105;
-pub const SYS_newstat: ::c_long = 106;
-pub const SYS_newlstat: ::c_long = 107;
-pub const SYS_newfstat: ::c_long = 108;
-pub const SYS_vhangup: ::c_long = 111;
-pub const SYS_wait4: ::c_long = 114;
-pub const SYS_swapoff: ::c_long = 115;
-pub const SYS_sysinfo: ::c_long = 116;
-pub const SYS_ipc: ::c_long = 117;
-pub const SYS_fsync: ::c_long = 118;
-pub const SYS_sigreturn: ::c_long = 119;
-pub const SYS_clone: ::c_long = 120;
-pub const SYS_setdomainname: ::c_long = 121;
-pub const SYS_newuname: ::c_long = 122;
-pub const SYS_cacheflush: ::c_long = 123;
-pub const SYS_adjtimex_time32: ::c_long = 124;
-pub const SYS_mprotect: ::c_long = 125;
-pub const SYS_sigprocmask: ::c_long = 126;
-pub const SYS_create_module: ::c_long = 127;
-pub const SYS_init_module: ::c_long = 128;
-pub const SYS_delete_module: ::c_long = 129;
-pub const SYS_get_kernel_syms: ::c_long = 130;
-pub const SYS_quotactl: ::c_long = 131;
-pub const SYS_getpgid: ::c_long = 132;
-pub const SYS_fchdir: ::c_long = 133;
-pub const SYS_bdflush: ::c_long = 134;
-pub const SYS_sysfs: ::c_long = 135;
-pub const SYS_personality: ::c_long = 136;
-pub const SYS_setfsuid16: ::c_long = 138;
-pub const SYS_setfsgid16: ::c_long = 139;
-pub const SYS_llseek: ::c_long = 140;
-pub const SYS_getdents: ::c_long = 141;
-pub const SYS_select: ::c_long = 142;
-pub const SYS_flock: ::c_long = 143;
-pub const SYS_msync: ::c_long = 144;
-pub const SYS_readv: ::c_long = 145;
-pub const SYS_writev: ::c_long = 146;
-pub const SYS_getsid: ::c_long = 147;
-pub const SYS_fdatasync: ::c_long = 148;
-pub const SYS__sysctl: ::c_long = 149;
-pub const SYS_mlock: ::c_long = 150;
-pub const SYS_munlock: ::c_long = 151;
-pub const SYS_mlockall: ::c_long = 152;
-pub const SYS_munlockall: ::c_long = 153;
-pub const SYS_sched_setparam: ::c_long = 154;
-pub const SYS_sched_getparam: ::c_long = 155;
-pub const SYS_sched_setscheduler: ::c_long = 156;
-pub const SYS_sched_getscheduler: ::c_long = 157;
-pub const SYS_sched_yield: ::c_long = 158;
-pub const SYS_sched_get_priority_max: ::c_long = 159;
-pub const SYS_sched_get_priority_min: ::c_long = 160;
-pub const SYS_sched_rr_get_interval_time32: ::c_long = 161;
-pub const SYS_nanosleep_time32: ::c_long = 162;
-pub const SYS_mremap: ::c_long = 163;
-pub const SYS_setresuid16: ::c_long = 164;
-pub const SYS_getresuid16: ::c_long = 165;
-pub const SYS_getpagesize: ::c_long = 166;
-pub const SYS_query_module: ::c_long = 167;
-pub const SYS_poll: ::c_long = 168;
-pub const SYS_nfsservctl: ::c_long = 169;
-pub const SYS_setresgid16: ::c_long = 170;
-pub const SYS_getresgid16: ::c_long = 171;
-pub const SYS_prctl: ::c_long = 172;
-pub const SYS_rt_sigreturn: ::c_long = 173;
-pub const SYS_rt_sigaction: ::c_long = 174;
-pub const SYS_rt_sigprocmask: ::c_long = 175;
-pub const SYS_rt_sigpending: ::c_long = 176;
-pub const SYS_rt_sigtimedwait_time32: ::c_long = 177;
-pub const SYS_rt_sigqueueinfo: ::c_long = 178;
-pub const SYS_rt_sigsuspend: ::c_long = 179;
-pub const SYS_pread64: ::c_long = 180;
-pub const SYS_pwrite64: ::c_long = 181;
-pub const SYS_lchown16: ::c_long = 182;
-pub const SYS_getcwd: ::c_long = 183;
-pub const SYS_capget: ::c_long = 184;
-pub const SYS_capset: ::c_long = 185;
-pub const SYS_sigaltstack: ::c_long = 186;
-pub const SYS_sendfile: ::c_long = 187;
-pub const SYS_getpmsg: ::c_long = 188;
-pub const SYS_putpmsg: ::c_long = 189;
-pub const SYS_vfork: ::c_long = 190;
-pub const SYS_getrlimit: ::c_long = 191;
-pub const SYS_mmap2: ::c_long = 192;
-pub const SYS_truncate64: ::c_long = 193;
-pub const SYS_ftruncate64: ::c_long = 194;
-pub const SYS_stat64: ::c_long = 195;
-pub const SYS_lstat64: ::c_long = 196;
-pub const SYS_fstat64: ::c_long = 197;
-pub const SYS_chown: ::c_long = 198;
-pub const SYS_getuid: ::c_long = 199;
-pub const SYS_getgid: ::c_long = 200;
-pub const SYS_geteuid: ::c_long = 201;
-pub const SYS_getegid: ::c_long = 202;
-pub const SYS_setreuid: ::c_long = 203;
-pub const SYS_setregid: ::c_long = 204;
-pub const SYS_getgroups: ::c_long = 205;
-pub const SYS_setgroups: ::c_long = 206;
-pub const SYS_fchown: ::c_long = 207;
-pub const SYS_setresuid: ::c_long = 208;
-pub const SYS_getresuid: ::c_long = 209;
-pub const SYS_setresgid: ::c_long = 210;
-pub const SYS_getresgid: ::c_long = 211;
-pub const SYS_lchown: ::c_long = 212;
-pub const SYS_setuid: ::c_long = 213;
-pub const SYS_setgid: ::c_long = 214;
-pub const SYS_setfsuid: ::c_long = 215;
-pub const SYS_setfsgid: ::c_long = 216;
-pub const SYS_pivot_root: ::c_long = 217;
-pub const SYS_getdents64: ::c_long = 220;
-pub const SYS_gettid: ::c_long = 221;
-pub const SYS_tkill: ::c_long = 222;
-pub const SYS_setxattr: ::c_long = 223;
-pub const SYS_lsetxattr: ::c_long = 224;
-pub const SYS_fsetxattr: ::c_long = 225;
-pub const SYS_getxattr: ::c_long = 226;
-pub const SYS_lgetxattr: ::c_long = 227;
-pub const SYS_fgetxattr: ::c_long = 228;
-pub const SYS_listxattr: ::c_long = 229;
-pub const SYS_llistxattr: ::c_long = 230;
-pub const SYS_flistxattr: ::c_long = 231;
-pub const SYS_removexattr: ::c_long = 232;
-pub const SYS_lremovexattr: ::c_long = 233;
-pub const SYS_fremovexattr: ::c_long = 234;
-pub const SYS_futex_time32: ::c_long = 235;
-pub const SYS_sendfile64: ::c_long = 236;
-pub const SYS_mincore: ::c_long = 237;
-pub const SYS_madvise: ::c_long = 238;
-pub const SYS_fcntl64: ::c_long = 239;
-pub const SYS_readahead: ::c_long = 240;
-pub const SYS_io_setup: ::c_long = 241;
-pub const SYS_io_destroy: ::c_long = 242;
-pub const SYS_io_getevents_time32: ::c_long = 243;
-pub const SYS_io_submit: ::c_long = 244;
-pub const SYS_io_cancel: ::c_long = 245;
-pub const SYS_fadvise64: ::c_long = 246;
-pub const SYS_exit_group: ::c_long = 247;
-pub const SYS_lookup_dcookie: ::c_long = 248;
-pub const SYS_epoll_create: ::c_long = 249;
-pub const SYS_epoll_ctl: ::c_long = 250;
-pub const SYS_epoll_wait: ::c_long = 251;
-pub const SYS_remap_file_pages: ::c_long = 252;
-pub const SYS_set_tid_address: ::c_long = 253;
-pub const SYS_timer_create: ::c_long = 254;
-pub const SYS_timer_settime32: ::c_long = 255;
-pub const SYS_timer_gettime32: ::c_long = 256;
-pub const SYS_timer_getoverrun: ::c_long = 257;
-pub const SYS_timer_delete: ::c_long = 258;
-pub const SYS_clock_settime32: ::c_long = 259;
-pub const SYS_clock_gettime32: ::c_long = 260;
-pub const SYS_clock_getres_time32: ::c_long = 261;
-pub const SYS_clock_nanosleep_time32: ::c_long = 262;
-pub const SYS_statfs64: ::c_long = 263;
-pub const SYS_fstatfs64: ::c_long = 264;
-pub const SYS_tgkill: ::c_long = 265;
-pub const SYS_utimes_time32: ::c_long = 266;
-pub const SYS_fadvise64_64: ::c_long = 267;
-pub const SYS_mbind: ::c_long = 268;
-pub const SYS_get_mempolicy: ::c_long = 269;
-pub const SYS_set_mempolicy: ::c_long = 270;
-pub const SYS_mq_open: ::c_long = 271;
-pub const SYS_mq_unlink: ::c_long = 272;
-pub const SYS_mq_timedsend_time32: ::c_long = 273;
-pub const SYS_mq_timedreceive_time32: ::c_long = 274;
-pub const SYS_mq_notify: ::c_long = 275;
-pub const SYS_mq_getsetattr: ::c_long = 276;
-pub const SYS_waitid: ::c_long = 277;
-pub const SYS_add_key: ::c_long = 279;
-pub const SYS_request_key: ::c_long = 280;
-pub const SYS_keyctl: ::c_long = 281;
-pub const SYS_ioprio_set: ::c_long = 282;
-pub const SYS_ioprio_get: ::c_long = 283;
-pub const SYS_inotify_init: ::c_long = 284;
-pub const SYS_inotify_add_watch: ::c_long = 285;
-pub const SYS_inotify_rm_watch: ::c_long = 286;
-pub const SYS_migrate_pages: ::c_long = 287;
-pub const SYS_openat: ::c_long = 288;
-pub const SYS_mkdirat: ::c_long = 289;
-pub const SYS_mknodat: ::c_long = 290;
-pub const SYS_fchownat: ::c_long = 291;
-pub const SYS_futimesat_time32: ::c_long = 292;
-pub const SYS_fstatat64: ::c_long = 293;
-pub const SYS_unlinkat: ::c_long = 294;
-pub const SYS_renameat: ::c_long = 295;
-pub const SYS_linkat: ::c_long = 296;
-pub const SYS_symlinkat: ::c_long = 297;
-pub const SYS_readlinkat: ::c_long = 298;
-pub const SYS_fchmodat: ::c_long = 299;
-pub const SYS_faccessat: ::c_long = 300;
-pub const SYS_pselect6_time32: ::c_long = 301;
-pub const SYS_ppoll_time32: ::c_long = 302;
-pub const SYS_unshare: ::c_long = 303;
-pub const SYS_set_robust_list: ::c_long = 304;
-pub const SYS_get_robust_list: ::c_long = 305;
-pub const SYS_splice: ::c_long = 306;
-pub const SYS_sync_file_range: ::c_long = 307;
-pub const SYS_tee: ::c_long = 308;
-pub const SYS_vmsplice: ::c_long = 309;
-pub const SYS_move_pages: ::c_long = 310;
-pub const SYS_sched_setaffinity: ::c_long = 311;
-pub const SYS_sched_getaffinity: ::c_long = 312;
-pub const SYS_kexec_load: ::c_long = 313;
-pub const SYS_getcpu: ::c_long = 314;
-pub const SYS_epoll_pwait: ::c_long = 315;
-pub const SYS_utimensat_time32: ::c_long = 316;
-pub const SYS_signalfd: ::c_long = 317;
-pub const SYS_timerfd_create: ::c_long = 318;
-pub const SYS_eventfd: ::c_long = 319;
-pub const SYS_fallocate: ::c_long = 320;
-pub const SYS_timerfd_settime32: ::c_long = 321;
-pub const SYS_timerfd_gettime32: ::c_long = 322;
-pub const SYS_signalfd4: ::c_long = 323;
-pub const SYS_eventfd2: ::c_long = 324;
-pub const SYS_epoll_create1: ::c_long = 325;
-pub const SYS_dup3: ::c_long = 326;
-pub const SYS_pipe2: ::c_long = 327;
-pub const SYS_inotify_init1: ::c_long = 328;
-pub const SYS_preadv: ::c_long = 329;
-pub const SYS_pwritev: ::c_long = 330;
-pub const SYS_rt_tgsigqueueinfo: ::c_long = 331;
-pub const SYS_perf_event_open: ::c_long = 332;
-pub const SYS_get_thread_area: ::c_long = 333;
-pub const SYS_set_thread_area: ::c_long = 334;
-pub const SYS_atomic_cmpxchg_32: ::c_long = 335;
-pub const SYS_atomic_barrier: ::c_long = 336;
-pub const SYS_fanotify_init: ::c_long = 337;
-pub const SYS_fanotify_mark: ::c_long = 338;
-pub const SYS_prlimit64: ::c_long = 339;
-pub const SYS_name_to_handle_at: ::c_long = 340;
-pub const SYS_open_by_handle_at: ::c_long = 341;
-pub const SYS_clock_adjtime32: ::c_long = 342;
-pub const SYS_syncfs: ::c_long = 343;
-pub const SYS_setns: ::c_long = 344;
-pub const SYS_process_vm_readv: ::c_long = 345;
-pub const SYS_process_vm_writev: ::c_long = 346;
-pub const SYS_kcmp: ::c_long = 347;
-pub const SYS_finit_module: ::c_long = 348;
-pub const SYS_sched_setattr: ::c_long = 349;
-pub const SYS_sched_getattr: ::c_long = 350;
-pub const SYS_renameat2: ::c_long = 351;
-pub const SYS_getrandom: ::c_long = 352;
-pub const SYS_memfd_create: ::c_long = 353;
-pub const SYS_bpf: ::c_long = 354;
-pub const SYS_execveat: ::c_long = 355;
-pub const SYS_socket: ::c_long = 356;
-pub const SYS_socketpair: ::c_long = 357;
-pub const SYS_bind: ::c_long = 358;
-pub const SYS_connect: ::c_long = 359;
-pub const SYS_listen: ::c_long = 360;
-pub const SYS_accept4: ::c_long = 361;
-pub const SYS_getsockopt: ::c_long = 362;
-pub const SYS_setsockopt: ::c_long = 363;
-pub const SYS_getsockname: ::c_long = 364;
-pub const SYS_getpeername: ::c_long = 365;
-pub const SYS_sendto: ::c_long = 366;
-pub const SYS_sendmsg: ::c_long = 367;
-pub const SYS_recvfrom: ::c_long = 368;
-pub const SYS_recvmsg: ::c_long = 369;
-pub const SYS_shutdown: ::c_long = 370;
-pub const SYS_recvmmsg_time32: ::c_long = 371;
-pub const SYS_sendmmsg: ::c_long = 372;
-pub const SYS_userfaultfd: ::c_long = 373;
-pub const SYS_membarrier: ::c_long = 374;
-pub const SYS_mlock2: ::c_long = 375;
-pub const SYS_copy_file_range: ::c_long = 376;
-pub const SYS_preadv2: ::c_long = 377;
-pub const SYS_pwritev2: ::c_long = 378;
-pub const SYS_statx: ::c_long = 379;
-pub const SYS_seccomp: ::c_long = 380;
-pub const SYS_pkey_mprotect: ::c_long = 381;
-pub const SYS_pkey_alloc: ::c_long = 382;
-pub const SYS_pkey_free: ::c_long = 383;
-pub const SYS_rseq: ::c_long = 384;
-pub const SYS_semget: ::c_long = 393;
-pub const SYS_semctl: ::c_long = 394;
-pub const SYS_shmget: ::c_long = 395;
-pub const SYS_shmctl: ::c_long = 396;
-pub const SYS_shmat: ::c_long = 397;
-pub const SYS_shmdt: ::c_long = 398;
-pub const SYS_msgget: ::c_long = 399;
-pub const SYS_msgsnd: ::c_long = 400;
-pub const SYS_msgrcv: ::c_long = 401;
-pub const SYS_msgctl: ::c_long = 402;
-pub const SYS_clock_gettime: ::c_long = 403;
-pub const SYS_clock_settime: ::c_long = 404;
-pub const SYS_clock_adjtime: ::c_long = 405;
-pub const SYS_clock_getres: ::c_long = 406;
-pub const SYS_clock_nanosleep: ::c_long = 407;
-pub const SYS_timer_gettime: ::c_long = 408;
-pub const SYS_timer_settime: ::c_long = 409;
-pub const SYS_timerfd_gettime: ::c_long = 410;
-pub const SYS_timerfd_settime: ::c_long = 411;
-pub const SYS_utimensat: ::c_long = 412;
-pub const SYS_pselect6: ::c_long = 413;
-pub const SYS_ppoll: ::c_long = 414;
-pub const SYS_io_pgetevents: ::c_long = 416;
-pub const SYS_recvmmsg: ::c_long = 417;
-pub const SYS_mq_timedsend: ::c_long = 418;
-pub const SYS_mq_timedreceive: ::c_long = 419;
-pub const SYS_semtimedop: ::c_long = 420;
-pub const SYS_rt_sigtimedwait: ::c_long = 421;
-pub const SYS_futex: ::c_long = 422;
-pub const SYS_sched_rr_get_interval: ::c_long = 423;
-pub const SYS_pidfd_send_signal: ::c_long = 424;
-pub const SYS_io_uring_setup: ::c_long = 425;
-pub const SYS_io_uring_enter: ::c_long = 426;
-pub const SYS_io_uring_register: ::c_long = 427;
-pub const SYS_open_tree: ::c_long = 428;
-pub const SYS_move_mount: ::c_long = 429;
-pub const SYS_fsopen: ::c_long = 430;
-pub const SYS_fsconfig: ::c_long = 431;
-pub const SYS_fsmount: ::c_long = 432;
-pub const SYS_fspick: ::c_long = 433;
-pub const SYS_pidfd_open: ::c_long = 434;
-pub const SYS_clone3: ::c_long = 435;
-pub const SYS_close_range: ::c_long = 436;
-pub const SYS_openat2: ::c_long = 437;
-pub const SYS_pidfd_getfd: ::c_long = 438;
-pub const SYS_faccessat2: ::c_long = 439;
-pub const SYS_process_madvise: ::c_long = 440;
-pub const SYS_epoll_pwait2: ::c_long = 441;
-pub const SYS_mount_setattr: ::c_long = 442;
-pub const SYS_quotactl_fd: ::c_long = 443;
-pub const SYS_landlock_create_ruleset: ::c_long = 444;
-pub const SYS_landlock_add_rule: ::c_long = 445;
-pub const SYS_landlock_restrict_self: ::c_long = 446;
-pub const SYS_process_mrelease: ::c_long = 448;
-pub const SYS_futex_waitv: ::c_long = 449;
-pub const SYS_set_mempolicy_home_node: ::c_long = 450;
diff --git a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs
index 9106f70e..4ded201f 100644
--- a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs
@@ -153,6 +153,17 @@ s! {
pub l_pid: ::pid_t,
pad: [::c_long; 4],
}
+
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 23],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
}
pub const O_LARGEFILE: ::c_int = 0x2000;
@@ -657,6 +668,10 @@ pub const MAP_STACK: ::c_int = 0x40000;
pub const SOCK_STREAM: ::c_int = 2;
pub const SOCK_DGRAM: ::c_int = 1;
+pub const FIOCLEX: ::c_ulong = 0x6601;
+pub const FIONCLEX: ::c_ulong = 0x6602;
+pub const FIONBIO: ::c_ulong = 0x667e;
+
pub const SA_SIGINFO: ::c_int = 0x00000008;
pub const SA_NOCLDWAIT: ::c_int = 0x00010000;
@@ -711,6 +726,38 @@ pub const F_SETOWN: ::c_int = 24;
pub const SFD_NONBLOCK: ::c_int = 0x80;
+pub const TCGETS: ::c_ulong = 0x540d;
+pub const TCSETS: ::c_ulong = 0x540e;
+pub const TCSETSW: ::c_ulong = 0x540f;
+pub const TCSETSF: ::c_ulong = 0x5410;
+pub const TCGETA: ::c_ulong = 0x5401;
+pub const TCSETA: ::c_ulong = 0x5402;
+pub const TCSETAW: ::c_ulong = 0x5403;
+pub const TCSETAF: ::c_ulong = 0x5404;
+pub const TCSBRK: ::c_ulong = 0x5405;
+pub const TCXONC: ::c_ulong = 0x5406;
+pub const TCFLSH: ::c_ulong = 0x5407;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5481;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x5482;
+pub const TIOCINQ: ::c_ulong = 0x467f;
+pub const TIOCLINUX: ::c_ulong = 0x5483;
+pub const TIOCGSERIAL: ::c_ulong = 0x5484;
+pub const TIOCEXCL: ::c_ulong = 0x740d;
+pub const TIOCNXCL: ::c_ulong = 0x740e;
+pub const TIOCSCTTY: ::c_ulong = 0x5480;
+pub const TIOCGPGRP: ::c_ulong = 0x40047477;
+pub const TIOCSPGRP: ::c_ulong = 0x80047476;
+pub const TIOCOUTQ: ::c_ulong = 0x7472;
+pub const TIOCSTI: ::c_ulong = 0x5472;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const TIOCMGET: ::c_ulong = 0x741d;
+pub const TIOCMBIS: ::c_ulong = 0x741b;
+pub const TIOCMBIC: ::c_ulong = 0x741c;
+pub const TIOCMSET: ::c_ulong = 0x741a;
+pub const FIONREAD: ::c_ulong = 0x467f;
+pub const TIOCCONS: ::c_ulong = 0x80047478;
+
pub const RTLD_DEEPBIND: ::c_int = 0x10;
pub const RTLD_GLOBAL: ::c_int = 0x4;
pub const RTLD_NOLOAD: ::c_int = 0x8;
@@ -790,6 +837,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -806,6 +854,13 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
+pub const TIOCM_ST: ::c_int = 0x010;
+pub const TIOCM_SR: ::c_int = 0x020;
+pub const TIOCM_CTS: ::c_int = 0x040;
+pub const TIOCM_CAR: ::c_int = 0x100;
+pub const TIOCM_RNG: ::c_int = 0x200;
+pub const TIOCM_DSR: ::c_int = 0x400;
+
pub const EHWPOISON: ::c_int = 168;
cfg_if! {
diff --git a/src/unix/linux_like/linux/gnu/b32/mod.rs b/src/unix/linux_like/linux/gnu/b32/mod.rs
index ad0d64c5..239492b1 100644
--- a/src/unix/linux_like/linux/gnu/b32/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/mod.rs
@@ -11,11 +11,9 @@ pub type msgqnum_t = ::c_ulong;
pub type msglen_t = ::c_ulong;
pub type nlink_t = u32;
pub type __u64 = ::c_ulonglong;
-pub type __s64 = ::c_longlong;
pub type __fsword_t = i32;
pub type fsblkcnt64_t = u64;
pub type fsfilcnt64_t = u64;
-pub type __syscall_ulong_t = ::c_ulong;
cfg_if! {
if #[cfg(target_arch = "riscv32")] {
@@ -135,21 +133,10 @@ s! {
pub _f: [::c_char; 8],
}
- pub struct semid_ds {
- pub sem_perm: ipc_perm,
- #[cfg(target_arch = "powerpc")]
- __reserved: ::__syscall_ulong_t,
- pub sem_otime: ::time_t,
- #[cfg(not(any(target_arch = "mips", target_arch = "powerpc")))]
- __reserved: ::__syscall_ulong_t,
- #[cfg(target_arch = "powerpc")]
- __reserved2: ::__syscall_ulong_t,
- pub sem_ctime: ::time_t,
- #[cfg(not(any(target_arch = "mips", target_arch = "powerpc")))]
- __reserved2: ::__syscall_ulong_t,
- pub sem_nsems: ::__syscall_ulong_t,
- __glibc_reserved3: ::__syscall_ulong_t,
- __glibc_reserved4: ::__syscall_ulong_t,
+ pub struct ip_mreqn {
+ pub imr_multiaddr: ::in_addr,
+ pub imr_address: ::in_addr,
+ pub imr_ifindex: ::c_int,
}
}
@@ -317,6 +304,9 @@ pub const PTRACE_SETFPREGS: ::c_uint = 15;
pub const PTRACE_GETREGS: ::c_uint = 12;
pub const PTRACE_SETREGS: ::c_uint = 13;
+pub const TIOCSBRK: ::c_int = 0x5427;
+pub const TIOCCBRK: ::c_int = 0x5428;
+
extern "C" {
pub fn sysctl(
name: *mut ::c_int,
@@ -338,9 +328,6 @@ cfg_if! {
} else if #[cfg(target_arch = "mips")] {
mod mips;
pub use self::mips::*;
- } else if #[cfg(target_arch = "m68k")] {
- mod m68k;
- pub use self::m68k::*;
} else if #[cfg(target_arch = "powerpc")] {
mod powerpc;
pub use self::powerpc::*;
diff --git a/src/unix/linux_like/linux/gnu/b32/powerpc.rs b/src/unix/linux_like/linux/gnu/b32/powerpc.rs
index a615e52c..59c1e1c8 100644
--- a/src/unix/linux_like/linux/gnu/b32/powerpc.rs
+++ b/src/unix/linux_like/linux/gnu/b32/powerpc.rs
@@ -192,6 +192,15 @@ pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const MADV_SOFT_OFFLINE: ::c_int = 101;
pub const MAP_LOCKED: ::c_int = 0x00080;
pub const MAP_NORESERVE: ::c_int = 0x00040;
@@ -297,6 +306,10 @@ pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
pub const SOCK_STREAM: ::c_int = 1;
pub const SOCK_DGRAM: ::c_int = 2;
+pub const FIOCLEX: ::c_ulong = 0x20006601;
+pub const FIONCLEX: ::c_ulong = 0x20006602;
+pub const FIONBIO: ::c_ulong = 0x8004667e;
+
pub const MCL_CURRENT: ::c_int = 0x2000;
pub const MCL_FUTURE: ::c_int = 0x4000;
@@ -310,6 +323,18 @@ pub const F_SETOWN: ::c_int = 8;
pub const EFD_NONBLOCK: ::c_int = 0x800;
pub const SFD_NONBLOCK: ::c_int = 0x0800;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const TIOCCONS: ::c_ulong = 0x541D;
+
pub const SIGCHLD: ::c_int = 17;
pub const SIGBUS: ::c_int = 7;
pub const SIGUSR1: ::c_int = 10;
@@ -421,6 +446,7 @@ pub const B2500000: ::speed_t = 0o0033;
pub const B3000000: ::speed_t = 0o0034;
pub const B3500000: ::speed_t = 0o0035;
pub const B4000000: ::speed_t = 0o0036;
+pub const BOTHER: ::speed_t = 0o0037;
pub const VEOL: usize = 6;
pub const VEOL2: usize = 8;
@@ -429,6 +455,26 @@ pub const IEXTEN: ::tcflag_t = 0x400;
pub const TOSTOP: ::tcflag_t = 0x400000;
pub const FLUSHO: ::tcflag_t = 0x800000;
pub const EXTPROC: ::tcflag_t = 0x10000000;
+pub const TCGETS: ::c_ulong = 0x403c7413;
+pub const TCSETS: ::c_ulong = 0x803c7414;
+pub const TCSETSW: ::c_ulong = 0x803c7415;
+pub const TCSETSF: ::c_ulong = 0x803c7416;
+pub const TCGETA: ::c_ulong = 0x40147417;
+pub const TCSETA: ::c_ulong = 0x80147418;
+pub const TCSETAW: ::c_ulong = 0x80147419;
+pub const TCSETAF: ::c_ulong = 0x8014741c;
+pub const TCSBRK: ::c_ulong = 0x2000741d;
+pub const TCXONC: ::c_ulong = 0x2000741e;
+pub const TCFLSH: ::c_ulong = 0x2000741f;
+pub const TIOCINQ: ::c_ulong = 0x4004667f;
+pub const TIOCGPGRP: ::c_ulong = 0x40047477;
+pub const TIOCSPGRP: ::c_ulong = 0x80047476;
+pub const TIOCOUTQ: ::c_ulong = 0x40047473;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const TIOCGRS485: ::c_int = 0x542e;
+pub const TIOCSRS485: ::c_int = 0x542f;
+pub const FIONREAD: ::c_ulong = 0x4004667f;
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/gnu/b32/riscv32/align.rs b/src/unix/linux_like/linux/gnu/b32/riscv32/align.rs
deleted file mode 100644
index 48d152a5..00000000
--- a/src/unix/linux_like/linux/gnu/b32/riscv32/align.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-s_no_extra_traits! {
- #[allow(missing_debug_implementations)]
- pub struct ucontext_t {
- pub __uc_flags: ::c_ulong,
- pub uc_link: *mut ucontext_t,
- pub uc_stack: ::stack_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_mcontext: mcontext_t,
- }
-
- #[allow(missing_debug_implementations)]
- #[repr(align(16))]
- pub struct mcontext_t {
- pub __gregs: [::c_ulong; 32],
- pub __fpregs: __riscv_mc_fp_state,
- }
-
- #[allow(missing_debug_implementations)]
- pub union __riscv_mc_fp_state {
- pub __f: __riscv_mc_f_ext_state,
- pub __d: __riscv_mc_d_ext_state,
- pub __q: __riscv_mc_q_ext_state,
- }
-
- #[allow(missing_debug_implementations)]
- pub struct __riscv_mc_f_ext_state {
- pub __f: [::c_uint; 32],
- pub __fcsr: ::c_uint,
- }
-
- #[allow(missing_debug_implementations)]
- pub struct __riscv_mc_d_ext_state {
- pub __f: [::c_ulonglong; 32],
- pub __fcsr: ::c_uint,
- }
-
- #[allow(missing_debug_implementations)]
- #[repr(align(16))]
- pub struct __riscv_mc_q_ext_state {
- pub __f: [::c_ulonglong; 64],
- pub __fcsr: ::c_uint,
- pub __glibc_reserved: [::c_uint; 3],
- }
-}
diff --git a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs
index 9d77c0ba..96ee5a3b 100644
--- a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs
@@ -203,6 +203,10 @@ pub const VEOF: usize = 4;
pub const RTLD_DEEPBIND: ::c_int = 0x8;
pub const RTLD_GLOBAL: ::c_int = 0x100;
pub const RTLD_NOLOAD: ::c_int = 0x4;
+pub const TIOCGSOFTCAR: ::c_ulong = 21529;
+pub const TIOCSSOFTCAR: ::c_ulong = 21530;
+pub const TIOCGRS485: ::c_int = 21550;
+pub const TIOCSRS485: ::c_int = 21551;
pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
@@ -217,7 +221,6 @@ pub const O_SYNC: ::c_int = 1052672;
pub const O_RSYNC: ::c_int = 1052672;
pub const O_DSYNC: ::c_int = 4096;
pub const O_FSYNC: ::c_int = 1052672;
-pub const MADV_SOFT_OFFLINE: ::c_int = 101;
pub const MAP_GROWSDOWN: ::c_int = 256;
pub const EDEADLK: ::c_int = 35;
pub const ENAMETOOLONG: ::c_int = 36;
@@ -337,6 +340,23 @@ pub const SFD_NONBLOCK: ::c_int = 2048;
pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 21532;
+pub const TIOCGSERIAL: ::c_ulong = 21534;
+pub const TIOCEXCL: ::c_ulong = 21516;
+pub const TIOCNXCL: ::c_ulong = 21517;
+pub const TIOCSCTTY: ::c_ulong = 21518;
+pub const TIOCSTI: ::c_ulong = 21522;
+pub const TIOCMGET: ::c_ulong = 21525;
+pub const TIOCMBIS: ::c_ulong = 21526;
+pub const TIOCMBIC: ::c_ulong = 21527;
+pub const TIOCMSET: ::c_ulong = 21528;
+pub const TIOCCONS: ::c_ulong = 21533;
+pub const TIOCM_ST: ::c_int = 8;
+pub const TIOCM_SR: ::c_int = 16;
+pub const TIOCM_CTS: ::c_int = 32;
+pub const TIOCM_CAR: ::c_int = 64;
+pub const TIOCM_RNG: ::c_int = 128;
+pub const TIOCM_DSR: ::c_int = 256;
pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
@@ -360,6 +380,9 @@ pub const ENOTNAM: ::c_int = 118;
pub const ENAVAIL: ::c_int = 119;
pub const EISNAM: ::c_int = 120;
pub const EREMOTEIO: ::c_int = 121;
+pub const FIOCLEX: ::c_ulong = 21585;
+pub const FIONCLEX: ::c_ulong = 21584;
+pub const FIONBIO: ::c_ulong = 21537;
pub const MCL_CURRENT: ::c_int = 1;
pub const MCL_FUTURE: ::c_int = 2;
pub const SIGSTKSZ: ::size_t = 8192;
@@ -455,18 +478,26 @@ pub const IEXTEN: ::tcflag_t = 32768;
pub const TOSTOP: ::tcflag_t = 256;
pub const FLUSHO: ::tcflag_t = 4096;
pub const EXTPROC: ::tcflag_t = 65536;
+pub const TCGETS: ::c_ulong = 21505;
+pub const TCSETS: ::c_ulong = 21506;
+pub const TCSETSW: ::c_ulong = 21507;
+pub const TCSETSF: ::c_ulong = 21508;
+pub const TCGETA: ::c_ulong = 21509;
+pub const TCSETA: ::c_ulong = 21510;
+pub const TCSETAW: ::c_ulong = 21511;
+pub const TCSETAF: ::c_ulong = 21512;
+pub const TCSBRK: ::c_ulong = 21513;
+pub const TCXONC: ::c_ulong = 21514;
+pub const TCFLSH: ::c_ulong = 21515;
+pub const TIOCINQ: ::c_ulong = 21531;
+pub const TIOCGPGRP: ::c_ulong = 21519;
+pub const TIOCSPGRP: ::c_ulong = 21520;
+pub const TIOCOUTQ: ::c_ulong = 21521;
+pub const TIOCGWINSZ: ::c_ulong = 21523;
+pub const TIOCSWINSZ: ::c_ulong = 21524;
+pub const FIONREAD: ::c_ulong = 21531;
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
-pub const NGREG: usize = 32;
-pub const REG_PC: usize = 0;
-pub const REG_RA: usize = 1;
-pub const REG_SP: usize = 2;
-pub const REG_TP: usize = 4;
-pub const REG_S0: usize = 8;
-pub const REG_S1: usize = 9;
-pub const REG_A0: usize = 10;
-pub const REG_S2: usize = 18;
-pub const REG_NARGS: usize = 8;
pub const SYS_read: ::c_long = 63;
pub const SYS_write: ::c_long = 64;
@@ -762,10 +793,3 @@ pub const SYS_faccessat2: ::c_long = 439;
pub const SYS_process_madvise: ::c_long = 440;
pub const SYS_epoll_pwait2: ::c_long = 441;
pub const SYS_mount_setattr: ::c_long = 442;
-
-cfg_if! {
- if #[cfg(libc_align)] {
- mod align;
- pub use self::align::*;
- }
-}
diff --git a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs
index 90a57bd8..43648140 100644
--- a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs
@@ -191,6 +191,17 @@ s! {
__glibc_reserved1: ::c_ulong,
__glibc_reserved2: ::c_ulong,
}
+
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
}
pub const RLIM_INFINITY: ::rlim_t = !0;
@@ -199,6 +210,9 @@ pub const RTLD_DEEPBIND: ::c_int = 0x8;
pub const RTLD_GLOBAL: ::c_int = 0x100;
pub const RTLD_NOLOAD: ::c_int = 0x4;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x40047464;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x80047465;
+
pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
@@ -353,6 +367,25 @@ pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCEXCL: ::c_ulong = 0x2000740d;
+pub const TIOCNXCL: ::c_ulong = 0x2000740e;
+pub const TIOCSCTTY: ::c_ulong = 0x20007484;
+pub const TIOCSTI: ::c_ulong = 0x80017472;
+pub const TIOCMGET: ::c_ulong = 0x4004746a;
+pub const TIOCMBIS: ::c_ulong = 0x8004746c;
+pub const TIOCMBIC: ::c_ulong = 0x8004746b;
+pub const TIOCMSET: ::c_ulong = 0x8004746d;
+pub const TIOCCONS: ::c_ulong = 0x20007424;
+
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const O_DIRECTORY: ::c_int = 0o200000;
pub const O_NOFOLLOW: ::c_int = 0o400000;
pub const O_LARGEFILE: ::c_int = 0x40000;
@@ -368,6 +401,10 @@ pub const ENAVAIL: ::c_int = 119;
pub const EISNAM: ::c_int = 120;
pub const EREMOTEIO: ::c_int = 121;
+pub const FIOCLEX: ::c_ulong = 0x20006601;
+pub const FIONCLEX: ::c_ulong = 0x20006602;
+pub const FIONBIO: ::c_ulong = 0x8004667e;
+
pub const MCL_CURRENT: ::c_int = 0x2000;
pub const MCL_FUTURE: ::c_int = 0x4000;
@@ -443,6 +480,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0x1000;
pub const B57600: ::speed_t = 0x1001;
pub const B115200: ::speed_t = 0x1002;
pub const B230400: ::speed_t = 0x1003;
@@ -466,6 +504,24 @@ pub const IEXTEN: ::tcflag_t = 0x8000;
pub const TOSTOP: ::tcflag_t = 0x100;
pub const FLUSHO: ::tcflag_t = 0x1000;
pub const EXTPROC: ::tcflag_t = 0x10000;
+pub const TCGETS: ::c_ulong = 0x40245408;
+pub const TCSETS: ::c_ulong = 0x80245409;
+pub const TCSETSW: ::c_ulong = 0x8024540a;
+pub const TCSETSF: ::c_ulong = 0x8024540b;
+pub const TCGETA: ::c_ulong = 0x40125401;
+pub const TCSETA: ::c_ulong = 0x80125402;
+pub const TCSETAW: ::c_ulong = 0x80125403;
+pub const TCSETAF: ::c_ulong = 0x80125404;
+pub const TCSBRK: ::c_ulong = 0x20005405;
+pub const TCXONC: ::c_ulong = 0x20005406;
+pub const TCFLSH: ::c_ulong = 0x20005407;
+pub const TIOCINQ: ::c_ulong = 0x4004667f;
+pub const TIOCGPGRP: ::c_ulong = 0x40047483;
+pub const TIOCSPGRP: ::c_ulong = 0x80047482;
+pub const TIOCOUTQ: ::c_ulong = 0x40047473;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const FIONREAD: ::c_ulong = 0x4004667f;
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs
index 705f5660..75edd278 100644
--- a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs
@@ -215,6 +215,17 @@ s! {
__glibc_reserved5: ::c_ulong,
}
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
+
pub struct siginfo_t {
pub si_signo: ::c_int,
pub si_errno: ::c_int,
@@ -235,12 +246,6 @@ s! {
pub ss_flags: ::c_int,
pub ss_size: ::size_t
}
-
- pub struct seccomp_notif_sizes {
- pub seccomp_notif: ::__u16,
- pub seccomp_notif_resp: ::__u16,
- pub seccomp_data: ::__u16,
- }
}
s_no_extra_traits! {
@@ -506,6 +511,10 @@ pub const F_GETLK: ::c_int = 5;
pub const F_GETOWN: ::c_int = 9;
pub const F_SETOWN: ::c_int = 8;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
+pub const FIONBIO: ::c_ulong = 0x5421;
+
pub const PTRACE_GETFPXREGS: ::c_uint = 18;
pub const PTRACE_SETFPXREGS: ::c_uint = 19;
pub const PTRACE_SYSEMU: ::c_uint = 31;
@@ -599,6 +608,18 @@ pub const FFDLY: ::tcflag_t = 0o100000;
pub const VTDLY: ::tcflag_t = 0o040000;
pub const XTABS: ::tcflag_t = 0o014000;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const TIOCCONS: ::c_ulong = 0x541D;
+
pub const B0: ::speed_t = 0o000000;
pub const B50: ::speed_t = 0o000001;
pub const B75: ::speed_t = 0o000002;
@@ -617,6 +638,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -640,11 +662,40 @@ pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
pub const EXTPROC: ::tcflag_t = 0x00010000;
+pub const TCGETS: ::c_ulong = 0x5401;
+pub const TCSETS: ::c_ulong = 0x5402;
+pub const TCSETSW: ::c_ulong = 0x5403;
+pub const TCSETSF: ::c_ulong = 0x5404;
+pub const TCGETA: ::c_ulong = 0x5405;
+pub const TCSETA: ::c_ulong = 0x5406;
+pub const TCSETAW: ::c_ulong = 0x5407;
+pub const TCSETAF: ::c_ulong = 0x5408;
+pub const TCSBRK: ::c_ulong = 0x5409;
+pub const TCXONC: ::c_ulong = 0x540A;
+pub const TCFLSH: ::c_ulong = 0x540B;
+pub const TIOCINQ: ::c_ulong = 0x541B;
+pub const TIOCGPGRP: ::c_ulong = 0x540F;
+pub const TIOCSPGRP: ::c_ulong = 0x5410;
+pub const TIOCOUTQ: ::c_ulong = 0x5411;
+pub const TIOCGWINSZ: ::c_ulong = 0x5413;
+pub const TIOCSWINSZ: ::c_ulong = 0x5414;
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+pub const FIONREAD: ::c_ulong = 0x541B;
pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
// Syscall table
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
@@ -1086,11 +1137,6 @@ pub const REG_EFL: ::c_int = 16;
pub const REG_UESP: ::c_int = 17;
pub const REG_SS: ::c_int = 18;
-pub const SECCOMP_SET_MODE_STRICT: ::c_uint = 0;
-pub const SECCOMP_SET_MODE_FILTER: ::c_uint = 1;
-pub const SECCOMP_GET_ACTION_AVAIL: ::c_uint = 2;
-pub const SECCOMP_GET_NOTIF_SIZES: ::c_uint = 3;
-
extern "C" {
pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int;
pub fn setcontext(ucp: *const ucontext_t) -> ::c_int;
diff --git a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs
index dd7c058b..35fe3061 100644
--- a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs
@@ -6,7 +6,6 @@ pub type nlink_t = u32;
pub type blksize_t = i32;
pub type suseconds_t = i64;
pub type __u64 = ::c_ulonglong;
-pub type __s64 = ::c_longlong;
s! {
pub struct sigaction {
@@ -143,13 +142,6 @@ s! {
__size: [usize; 8]
}
- pub struct user_regs_struct {
- pub regs: [::c_ulonglong; 31],
- pub sp: ::c_ulonglong,
- pub pc: ::c_ulonglong,
- pub pstate: ::c_ulonglong,
- }
-
pub struct ipc_perm {
pub __key: ::key_t,
pub uid: ::uid_t,
@@ -176,6 +168,17 @@ s! {
__unused5: ::c_ulong
}
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
+
pub struct siginfo_t {
pub si_signo: ::c_int,
pub si_errno: ::c_int,
@@ -197,10 +200,10 @@ s! {
pub ss_size: ::size_t
}
- pub struct seccomp_notif_sizes {
- pub seccomp_notif: ::__u16,
- pub seccomp_notif_resp: ::__u16,
- pub seccomp_data: ::__u16,
+ pub struct ip_mreqn {
+ pub imr_multiaddr: ::in_addr,
+ pub imr_address: ::in_addr,
+ pub imr_ifindex: ::c_int,
}
}
@@ -377,6 +380,29 @@ pub const F_UNLCK: ::c_int = 2;
pub const SFD_NONBLOCK: ::c_int = 0x0800;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+pub const TIOCCONS: ::c_ulong = 0x541D;
+pub const TIOCSBRK: ::c_ulong = 0x5427;
+pub const TIOCCBRK: ::c_ulong = 0x5428;
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const SFD_CLOEXEC: ::c_int = 0x080000;
pub const NCCS: usize = 32;
@@ -427,6 +453,10 @@ pub const MAP_SYNC: ::c_int = 0x080000;
pub const EDEADLOCK: ::c_int = 35;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
+pub const FIONBIO: ::c_ulong = 0x5421;
+
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
@@ -502,6 +532,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -518,11 +549,6 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
-pub const SECCOMP_SET_MODE_STRICT: ::c_uint = 0;
-pub const SECCOMP_SET_MODE_FILTER: ::c_uint = 1;
-pub const SECCOMP_GET_ACTION_AVAIL: ::c_uint = 2;
-pub const SECCOMP_GET_NOTIF_SIZES: ::c_uint = 3;
-
pub const VEOL: usize = 11;
pub const VEOL2: usize = 16;
pub const VMIN: usize = 6;
@@ -530,11 +556,32 @@ pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
pub const EXTPROC: ::tcflag_t = 0x00010000;
+pub const TCGETS: ::c_ulong = 0x5401;
+pub const TCSETS: ::c_ulong = 0x5402;
+pub const TCSETSW: ::c_ulong = 0x5403;
+pub const TCSETSF: ::c_ulong = 0x5404;
+pub const TCGETA: ::c_ulong = 0x5405;
+pub const TCSETA: ::c_ulong = 0x5406;
+pub const TCSETAW: ::c_ulong = 0x5407;
+pub const TCSETAF: ::c_ulong = 0x5408;
+pub const TCSBRK: ::c_ulong = 0x5409;
+pub const TCXONC: ::c_ulong = 0x540A;
+pub const TCFLSH: ::c_ulong = 0x540B;
+pub const TIOCINQ: ::c_ulong = 0x541B;
+pub const TIOCGPGRP: ::c_ulong = 0x540F;
+pub const TIOCSPGRP: ::c_ulong = 0x5410;
+pub const TIOCOUTQ: ::c_ulong = 0x5411;
+pub const TIOCGWINSZ: ::c_ulong = 0x5413;
+pub const TIOCSWINSZ: ::c_ulong = 0x5414;
+pub const FIONREAD: ::c_ulong = 0x541B;
pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+
// sys/auxv.h
pub const HWCAP_FP: ::c_ulong = 1 << 0;
pub const HWCAP_ASIMD: ::c_ulong = 1 << 1;
diff --git a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs
index 0d7fb221..87939566 100644
--- a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs
@@ -8,7 +8,6 @@ pub type nlink_t = u64;
pub type suseconds_t = i64;
pub type wchar_t = i32;
pub type __u64 = ::c_ulong;
-pub type __s64 = ::c_long;
s! {
pub struct stat {
@@ -184,6 +183,17 @@ s! {
__unused4: ::c_ulong,
__unused5: ::c_ulong
}
+
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 23],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
}
pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
@@ -746,6 +756,10 @@ pub const MAP_HUGETLB: ::c_int = 0x080000;
pub const SOCK_STREAM: ::c_int = 2;
pub const SOCK_DGRAM: ::c_int = 1;
+pub const FIOCLEX: ::c_ulong = 0x6601;
+pub const FIONCLEX: ::c_ulong = 0x6602;
+pub const FIONBIO: ::c_ulong = 0x667e;
+
pub const SA_ONSTACK: ::c_int = 0x08000000;
pub const SA_SIGINFO: ::c_int = 0x00000008;
pub const SA_NOCLDWAIT: ::c_int = 0x00010000;
@@ -812,6 +826,40 @@ pub const F_OFD_SETLKW: ::c_int = 38;
pub const SFD_NONBLOCK: ::c_int = 0x80;
+pub const TCGETS: ::c_ulong = 0x540d;
+pub const TCSETS: ::c_ulong = 0x540e;
+pub const TCSETSW: ::c_ulong = 0x540f;
+pub const TCSETSF: ::c_ulong = 0x5410;
+pub const TCGETA: ::c_ulong = 0x5401;
+pub const TCSETA: ::c_ulong = 0x5402;
+pub const TCSETAW: ::c_ulong = 0x5403;
+pub const TCSETAF: ::c_ulong = 0x5404;
+pub const TCSBRK: ::c_ulong = 0x5405;
+pub const TCXONC: ::c_ulong = 0x5406;
+pub const TCFLSH: ::c_ulong = 0x5407;
+pub const TIOCSBRK: ::c_ulong = 0x5427;
+pub const TIOCCBRK: ::c_ulong = 0x5428;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5481;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x5482;
+pub const TIOCINQ: ::c_ulong = 0x467f;
+pub const TIOCLINUX: ::c_ulong = 0x5483;
+pub const TIOCGSERIAL: ::c_ulong = 0x5484;
+pub const TIOCEXCL: ::c_ulong = 0x740d;
+pub const TIOCNXCL: ::c_ulong = 0x740e;
+pub const TIOCSCTTY: ::c_ulong = 0x5480;
+pub const TIOCGPGRP: ::c_ulong = 0x40047477;
+pub const TIOCSPGRP: ::c_ulong = 0x80047476;
+pub const TIOCOUTQ: ::c_ulong = 0x7472;
+pub const TIOCSTI: ::c_ulong = 0x5472;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const TIOCMGET: ::c_ulong = 0x741d;
+pub const TIOCMBIS: ::c_ulong = 0x741b;
+pub const TIOCMBIC: ::c_ulong = 0x741c;
+pub const TIOCMSET: ::c_ulong = 0x741a;
+pub const FIONREAD: ::c_ulong = 0x467f;
+pub const TIOCCONS: ::c_ulong = 0x80047478;
+
pub const RTLD_DEEPBIND: ::c_int = 0x10;
pub const RTLD_GLOBAL: ::c_int = 0x4;
pub const RTLD_NOLOAD: ::c_int = 0x8;
@@ -891,6 +939,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -907,6 +956,13 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
+pub const TIOCM_ST: ::c_int = 0x010;
+pub const TIOCM_SR: ::c_int = 0x020;
+pub const TIOCM_CTS: ::c_int = 0x040;
+pub const TIOCM_CAR: ::c_int = 0x100;
+pub const TIOCM_RNG: ::c_int = 0x200;
+pub const TIOCM_DSR: ::c_int = 0x400;
+
pub const EHWPOISON: ::c_int = 168;
extern "C" {
diff --git a/src/unix/linux_like/linux/gnu/b64/mod.rs b/src/unix/linux_like/linux/gnu/b64/mod.rs
index db82f26d..138adc91 100644
--- a/src/unix/linux_like/linux/gnu/b64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/mod.rs
@@ -9,11 +9,6 @@ pub type msglen_t = u64;
pub type fsblkcnt_t = u64;
pub type fsfilcnt_t = u64;
pub type rlim_t = u64;
-#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
-pub type __syscall_ulong_t = ::c_ulonglong;
-#[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
-pub type __syscall_ulong_t = ::c_ulong;
-
cfg_if! {
if #[cfg(all(target_arch = "aarch64", target_pointer_width = "32"))] {
pub type clock_t = i32;
@@ -65,28 +60,6 @@ s! {
__glibc_reserved5: u64,
}
- pub struct semid_ds {
- pub sem_perm: ipc_perm,
- pub sem_otime: ::time_t,
- #[cfg(not(any(
- target_arch = "aarch64",
- target_arch = "mips64",
- target_arch = "powerpc64",
- target_arch = "riscv64",
- target_arch = "sparc64")))]
- __reserved: ::__syscall_ulong_t,
- pub sem_ctime: ::time_t,
- #[cfg(not(any(
- target_arch = "aarch64",
- target_arch = "mips64",
- target_arch = "powerpc64",
- target_arch = "riscv64",
- target_arch = "sparc64")))]
- __reserved2: ::__syscall_ulong_t,
- pub sem_nsems: ::__syscall_ulong_t,
- __glibc_reserved3: ::__syscall_ulong_t,
- __glibc_reserved4: ::__syscall_ulong_t,
- }
}
pub const RLIM_INFINITY: ::rlim_t = !0;
diff --git a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs
index 0a71e224..dcaeaf52 100644
--- a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs
@@ -10,7 +10,6 @@ pub type nlink_t = u64;
pub type blksize_t = i64;
pub type suseconds_t = i64;
pub type __u64 = ::c_ulong;
-pub type __s64 = ::c_long;
s! {
pub struct sigaction {
@@ -191,6 +190,12 @@ s! {
pub ss_flags: ::c_int,
pub ss_size: ::size_t
}
+
+ pub struct ip_mreqn {
+ pub imr_multiaddr: ::in_addr,
+ pub imr_address: ::in_addr,
+ pub imr_ifindex: ::c_int,
+ }
}
pub const POSIX_FADV_DONTNEED: ::c_int = 4;
@@ -202,6 +207,9 @@ pub const RTLD_NOLOAD: ::c_int = 0x4;
pub const VEOF: usize = 4;
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+
pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
@@ -373,6 +381,29 @@ pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const TIOCCONS: ::c_ulong = 0x541D;
+pub const TIOCSBRK: ::c_ulong = 0x5427;
+pub const TIOCCBRK: ::c_ulong = 0x5428;
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const SFD_CLOEXEC: ::c_int = 0x080000;
pub const NCCS: usize = 32;
@@ -475,6 +506,10 @@ pub const ENAVAIL: ::c_int = 119;
pub const EISNAM: ::c_int = 120;
pub const EREMOTEIO: ::c_int = 121;
+pub const FIOCLEX: ::c_ulong = 0x20006601;
+pub const FIONCLEX: ::c_ulong = 0x20006602;
+pub const FIONBIO: ::c_ulong = 0x8004667e;
+
pub const MCL_CURRENT: ::c_int = 0x2000;
pub const MCL_FUTURE: ::c_int = 0x4000;
@@ -564,6 +599,7 @@ pub const B2500000: ::speed_t = 0o0033;
pub const B3000000: ::speed_t = 0o0034;
pub const B3500000: ::speed_t = 0o0035;
pub const B4000000: ::speed_t = 0o0036;
+pub const BOTHER: ::speed_t = 0o0037;
pub const VEOL: usize = 6;
pub const VEOL2: usize = 8;
@@ -572,6 +608,24 @@ pub const IEXTEN: ::tcflag_t = 0x400;
pub const TOSTOP: ::tcflag_t = 0x400000;
pub const FLUSHO: ::tcflag_t = 0x800000;
pub const EXTPROC: ::tcflag_t = 0x10000000;
+pub const TCGETS: ::c_ulong = 0x403c7413;
+pub const TCSETS: ::c_ulong = 0x803c7414;
+pub const TCSETSW: ::c_ulong = 0x803c7415;
+pub const TCSETSF: ::c_ulong = 0x803c7416;
+pub const TCGETA: ::c_ulong = 0x40147417;
+pub const TCSETA: ::c_ulong = 0x80147418;
+pub const TCSETAW: ::c_ulong = 0x80147419;
+pub const TCSETAF: ::c_ulong = 0x8014741c;
+pub const TCSBRK: ::c_ulong = 0x2000741d;
+pub const TCXONC: ::c_ulong = 0x2000741e;
+pub const TCFLSH: ::c_ulong = 0x2000741f;
+pub const TIOCINQ: ::c_ulong = 0x4004667f;
+pub const TIOCGPGRP: ::c_ulong = 0x40047477;
+pub const TIOCSPGRP: ::c_ulong = 0x80047476;
+pub const TIOCOUTQ: ::c_ulong = 0x40047473;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const FIONREAD: ::c_ulong = 0x4004667f;
// Syscall table
pub const SYS_restart_syscall: ::c_long = 0;
diff --git a/src/unix/linux_like/linux/gnu/b64/riscv64/align.rs b/src/unix/linux_like/linux/gnu/b64/riscv64/align.rs
deleted file mode 100644
index 48d152a5..00000000
--- a/src/unix/linux_like/linux/gnu/b64/riscv64/align.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-s_no_extra_traits! {
- #[allow(missing_debug_implementations)]
- pub struct ucontext_t {
- pub __uc_flags: ::c_ulong,
- pub uc_link: *mut ucontext_t,
- pub uc_stack: ::stack_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_mcontext: mcontext_t,
- }
-
- #[allow(missing_debug_implementations)]
- #[repr(align(16))]
- pub struct mcontext_t {
- pub __gregs: [::c_ulong; 32],
- pub __fpregs: __riscv_mc_fp_state,
- }
-
- #[allow(missing_debug_implementations)]
- pub union __riscv_mc_fp_state {
- pub __f: __riscv_mc_f_ext_state,
- pub __d: __riscv_mc_d_ext_state,
- pub __q: __riscv_mc_q_ext_state,
- }
-
- #[allow(missing_debug_implementations)]
- pub struct __riscv_mc_f_ext_state {
- pub __f: [::c_uint; 32],
- pub __fcsr: ::c_uint,
- }
-
- #[allow(missing_debug_implementations)]
- pub struct __riscv_mc_d_ext_state {
- pub __f: [::c_ulonglong; 32],
- pub __fcsr: ::c_uint,
- }
-
- #[allow(missing_debug_implementations)]
- #[repr(align(16))]
- pub struct __riscv_mc_q_ext_state {
- pub __f: [::c_ulonglong; 64],
- pub __fcsr: ::c_uint,
- pub __glibc_reserved: [::c_uint; 3],
- }
-}
diff --git a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs
index e2abb37e..c656189c 100644
--- a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs
@@ -11,7 +11,6 @@ pub type fsblkcnt64_t = ::c_ulong;
pub type fsfilcnt64_t = ::c_ulong;
pub type suseconds_t = i64;
pub type __u64 = ::c_ulonglong;
-pub type __s64 = ::c_longlong;
s! {
pub struct pthread_attr_t {
@@ -192,6 +191,12 @@ s! {
pub l_len: ::off64_t,
pub l_pid: ::pid_t,
}
+
+ pub struct ip_mreqn {
+ pub imr_multiaddr: ::in_addr,
+ pub imr_address: ::in_addr,
+ pub imr_ifindex: ::c_int,
+ }
}
pub const POSIX_FADV_DONTNEED: ::c_int = 4;
@@ -200,6 +205,10 @@ pub const VEOF: usize = 4;
pub const RTLD_DEEPBIND: ::c_int = 0x8;
pub const RTLD_GLOBAL: ::c_int = 0x100;
pub const RTLD_NOLOAD: ::c_int = 0x4;
+pub const TIOCGSOFTCAR: ::c_ulong = 21529;
+pub const TIOCSSOFTCAR: ::c_ulong = 21530;
+pub const TIOCGRS485: ::c_int = 21550;
+pub const TIOCSRS485: ::c_int = 21551;
pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
@@ -217,7 +226,6 @@ pub const O_FSYNC: ::c_int = 1052672;
pub const O_NOATIME: ::c_int = 262144;
pub const O_PATH: ::c_int = 2097152;
pub const O_TMPFILE: ::c_int = 4259840;
-pub const MADV_SOFT_OFFLINE: ::c_int = 101;
pub const MAP_GROWSDOWN: ::c_int = 256;
pub const EDEADLK: ::c_int = 35;
pub const ENAMETOOLONG: ::c_int = 36;
@@ -347,6 +355,23 @@ pub const SFD_NONBLOCK: ::c_int = 2048;
pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 21532;
+pub const TIOCGSERIAL: ::c_ulong = 21534;
+pub const TIOCEXCL: ::c_ulong = 21516;
+pub const TIOCNXCL: ::c_ulong = 21517;
+pub const TIOCSCTTY: ::c_ulong = 21518;
+pub const TIOCSTI: ::c_ulong = 21522;
+pub const TIOCMGET: ::c_ulong = 21525;
+pub const TIOCMBIS: ::c_ulong = 21526;
+pub const TIOCMBIC: ::c_ulong = 21527;
+pub const TIOCMSET: ::c_ulong = 21528;
+pub const TIOCCONS: ::c_ulong = 21533;
+pub const TIOCM_ST: ::c_int = 8;
+pub const TIOCM_SR: ::c_int = 16;
+pub const TIOCM_CTS: ::c_int = 32;
+pub const TIOCM_CAR: ::c_int = 64;
+pub const TIOCM_RNG: ::c_int = 128;
+pub const TIOCM_DSR: ::c_int = 256;
pub const SFD_CLOEXEC: ::c_int = 524288;
pub const NCCS: usize = 32;
pub const O_TRUNC: ::c_int = 512;
@@ -393,12 +418,9 @@ pub const ENOTNAM: ::c_int = 118;
pub const ENAVAIL: ::c_int = 119;
pub const EISNAM: ::c_int = 120;
pub const EREMOTEIO: ::c_int = 121;
-pub const PTRACE_GETFPREGS: ::c_uint = 14;
-pub const PTRACE_SETFPREGS: ::c_uint = 15;
-pub const PTRACE_GETFPXREGS: ::c_uint = 18;
-pub const PTRACE_SETFPXREGS: ::c_uint = 19;
-pub const PTRACE_GETREGS: ::c_uint = 12;
-pub const PTRACE_SETREGS: ::c_uint = 13;
+pub const FIOCLEX: ::c_ulong = 21585;
+pub const FIONCLEX: ::c_ulong = 21584;
+pub const FIONBIO: ::c_ulong = 21537;
pub const MCL_CURRENT: ::c_int = 1;
pub const MCL_FUTURE: ::c_int = 2;
pub const SIGSTKSZ: ::size_t = 8192;
@@ -494,19 +516,26 @@ pub const IEXTEN: ::tcflag_t = 32768;
pub const TOSTOP: ::tcflag_t = 256;
pub const FLUSHO: ::tcflag_t = 4096;
pub const EXTPROC: ::tcflag_t = 65536;
+pub const TCGETS: ::c_ulong = 21505;
+pub const TCSETS: ::c_ulong = 21506;
+pub const TCSETSW: ::c_ulong = 21507;
+pub const TCSETSF: ::c_ulong = 21508;
+pub const TCGETA: ::c_ulong = 21509;
+pub const TCSETA: ::c_ulong = 21510;
+pub const TCSETAW: ::c_ulong = 21511;
+pub const TCSETAF: ::c_ulong = 21512;
+pub const TCSBRK: ::c_ulong = 21513;
+pub const TCXONC: ::c_ulong = 21514;
+pub const TCFLSH: ::c_ulong = 21515;
+pub const TIOCINQ: ::c_ulong = 21531;
+pub const TIOCGPGRP: ::c_ulong = 21519;
+pub const TIOCSPGRP: ::c_ulong = 21520;
+pub const TIOCOUTQ: ::c_ulong = 21521;
+pub const TIOCGWINSZ: ::c_ulong = 21523;
+pub const TIOCSWINSZ: ::c_ulong = 21524;
+pub const FIONREAD: ::c_ulong = 21531;
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
-pub const NGREG: usize = 32;
-pub const REG_PC: usize = 0;
-pub const REG_RA: usize = 1;
-pub const REG_SP: usize = 2;
-pub const REG_TP: usize = 4;
-pub const REG_S0: usize = 8;
-pub const REG_S1: usize = 9;
-pub const REG_A0: usize = 10;
-pub const REG_S2: usize = 18;
-pub const REG_NARGS: usize = 8;
-
pub const SYS_read: ::c_long = 63;
pub const SYS_write: ::c_long = 64;
pub const SYS_close: ::c_long = 57;
@@ -801,10 +830,3 @@ pub const SYS_faccessat2: ::c_long = 439;
pub const SYS_process_madvise: ::c_long = 440;
pub const SYS_epoll_pwait2: ::c_long = 441;
pub const SYS_mount_setattr: ::c_long = 442;
-
-cfg_if! {
- if #[cfg(libc_align)] {
- mod align;
- pub use self::align::*;
- }
-}
diff --git a/src/unix/linux_like/linux/gnu/b64/s390x.rs b/src/unix/linux_like/linux/gnu/b64/s390x.rs
index c906aeb8..7685a34f 100644
--- a/src/unix/linux_like/linux/gnu/b64/s390x.rs
+++ b/src/unix/linux_like/linux/gnu/b64/s390x.rs
@@ -11,7 +11,6 @@ pub type suseconds_t = i64;
pub type wchar_t = i32;
pub type greg_t = u64;
pub type __u64 = u64;
-pub type __s64 = i64;
s! {
pub struct sigaction {
@@ -154,6 +153,17 @@ s! {
__f_spare: [::c_int; 6],
}
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
+
pub struct __psw_t {
pub mask: u64,
pub addr: u64,
@@ -330,6 +340,9 @@ pub const EDEADLK: ::c_int = 35;
pub const ENOSYS: ::c_int = 38;
pub const ENOTCONN: ::c_int = 107;
pub const ETIMEDOUT: ::c_int = 110;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
+pub const FIONBIO: ::c_ulong = 0x5421;
pub const O_APPEND: ::c_int = 1024;
pub const O_CREAT: ::c_int = 64;
pub const O_EXCL: ::c_int = 128;
@@ -372,7 +385,6 @@ pub const MAP_POPULATE: ::c_int = 0x08000;
pub const MAP_NONBLOCK: ::c_int = 0x010000;
pub const MAP_STACK: ::c_int = 0x020000;
pub const MAP_HUGETLB: ::c_int = 0x040000;
-pub const MAP_SYNC: ::c_int = 0x080000;
pub const EDEADLOCK: ::c_int = 35;
pub const ENAMETOOLONG: ::c_int = 36;
@@ -502,10 +514,51 @@ pub const F_OFD_SETLKW: ::c_int = 38;
pub const SFD_NONBLOCK: ::c_int = 0x0800;
+pub const TCGETS: ::c_ulong = 0x5401;
+pub const TCSETS: ::c_ulong = 0x5402;
+pub const TCSETSW: ::c_ulong = 0x5403;
+pub const TCSETSF: ::c_ulong = 0x5404;
+pub const TCGETA: ::c_ulong = 0x5405;
+pub const TCSETA: ::c_ulong = 0x5406;
+pub const TCSETAW: ::c_ulong = 0x5407;
+pub const TCSETAF: ::c_ulong = 0x5408;
+pub const TCSBRK: ::c_ulong = 0x5409;
+pub const TCXONC: ::c_ulong = 0x540A;
+pub const TCFLSH: ::c_ulong = 0x540B;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+pub const TIOCINQ: ::c_ulong = 0x541B;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCGPGRP: ::c_ulong = 0x540F;
+pub const TIOCSPGRP: ::c_ulong = 0x5410;
+pub const TIOCOUTQ: ::c_ulong = 0x5411;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCGWINSZ: ::c_ulong = 0x5413;
+pub const TIOCSWINSZ: ::c_ulong = 0x5414;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const FIONREAD: ::c_ulong = 0x541B;
+pub const TIOCCONS: ::c_ulong = 0x541D;
+pub const TIOCSBRK: ::c_ulong = 0x5427;
+pub const TIOCCBRK: ::c_ulong = 0x5428;
+
pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const VTIME: usize = 5;
pub const VSWTC: usize = 7;
pub const VSTART: usize = 8;
@@ -563,6 +616,7 @@ pub const PARODD: ::tcflag_t = 0o001000;
pub const HUPCL: ::tcflag_t = 0o002000;
pub const CLOCAL: ::tcflag_t = 0o004000;
pub const CBAUDEX: ::tcflag_t = 0o010000;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
diff --git a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs
index 89ac913a..5ed83ab8 100644
--- a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs
@@ -10,7 +10,6 @@ pub type nlink_t = u32;
pub type blksize_t = i64;
pub type suseconds_t = i32;
pub type __u64 = ::c_ulonglong;
-pub type __s64 = ::c_longlong;
s! {
pub struct sigaction {
@@ -194,6 +193,17 @@ s! {
__reserved1: ::c_ulong,
__reserved2: ::c_ulong
}
+
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
}
pub const POSIX_FADV_DONTNEED: ::c_int = 4;
@@ -205,6 +215,9 @@ pub const RTLD_GLOBAL: ::c_int = 0x100;
pub const RTLD_NOLOAD: ::c_int = 0x4;
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x40047464;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x80047465;
+
pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
@@ -351,7 +364,7 @@ pub const POLLWRBAND: ::c_short = 0x100;
pub const O_ASYNC: ::c_int = 0x40;
pub const O_NDELAY: ::c_int = 0x4004;
-pub const PTRACE_DETACH: ::c_uint = 17;
+pub const PTRACE_DETACH: ::c_uint = 11;
pub const EFD_NONBLOCK: ::c_int = 0x4000;
@@ -374,6 +387,27 @@ pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCEXCL: ::c_ulong = 0x2000740d;
+pub const TIOCNXCL: ::c_ulong = 0x2000740e;
+pub const TIOCCONS: ::c_ulong = 0x20007424;
+pub const TIOCMGET: ::c_ulong = 0x4004746a;
+pub const TIOCMBIC: ::c_ulong = 0x8004746b;
+pub const TIOCMBIS: ::c_ulong = 0x8004746c;
+pub const TIOCMSET: ::c_ulong = 0x8004746d;
+pub const TIOCSTI: ::c_ulong = 0x80017472;
+pub const TIOCCBRK: ::c_ulong = 0x2000747a;
+pub const TIOCSBRK: ::c_ulong = 0x2000747b;
+pub const TIOCSCTTY: ::c_ulong = 0x20007484;
+
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const SFD_CLOEXEC: ::c_int = 0x400000;
pub const NCCS: usize = 17;
@@ -446,6 +480,10 @@ pub const ENAVAIL: ::c_int = 119;
pub const EISNAM: ::c_int = 120;
pub const EREMOTEIO: ::c_int = 121;
+pub const FIOCLEX: ::c_ulong = 0x20006601;
+pub const FIONCLEX: ::c_ulong = 0x20006602;
+pub const FIONBIO: ::c_ulong = 0x8004667e;
+
pub const MCL_CURRENT: ::c_int = 0x2000;
pub const MCL_FUTURE: ::c_int = 0x4000;
@@ -521,6 +559,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0x1000;
pub const B57600: ::speed_t = 0x1001;
pub const B115200: ::speed_t = 0x1002;
pub const B230400: ::speed_t = 0x1003;
@@ -544,6 +583,24 @@ pub const IEXTEN: ::tcflag_t = 0x8000;
pub const TOSTOP: ::tcflag_t = 0x100;
pub const FLUSHO: ::tcflag_t = 0x1000;
pub const EXTPROC: ::tcflag_t = 0x10000;
+pub const TCGETS: ::c_ulong = 0x40245408;
+pub const TCSETS: ::c_ulong = 0x80245409;
+pub const TCSETSW: ::c_ulong = 0x8024540a;
+pub const TCSETSF: ::c_ulong = 0x8024540b;
+pub const TCGETA: ::c_ulong = 0x40125401;
+pub const TCSETA: ::c_ulong = 0x80125402;
+pub const TCSETAW: ::c_ulong = 0x80125403;
+pub const TCSETAF: ::c_ulong = 0x80125404;
+pub const TCSBRK: ::c_ulong = 0x20005405;
+pub const TCXONC: ::c_ulong = 0x20005406;
+pub const TCFLSH: ::c_ulong = 0x20005407;
+pub const TIOCINQ: ::c_ulong = 0x4004667f;
+pub const TIOCGPGRP: ::c_ulong = 0x40047483;
+pub const TIOCSPGRP: ::c_ulong = 0x80047482;
+pub const TIOCOUTQ: ::c_ulong = 0x40047473;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const FIONREAD: ::c_ulong = 0x4004667f;
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
index 281f23e8..99937dfa 100644
--- a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
@@ -7,7 +7,6 @@ pub type blksize_t = i64;
pub type greg_t = i64;
pub type suseconds_t = i64;
pub type __u64 = ::c_ulonglong;
-pub type __s64 = ::c_longlong;
s! {
pub struct sigaction {
@@ -260,10 +259,21 @@ s! {
__unused5: u64
}
- pub struct seccomp_notif_sizes {
- pub seccomp_notif: ::__u16,
- pub seccomp_notif_resp: ::__u16,
- pub seccomp_data: ::__u16,
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
+
+ pub struct ip_mreqn {
+ pub imr_multiaddr: ::in_addr,
+ pub imr_address: ::in_addr,
+ pub imr_ifindex: ::c_int,
}
}
@@ -399,6 +409,10 @@ pub const VEOF: usize = 4;
pub const RTLD_DEEPBIND: ::c_int = 0x8;
pub const RTLD_GLOBAL: ::c_int = 0x100;
pub const RTLD_NOLOAD: ::c_int = 0x4;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
@@ -563,6 +577,25 @@ pub const TCSANOW: ::c_int = 0;
pub const TCSADRAIN: ::c_int = 1;
pub const TCSAFLUSH: ::c_int = 2;
+pub const TIOCLINUX: ::c_ulong = 0x541C;
+pub const TIOCGSERIAL: ::c_ulong = 0x541E;
+pub const TIOCEXCL: ::c_ulong = 0x540C;
+pub const TIOCNXCL: ::c_ulong = 0x540D;
+pub const TIOCSCTTY: ::c_ulong = 0x540E;
+pub const TIOCSTI: ::c_ulong = 0x5412;
+pub const TIOCMGET: ::c_ulong = 0x5415;
+pub const TIOCMBIS: ::c_ulong = 0x5416;
+pub const TIOCMBIC: ::c_ulong = 0x5417;
+pub const TIOCMSET: ::c_ulong = 0x5418;
+pub const TIOCCONS: ::c_ulong = 0x541D;
+
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const SFD_CLOEXEC: ::c_int = 0x080000;
pub const NCCS: usize = 32;
@@ -622,6 +655,10 @@ pub const ENAVAIL: ::c_int = 119;
pub const EISNAM: ::c_int = 120;
pub const EREMOTEIO: ::c_int = 121;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
+pub const FIONBIO: ::c_ulong = 0x5421;
+
pub const PTRACE_GETFPREGS: ::c_uint = 14;
pub const PTRACE_SETFPREGS: ::c_uint = 15;
pub const PTRACE_GETFPXREGS: ::c_uint = 18;
@@ -707,6 +744,7 @@ pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
pub const EXTA: ::speed_t = B19200;
pub const EXTB: ::speed_t = B38400;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -730,6 +768,26 @@ pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
pub const EXTPROC: ::tcflag_t = 0x00010000;
+pub const TCGETS: ::c_ulong = 0x5401;
+pub const TCSETS: ::c_ulong = 0x5402;
+pub const TCSETSW: ::c_ulong = 0x5403;
+pub const TCSETSF: ::c_ulong = 0x5404;
+pub const TCGETA: ::c_ulong = 0x5405;
+pub const TCSETA: ::c_ulong = 0x5406;
+pub const TCSETAW: ::c_ulong = 0x5407;
+pub const TCSETAF: ::c_ulong = 0x5408;
+pub const TCSBRK: ::c_ulong = 0x5409;
+pub const TCXONC: ::c_ulong = 0x540A;
+pub const TCFLSH: ::c_ulong = 0x540B;
+pub const TIOCINQ: ::c_ulong = 0x541B;
+pub const TIOCGPGRP: ::c_ulong = 0x540F;
+pub const TIOCSPGRP: ::c_ulong = 0x5410;
+pub const TIOCOUTQ: ::c_ulong = 0x5411;
+pub const TIOCGWINSZ: ::c_ulong = 0x5413;
+pub const TIOCSWINSZ: ::c_ulong = 0x5414;
+pub const FIONREAD: ::c_ulong = 0x541B;
+pub const TIOCSBRK: ::c_ulong = 0x5427;
+pub const TIOCCBRK: ::c_ulong = 0x5428;
// offsets in user_regs_structs, from sys/reg.h
pub const R15: ::c_int = 0;
@@ -785,11 +843,6 @@ pub const REG_TRAPNO: ::c_int = 20;
pub const REG_OLDMASK: ::c_int = 21;
pub const REG_CR2: ::c_int = 22;
-pub const SECCOMP_SET_MODE_STRICT: ::c_uint = 0;
-pub const SECCOMP_SET_MODE_FILTER: ::c_uint = 1;
-pub const SECCOMP_GET_ACTION_AVAIL: ::c_uint = 2;
-pub const SECCOMP_GET_NOTIF_SIZES: ::c_uint = 3;
-
extern "C" {
pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int;
pub fn setcontext(ucp: *const ucontext_t) -> ::c_int;
diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs
index 058f2f72..09cddb9f 100644
--- a/src/unix/linux_like/linux/gnu/mod.rs
+++ b/src/unix/linux_like/linux/gnu/mod.rs
@@ -4,16 +4,6 @@ pub type __rlimit_resource_t = ::c_uint;
pub type Lmid_t = ::c_long;
pub type regoff_t = ::c_int;
-cfg_if! {
- if #[cfg(doc)] {
- // Used in `linux::arch` to define ioctl constants.
- pub(crate) type Ioctl = ::c_ulong;
- } else {
- #[doc(hidden)]
- pub type Ioctl = ::c_ulong;
- }
-}
-
s! {
pub struct statx {
pub stx_mask: u32,
@@ -138,17 +128,17 @@ s! {
pub keepcost: ::c_int,
}
- pub struct mallinfo2 {
- pub arena: ::size_t,
- pub ordblks: ::size_t,
- pub smblks: ::size_t,
- pub hblks: ::size_t,
- pub hblkhd: ::size_t,
- pub usmblks: ::size_t,
- pub fsmblks: ::size_t,
- pub uordblks: ::size_t,
- pub fordblks: ::size_t,
- pub keepcost: ::size_t,
+ pub struct nlmsghdr {
+ pub nlmsg_len: u32,
+ pub nlmsg_type: u16,
+ pub nlmsg_flags: u16,
+ pub nlmsg_seq: u32,
+ pub nlmsg_pid: u32,
+ }
+
+ pub struct nlmsgerr {
+ pub error: ::c_int,
+ pub msg: nlmsghdr,
}
pub struct nl_pktinfo {
@@ -171,6 +161,11 @@ s! {
pub nm_gid: u32,
}
+ pub struct nlattr {
+ pub nla_len: u16,
+ pub nla_type: u16,
+ }
+
pub struct rtentry {
pub rt_pad1: ::c_ulong,
pub rt_dst: ::sockaddr,
@@ -305,51 +300,6 @@ s! {
pub ch_size: ::Elf32_Word,
pub ch_addralign: ::Elf32_Word,
}
-
- pub struct seminfo {
- pub semmap: ::c_int,
- pub semmni: ::c_int,
- pub semmns: ::c_int,
- pub semmnu: ::c_int,
- pub semmsl: ::c_int,
- pub semopm: ::c_int,
- pub semume: ::c_int,
- pub semusz: ::c_int,
- pub semvmx: ::c_int,
- pub semaem: ::c_int,
- }
-
- pub struct ptrace_peeksiginfo_args {
- pub off: ::__u64,
- pub flags: ::__u32,
- pub nr: ::__s32,
- }
-
- pub struct __c_anonymous_ptrace_syscall_info_entry {
- pub nr: ::__u64,
- pub args: [::__u64; 6],
- }
-
- pub struct __c_anonymous_ptrace_syscall_info_exit {
- pub sval: ::__s64,
- pub is_error: ::__u8,
- }
-
- pub struct __c_anonymous_ptrace_syscall_info_seccomp {
- pub nr: ::__u64,
- pub args: [::__u64; 6],
- pub ret_data: ::__u32,
- }
-
- pub struct ptrace_syscall_info {
- pub op: ::__u8,
- pub pad: [::__u8; 3],
- pub arch: ::__u32,
- pub instruction_pointer: ::__u64,
- pub stack_pointer: ::__u64,
- #[cfg(libc_union)]
- pub u: __c_anonymous_ptrace_syscall_info_data,
- }
}
impl siginfo_t {
@@ -437,18 +387,6 @@ cfg_if! {
self.sifields().sigchld.si_stime
}
}
-
- pub union __c_anonymous_ptrace_syscall_info_data {
- pub entry: __c_anonymous_ptrace_syscall_info_entry,
- pub exit: __c_anonymous_ptrace_syscall_info_exit,
- pub seccomp: __c_anonymous_ptrace_syscall_info_seccomp,
- }
- impl ::Copy for __c_anonymous_ptrace_syscall_info_data {}
- impl ::Clone for __c_anonymous_ptrace_syscall_info_data {
- fn clone(&self) -> __c_anonymous_ptrace_syscall_info_data {
- *self
- }
- }
}
}
@@ -547,44 +485,6 @@ cfg_if! {
self.__glibc_reserved.hash(state);
}
}
-
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_ptrace_syscall_info_data {
- fn eq(&self, other: &__c_anonymous_ptrace_syscall_info_data) -> bool {
- unsafe {
- self.entry == other.entry ||
- self.exit == other.exit ||
- self.seccomp == other.seccomp
- }
- }
- }
-
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_ptrace_syscall_info_data {}
-
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_ptrace_syscall_info_data {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("__c_anonymous_ptrace_syscall_info_data")
- .field("entry", &self.entry)
- .field("exit", &self.exit)
- .field("seccomp", &self.seccomp)
- .finish()
- }
- }
- }
-
- #[cfg(libc_union)]
- impl ::hash::Hash for __c_anonymous_ptrace_syscall_info_data {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- self.entry.hash(state);
- self.exit.hash(state);
- self.seccomp.hash(state);
- }
- }
- }
}
}
@@ -641,7 +541,6 @@ pub const RLIMIT_NICE: ::__rlimit_resource_t = 13;
pub const RLIMIT_RTPRIO: ::__rlimit_resource_t = 14;
pub const RLIMIT_RTTIME: ::__rlimit_resource_t = 15;
pub const RLIMIT_NLIMITS: ::__rlimit_resource_t = 16;
-pub const RLIM_NLIMITS: ::__rlimit_resource_t = RLIMIT_NLIMITS;
pub const PRIO_PROCESS: ::__priority_which_t = 0;
pub const PRIO_PGRP: ::__priority_which_t = 1;
@@ -679,7 +578,6 @@ pub const RTLD_DI_TLS_MODID: ::c_int = 9;
pub const RTLD_DI_TLS_DATA: ::c_int = 10;
pub const SOCK_NONBLOCK: ::c_int = O_NONBLOCK;
-pub const PIDFD_NONBLOCK: ::c_uint = O_NONBLOCK as ::c_uint;
pub const SOL_RXRPC: ::c_int = 272;
pub const SOL_PPPOL2TP: ::c_int = 273;
@@ -723,6 +621,18 @@ pub const SOCK_SEQPACKET: ::c_int = 5;
pub const SOCK_DCCP: ::c_int = 6;
pub const SOCK_PACKET: ::c_int = 10;
+pub const TCP_COOKIE_TRANSACTIONS: ::c_int = 15;
+pub const TCP_THIN_LINEAR_TIMEOUTS: ::c_int = 16;
+pub const TCP_THIN_DUPACK: ::c_int = 17;
+pub const TCP_USER_TIMEOUT: ::c_int = 18;
+pub const TCP_REPAIR: ::c_int = 19;
+pub const TCP_REPAIR_QUEUE: ::c_int = 20;
+pub const TCP_QUEUE_SEQ: ::c_int = 21;
+pub const TCP_REPAIR_OPTIONS: ::c_int = 22;
+pub const TCP_FASTOPEN: ::c_int = 23;
+pub const TCP_TIMESTAMP: ::c_int = 24;
+pub const TCP_FASTOPEN_CONNECT: ::c_int = 30;
+
pub const FAN_MARK_INODE: ::c_uint = 0x0000_0000;
pub const FAN_MARK_MOUNT: ::c_uint = 0x0000_0010;
// NOTE: FAN_MARK_FILESYSTEM requires Linux Kernel >= 4.20.0
@@ -846,15 +756,114 @@ pub const O_ACCMODE: ::c_int = 3;
pub const ST_RELATIME: ::c_ulong = 4096;
pub const NI_MAXHOST: ::socklen_t = 1025;
-// Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the
-// following are only available on newer Linux versions than the versions
-// currently used in CI in some configurations, so we define them here.
cfg_if! {
if #[cfg(not(target_arch = "s390x"))] {
+ pub const ADFS_SUPER_MAGIC: ::c_long = 0x0000adf5;
+ pub const AFFS_SUPER_MAGIC: ::c_long = 0x0000adff;
+ pub const AFS_SUPER_MAGIC: ::c_long = 0x5346414f;
+ pub const AUTOFS_SUPER_MAGIC: ::c_long = 0x0187;
pub const BINDERFS_SUPER_MAGIC: ::c_long = 0x6c6f6f70;
+ pub const BPF_FS_MAGIC: ::c_long = 0xcafe4a11;
+ pub const BTRFS_SUPER_MAGIC: ::c_long = 0x9123683e;
+ pub const CGROUP2_SUPER_MAGIC: ::c_long = 0x63677270;
+ pub const CGROUP_SUPER_MAGIC: ::c_long = 0x27e0eb;
+ pub const CODA_SUPER_MAGIC: ::c_long = 0x73757245;
+ pub const CRAMFS_MAGIC: ::c_long = 0x28cd3d45;
+ pub const DEBUGFS_MAGIC: ::c_long = 0x64626720;
+ pub const DEVPTS_SUPER_MAGIC: ::c_long = 0x1cd1;
+ pub const ECRYPTFS_SUPER_MAGIC: ::c_long = 0xf15f;
+ pub const EFS_SUPER_MAGIC: ::c_long = 0x00414a53;
+ pub const EXT2_SUPER_MAGIC: ::c_long = 0x0000ef53;
+ pub const EXT3_SUPER_MAGIC: ::c_long = 0x0000ef53;
+ pub const EXT4_SUPER_MAGIC: ::c_long = 0x0000ef53;
+ pub const F2FS_SUPER_MAGIC: ::c_long = 0xf2f52010;
+ pub const FUTEXFS_SUPER_MAGIC: ::c_long = 0xbad1dea;
+ pub const HOSTFS_SUPER_MAGIC: ::c_long = 0x00c0ffee;
+ pub const HPFS_SUPER_MAGIC: ::c_long = 0xf995e849;
+ pub const HUGETLBFS_MAGIC: ::c_long = 0x958458f6;
+ pub const ISOFS_SUPER_MAGIC: ::c_long = 0x00009660;
+ pub const JFFS2_SUPER_MAGIC: ::c_long = 0x000072b6;
+ pub const MINIX2_SUPER_MAGIC2: ::c_long = 0x00002478;
+ pub const MINIX2_SUPER_MAGIC: ::c_long = 0x00002468;
+ pub const MINIX3_SUPER_MAGIC: ::c_long = 0x4d5a;
+ pub const MINIX_SUPER_MAGIC2: ::c_long = 0x0000138f;
+ pub const MINIX_SUPER_MAGIC: ::c_long = 0x0000137f;
+ pub const MSDOS_SUPER_MAGIC: ::c_long = 0x00004d44;
+ pub const NCP_SUPER_MAGIC: ::c_long = 0x0000564c;
+ pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969;
+ pub const NILFS_SUPER_MAGIC: ::c_long = 0x3434;
+ pub const OCFS2_SUPER_MAGIC: ::c_long = 0x7461636f;
+ pub const OPENPROM_SUPER_MAGIC: ::c_long = 0x00009fa1;
+ pub const OVERLAYFS_SUPER_MAGIC: ::c_long = 0x794c7630;
+ pub const PROC_SUPER_MAGIC: ::c_long = 0x00009fa0;
+ pub const QNX4_SUPER_MAGIC: ::c_long = 0x0000002f;
+ pub const QNX6_SUPER_MAGIC: ::c_long = 0x68191122;
+ pub const RDTGROUP_SUPER_MAGIC: ::c_long = 0x7655821;
+ pub const REISERFS_SUPER_MAGIC: ::c_long = 0x52654973;
+ pub const SECURITYFS_MAGIC: ::c_long = 0x73636673;
+ pub const SELINUX_MAGIC: ::c_long = 0xf97cff8c;
+ pub const SMACK_MAGIC: ::c_long = 0x43415d53;
+ pub const SMB_SUPER_MAGIC: ::c_long = 0x0000517b;
+ pub const SYSFS_MAGIC: ::c_long = 0x62656572;
+ pub const TMPFS_MAGIC: ::c_long = 0x01021994;
+ pub const TRACEFS_MAGIC: ::c_long = 0x74726163;
+ pub const UDF_SUPER_MAGIC: ::c_long = 0x15013346;
+ pub const USBDEVICE_SUPER_MAGIC: ::c_long = 0x00009fa2;
+ pub const XENFS_SUPER_MAGIC: ::c_long = 0xabba1974;
pub const XFS_SUPER_MAGIC: ::c_long = 0x58465342;
} else if #[cfg(target_arch = "s390x")] {
+ pub const ADFS_SUPER_MAGIC: ::c_uint = 0x0000adf5;
+ pub const AFFS_SUPER_MAGIC: ::c_uint = 0x0000adff;
+ pub const AFS_SUPER_MAGIC: ::c_uint = 0x5346414f;
+ pub const AUTOFS_SUPER_MAGIC: ::c_uint = 0x0187;
pub const BINDERFS_SUPER_MAGIC: ::c_uint = 0x6c6f6f70;
+ pub const BPF_FS_MAGIC: ::c_uint = 0xcafe4a11;
+ pub const BTRFS_SUPER_MAGIC: ::c_uint = 0x9123683e;
+ pub const CGROUP2_SUPER_MAGIC: ::c_uint = 0x63677270;
+ pub const CGROUP_SUPER_MAGIC: ::c_uint = 0x27e0eb;
+ pub const CODA_SUPER_MAGIC: ::c_uint = 0x73757245;
+ pub const CRAMFS_MAGIC: ::c_uint = 0x28cd3d45;
+ pub const DEBUGFS_MAGIC: ::c_uint = 0x64626720;
+ pub const DEVPTS_SUPER_MAGIC: ::c_uint = 0x1cd1;
+ pub const ECRYPTFS_SUPER_MAGIC: ::c_uint = 0xf15f;
+ pub const EFS_SUPER_MAGIC: ::c_uint = 0x00414a53;
+ pub const EXT2_SUPER_MAGIC: ::c_uint = 0x0000ef53;
+ pub const EXT3_SUPER_MAGIC: ::c_uint = 0x0000ef53;
+ pub const EXT4_SUPER_MAGIC: ::c_uint = 0x0000ef53;
+ pub const F2FS_SUPER_MAGIC: ::c_uint = 0xf2f52010;
+ pub const FUTEXFS_SUPER_MAGIC: ::c_uint = 0xbad1dea;
+ pub const HOSTFS_SUPER_MAGIC: ::c_uint = 0x00c0ffee;
+ pub const HPFS_SUPER_MAGIC: ::c_uint = 0xf995e849;
+ pub const HUGETLBFS_MAGIC: ::c_uint = 0x958458f6;
+ pub const ISOFS_SUPER_MAGIC: ::c_uint = 0x00009660;
+ pub const JFFS2_SUPER_MAGIC: ::c_uint = 0x000072b6;
+ pub const MINIX2_SUPER_MAGIC2: ::c_uint = 0x00002478;
+ pub const MINIX2_SUPER_MAGIC: ::c_uint = 0x00002468;
+ pub const MINIX3_SUPER_MAGIC: ::c_uint = 0x4d5a;
+ pub const MINIX_SUPER_MAGIC2: ::c_uint = 0x0000138f;
+ pub const MINIX_SUPER_MAGIC: ::c_uint = 0x0000137f;
+ pub const MSDOS_SUPER_MAGIC: ::c_uint = 0x00004d44;
+ pub const NCP_SUPER_MAGIC: ::c_uint = 0x0000564c;
+ pub const NFS_SUPER_MAGIC: ::c_uint = 0x00006969;
+ pub const NILFS_SUPER_MAGIC: ::c_uint = 0x3434;
+ pub const OCFS2_SUPER_MAGIC: ::c_uint = 0x7461636f;
+ pub const OPENPROM_SUPER_MAGIC: ::c_uint = 0x00009fa1;
+ pub const OVERLAYFS_SUPER_MAGIC: ::c_uint = 0x794c7630;
+ pub const PROC_SUPER_MAGIC: ::c_uint = 0x00009fa0;
+ pub const QNX4_SUPER_MAGIC: ::c_uint = 0x0000002f;
+ pub const QNX6_SUPER_MAGIC: ::c_uint = 0x68191122;
+ pub const RDTGROUP_SUPER_MAGIC: ::c_uint = 0x7655821;
+ pub const REISERFS_SUPER_MAGIC: ::c_uint = 0x52654973;
+ pub const SECURITYFS_MAGIC: ::c_uint = 0x73636673;
+ pub const SELINUX_MAGIC: ::c_uint = 0xf97cff8c;
+ pub const SMACK_MAGIC: ::c_uint = 0x43415d53;
+ pub const SMB_SUPER_MAGIC: ::c_uint = 0x0000517b;
+ pub const SYSFS_MAGIC: ::c_uint = 0x62656572;
+ pub const TMPFS_MAGIC: ::c_uint = 0x01021994;
+ pub const TRACEFS_MAGIC: ::c_uint = 0x74726163;
+ pub const UDF_SUPER_MAGIC: ::c_uint = 0x15013346;
+ pub const USBDEVICE_SUPER_MAGIC: ::c_uint = 0x00009fa2;
+ pub const XENFS_SUPER_MAGIC: ::c_uint = 0xabba1974;
pub const XFS_SUPER_MAGIC: ::c_uint = 0x58465342;
}
}
@@ -883,7 +892,6 @@ pub const PTRACE_SEIZE: ::c_uint = 0x4206;
pub const PTRACE_INTERRUPT: ::c_uint = 0x4207;
pub const PTRACE_LISTEN: ::c_uint = 0x4208;
pub const PTRACE_PEEKSIGINFO: ::c_uint = 0x4209;
-pub const PTRACE_GET_SYSCALL_INFO: ::c_uint = 0x420e;
// linux/fs.h
@@ -945,24 +953,17 @@ pub const GENL_UNS_ADMIN_PERM: ::c_int = 0x10;
pub const GENL_ID_VFS_DQUOT: ::c_int = ::NLMSG_MIN_TYPE + 1;
pub const GENL_ID_PMCRAID: ::c_int = ::NLMSG_MIN_TYPE + 2;
-// elf.h
-pub const NT_PRSTATUS: ::c_int = 1;
-pub const NT_PRFPREG: ::c_int = 2;
-pub const NT_FPREGSET: ::c_int = 2;
-pub const NT_PRPSINFO: ::c_int = 3;
-pub const NT_PRXREG: ::c_int = 4;
-pub const NT_TASKSTRUCT: ::c_int = 4;
-pub const NT_PLATFORM: ::c_int = 5;
-pub const NT_AUXV: ::c_int = 6;
-pub const NT_GWINDOWS: ::c_int = 7;
-pub const NT_ASRS: ::c_int = 8;
-pub const NT_PSTATUS: ::c_int = 10;
-pub const NT_PSINFO: ::c_int = 13;
-pub const NT_PRCRED: ::c_int = 14;
-pub const NT_UTSNAME: ::c_int = 15;
-pub const NT_LWPSTATUS: ::c_int = 16;
-pub const NT_LWPSINFO: ::c_int = 17;
-pub const NT_PRFPXREG: ::c_int = 20;
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
+pub const NF_NETDEV_INGRESS: ::c_int = 0;
+pub const NF_NETDEV_NUMHOOKS: ::c_int = 1;
+
+pub const NFPROTO_INET: ::c_int = 1;
+pub const NFPROTO_NETDEV: ::c_int = 5;
// linux/keyctl.h
pub const KEYCTL_DH_COMPUTE: u32 = 23;
@@ -995,6 +996,193 @@ cfg_if! {
}
}
+// linux/netfilter/nf_tables.h
+pub const NFT_TABLE_MAXNAMELEN: ::c_int = 256;
+pub const NFT_CHAIN_MAXNAMELEN: ::c_int = 256;
+pub const NFT_SET_MAXNAMELEN: ::c_int = 256;
+pub const NFT_OBJ_MAXNAMELEN: ::c_int = 256;
+pub const NFT_USERDATA_MAXLEN: ::c_int = 256;
+
+pub const NFT_REG_VERDICT: ::c_int = 0;
+pub const NFT_REG_1: ::c_int = 1;
+pub const NFT_REG_2: ::c_int = 2;
+pub const NFT_REG_3: ::c_int = 3;
+pub const NFT_REG_4: ::c_int = 4;
+pub const __NFT_REG_MAX: ::c_int = 5;
+pub const NFT_REG32_00: ::c_int = 8;
+pub const NFT_REG32_01: ::c_int = 9;
+pub const NFT_REG32_02: ::c_int = 10;
+pub const NFT_REG32_03: ::c_int = 11;
+pub const NFT_REG32_04: ::c_int = 12;
+pub const NFT_REG32_05: ::c_int = 13;
+pub const NFT_REG32_06: ::c_int = 14;
+pub const NFT_REG32_07: ::c_int = 15;
+pub const NFT_REG32_08: ::c_int = 16;
+pub const NFT_REG32_09: ::c_int = 17;
+pub const NFT_REG32_10: ::c_int = 18;
+pub const NFT_REG32_11: ::c_int = 19;
+pub const NFT_REG32_12: ::c_int = 20;
+pub const NFT_REG32_13: ::c_int = 21;
+pub const NFT_REG32_14: ::c_int = 22;
+pub const NFT_REG32_15: ::c_int = 23;
+
+pub const NFT_REG_SIZE: ::c_int = 16;
+pub const NFT_REG32_SIZE: ::c_int = 4;
+
+pub const NFT_CONTINUE: ::c_int = -1;
+pub const NFT_BREAK: ::c_int = -2;
+pub const NFT_JUMP: ::c_int = -3;
+pub const NFT_GOTO: ::c_int = -4;
+pub const NFT_RETURN: ::c_int = -5;
+
+pub const NFT_MSG_NEWTABLE: ::c_int = 0;
+pub const NFT_MSG_GETTABLE: ::c_int = 1;
+pub const NFT_MSG_DELTABLE: ::c_int = 2;
+pub const NFT_MSG_NEWCHAIN: ::c_int = 3;
+pub const NFT_MSG_GETCHAIN: ::c_int = 4;
+pub const NFT_MSG_DELCHAIN: ::c_int = 5;
+pub const NFT_MSG_NEWRULE: ::c_int = 6;
+pub const NFT_MSG_GETRULE: ::c_int = 7;
+pub const NFT_MSG_DELRULE: ::c_int = 8;
+pub const NFT_MSG_NEWSET: ::c_int = 9;
+pub const NFT_MSG_GETSET: ::c_int = 10;
+pub const NFT_MSG_DELSET: ::c_int = 11;
+pub const NFT_MSG_NEWSETELEM: ::c_int = 12;
+pub const NFT_MSG_GETSETELEM: ::c_int = 13;
+pub const NFT_MSG_DELSETELEM: ::c_int = 14;
+pub const NFT_MSG_NEWGEN: ::c_int = 15;
+pub const NFT_MSG_GETGEN: ::c_int = 16;
+pub const NFT_MSG_TRACE: ::c_int = 17;
+cfg_if! {
+ if #[cfg(not(target_arch = "sparc64"))] {
+ pub const NFT_MSG_NEWOBJ: ::c_int = 18;
+ pub const NFT_MSG_GETOBJ: ::c_int = 19;
+ pub const NFT_MSG_DELOBJ: ::c_int = 20;
+ pub const NFT_MSG_GETOBJ_RESET: ::c_int = 21;
+ }
+}
+pub const NFT_MSG_MAX: ::c_int = 25;
+
+pub const NFT_SET_ANONYMOUS: ::c_int = 0x1;
+pub const NFT_SET_CONSTANT: ::c_int = 0x2;
+pub const NFT_SET_INTERVAL: ::c_int = 0x4;
+pub const NFT_SET_MAP: ::c_int = 0x8;
+pub const NFT_SET_TIMEOUT: ::c_int = 0x10;
+pub const NFT_SET_EVAL: ::c_int = 0x20;
+
+pub const NFT_SET_POL_PERFORMANCE: ::c_int = 0;
+pub const NFT_SET_POL_MEMORY: ::c_int = 1;
+
+pub const NFT_SET_ELEM_INTERVAL_END: ::c_int = 0x1;
+
+pub const NFT_DATA_VALUE: ::c_uint = 0;
+pub const NFT_DATA_VERDICT: ::c_uint = 0xffffff00;
+
+pub const NFT_DATA_RESERVED_MASK: ::c_uint = 0xffffff00;
+
+pub const NFT_DATA_VALUE_MAXLEN: ::c_int = 64;
+
+pub const NFT_BYTEORDER_NTOH: ::c_int = 0;
+pub const NFT_BYTEORDER_HTON: ::c_int = 1;
+
+pub const NFT_CMP_EQ: ::c_int = 0;
+pub const NFT_CMP_NEQ: ::c_int = 1;
+pub const NFT_CMP_LT: ::c_int = 2;
+pub const NFT_CMP_LTE: ::c_int = 3;
+pub const NFT_CMP_GT: ::c_int = 4;
+pub const NFT_CMP_GTE: ::c_int = 5;
+
+pub const NFT_RANGE_EQ: ::c_int = 0;
+pub const NFT_RANGE_NEQ: ::c_int = 1;
+
+pub const NFT_LOOKUP_F_INV: ::c_int = 1 << 0;
+
+pub const NFT_DYNSET_OP_ADD: ::c_int = 0;
+pub const NFT_DYNSET_OP_UPDATE: ::c_int = 1;
+
+pub const NFT_DYNSET_F_INV: ::c_int = 1 << 0;
+
+pub const NFT_PAYLOAD_LL_HEADER: ::c_int = 0;
+pub const NFT_PAYLOAD_NETWORK_HEADER: ::c_int = 1;
+pub const NFT_PAYLOAD_TRANSPORT_HEADER: ::c_int = 2;
+
+pub const NFT_PAYLOAD_CSUM_NONE: ::c_int = 0;
+pub const NFT_PAYLOAD_CSUM_INET: ::c_int = 1;
+
+pub const NFT_META_LEN: ::c_int = 0;
+pub const NFT_META_PROTOCOL: ::c_int = 1;
+pub const NFT_META_PRIORITY: ::c_int = 2;
+pub const NFT_META_MARK: ::c_int = 3;
+pub const NFT_META_IIF: ::c_int = 4;
+pub const NFT_META_OIF: ::c_int = 5;
+pub const NFT_META_IIFNAME: ::c_int = 6;
+pub const NFT_META_OIFNAME: ::c_int = 7;
+pub const NFT_META_IIFTYPE: ::c_int = 8;
+pub const NFT_META_OIFTYPE: ::c_int = 9;
+pub const NFT_META_SKUID: ::c_int = 10;
+pub const NFT_META_SKGID: ::c_int = 11;
+pub const NFT_META_NFTRACE: ::c_int = 12;
+pub const NFT_META_RTCLASSID: ::c_int = 13;
+pub const NFT_META_SECMARK: ::c_int = 14;
+pub const NFT_META_NFPROTO: ::c_int = 15;
+pub const NFT_META_L4PROTO: ::c_int = 16;
+pub const NFT_META_BRI_IIFNAME: ::c_int = 17;
+pub const NFT_META_BRI_OIFNAME: ::c_int = 18;
+pub const NFT_META_PKTTYPE: ::c_int = 19;
+pub const NFT_META_CPU: ::c_int = 20;
+pub const NFT_META_IIFGROUP: ::c_int = 21;
+pub const NFT_META_OIFGROUP: ::c_int = 22;
+pub const NFT_META_CGROUP: ::c_int = 23;
+pub const NFT_META_PRANDOM: ::c_int = 24;
+
+pub const NFT_CT_STATE: ::c_int = 0;
+pub const NFT_CT_DIRECTION: ::c_int = 1;
+pub const NFT_CT_STATUS: ::c_int = 2;
+pub const NFT_CT_MARK: ::c_int = 3;
+pub const NFT_CT_SECMARK: ::c_int = 4;
+pub const NFT_CT_EXPIRATION: ::c_int = 5;
+pub const NFT_CT_HELPER: ::c_int = 6;
+pub const NFT_CT_L3PROTOCOL: ::c_int = 7;
+pub const NFT_CT_SRC: ::c_int = 8;
+pub const NFT_CT_DST: ::c_int = 9;
+pub const NFT_CT_PROTOCOL: ::c_int = 10;
+pub const NFT_CT_PROTO_SRC: ::c_int = 11;
+pub const NFT_CT_PROTO_DST: ::c_int = 12;
+pub const NFT_CT_LABELS: ::c_int = 13;
+pub const NFT_CT_PKTS: ::c_int = 14;
+pub const NFT_CT_BYTES: ::c_int = 15;
+
+pub const NFT_LIMIT_PKTS: ::c_int = 0;
+pub const NFT_LIMIT_PKT_BYTES: ::c_int = 1;
+
+pub const NFT_LIMIT_F_INV: ::c_int = 1 << 0;
+
+pub const NFT_QUEUE_FLAG_BYPASS: ::c_int = 0x01;
+pub const NFT_QUEUE_FLAG_CPU_FANOUT: ::c_int = 0x02;
+pub const NFT_QUEUE_FLAG_MASK: ::c_int = 0x03;
+
+pub const NFT_QUOTA_F_INV: ::c_int = 1 << 0;
+
+pub const NFT_REJECT_ICMP_UNREACH: ::c_int = 0;
+pub const NFT_REJECT_TCP_RST: ::c_int = 1;
+pub const NFT_REJECT_ICMPX_UNREACH: ::c_int = 2;
+
+pub const NFT_REJECT_ICMPX_NO_ROUTE: ::c_int = 0;
+pub const NFT_REJECT_ICMPX_PORT_UNREACH: ::c_int = 1;
+pub const NFT_REJECT_ICMPX_HOST_UNREACH: ::c_int = 2;
+pub const NFT_REJECT_ICMPX_ADMIN_PROHIBITED: ::c_int = 3;
+
+pub const NFT_NAT_SNAT: ::c_int = 0;
+pub const NFT_NAT_DNAT: ::c_int = 1;
+
+pub const NFT_TRACETYPE_UNSPEC: ::c_int = 0;
+pub const NFT_TRACETYPE_POLICY: ::c_int = 1;
+pub const NFT_TRACETYPE_RETURN: ::c_int = 2;
+pub const NFT_TRACETYPE_RULE: ::c_int = 3;
+
+pub const NFT_NG_INCREMENTAL: ::c_int = 0;
+pub const NFT_NG_RANDOM: ::c_int = 1;
+
pub const M_MXFAST: ::c_int = 1;
pub const M_NLBLKS: ::c_int = 2;
pub const M_GRAIN: ::c_int = 3;
@@ -1200,14 +1388,19 @@ extern "C" {
statxbuf: *mut statx,
) -> ::c_int;
pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
+
+ pub fn memmem(
+ haystack: *const ::c_void,
+ haystacklen: ::size_t,
+ needle: *const ::c_void,
+ needlelen: ::size_t,
+ ) -> *mut ::c_void;
pub fn getauxval(type_: ::c_ulong) -> ::c_ulong;
pub fn adjtimex(buf: *mut timex) -> ::c_int;
pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
#[link_name = "ntp_gettimex"]
pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
- pub fn clock_adjtime(clk_id: ::clockid_t, buf: *mut ::timex) -> ::c_int;
-
pub fn copy_file_range(
fd_in: ::c_int,
off_in: *mut ::off64_t,
@@ -1237,20 +1430,6 @@ extern "C" {
offset: ::off_t,
flags: ::c_int,
) -> ::ssize_t;
- pub fn preadv64v2(
- fd: ::c_int,
- iov: *const ::iovec,
- iovcnt: ::c_int,
- offset: ::off64_t,
- flags: ::c_int,
- ) -> ::ssize_t;
- pub fn pwritev64v2(
- fd: ::c_int,
- iov: *const ::iovec,
- iovcnt: ::c_int,
- offset: ::off64_t,
- flags: ::c_int,
- ) -> ::ssize_t;
pub fn renameat2(
olddirfd: ::c_int,
oldpath: *const ::c_char,
@@ -1258,13 +1437,6 @@ extern "C" {
newpath: *const ::c_char,
flags: ::c_uint,
) -> ::c_int;
-
- // Added in `glibc` 2.25
- pub fn explicit_bzero(s: *mut ::c_void, len: ::size_t);
- // Added in `glibc` 2.29
- pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;
-
- pub fn ctermid(s: *mut ::c_char) -> *mut ::c_char;
}
extern "C" {
@@ -1290,6 +1462,16 @@ extern "C" {
) -> ::c_int;
pub fn getpriority(which: ::__priority_which_t, who: ::id_t) -> ::c_int;
pub fn setpriority(which: ::__priority_which_t, who: ::id_t, prio: ::c_int) -> ::c_int;
+ pub fn pthread_getaffinity_np(
+ thread: ::pthread_t,
+ cpusetsize: ::size_t,
+ cpuset: *mut ::cpu_set_t,
+ ) -> ::c_int;
+ pub fn pthread_setaffinity_np(
+ thread: ::pthread_t,
+ cpusetsize: ::size_t,
+ cpuset: *const ::cpu_set_t,
+ ) -> ::c_int;
pub fn pthread_rwlockattr_getkind_np(
attr: *const ::pthread_rwlockattr_t,
val: *mut ::c_int,
@@ -1298,9 +1480,8 @@ extern "C" {
attr: *mut ::pthread_rwlockattr_t,
val: ::c_int,
) -> ::c_int;
+ pub fn sched_getcpu() -> ::c_int;
pub fn mallinfo() -> ::mallinfo;
- pub fn mallinfo2() -> ::mallinfo2;
- pub fn malloc_info(options: ::c_int, stream: *mut ::FILE) -> ::c_int;
pub fn malloc_usable_size(ptr: *mut ::c_void) -> ::size_t;
pub fn getpwent_r(
pwd: *mut ::passwd,
@@ -1316,29 +1497,16 @@ extern "C" {
) -> ::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 sethostid(hostid: ::c_long) -> ::c_int;
-
- pub fn memfd_create(name: *const ::c_char, flags: ::c_uint) -> ::c_int;
- pub fn mlock2(addr: *const ::c_void, len: ::size_t, flags: ::c_uint) -> ::c_int;
}
extern "C" {
pub fn dlmopen(lmid: Lmid_t, filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void;
pub fn dlinfo(handle: *mut ::c_void, request: ::c_int, info: *mut ::c_void) -> ::c_int;
- pub fn dladdr1(
- addr: *const ::c_void,
- info: *mut ::Dl_info,
- extra_info: *mut *mut ::c_void,
- flags: ::c_int,
- ) -> ::c_int;
- pub fn malloc_trim(__pad: ::size_t) -> ::c_int;
}
cfg_if! {
if #[cfg(any(target_arch = "x86",
target_arch = "arm",
- target_arch = "m68k",
target_arch = "mips",
target_arch = "powerpc",
target_arch = "sparc",
diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs
index cbde59f0..38e89d3e 100644
--- a/src/unix/linux_like/linux/mod.rs
+++ b/src/unix/linux_like/linux/mod.rs
@@ -14,7 +14,6 @@ pub type nl_item = ::c_int;
pub type idtype_t = ::c_uint;
pub type loff_t = ::c_longlong;
pub type pthread_key_t = ::c_uint;
-pub type pthread_spinlock_t = ::c_int;
pub type __u8 = ::c_uchar;
pub type __u16 = ::c_ushort;
@@ -542,45 +541,6 @@ s! {
pub can_id: canid_t,
pub can_mask: canid_t,
}
-
- // linux/filter.h
- pub struct sock_filter {
- pub code: ::__u16,
- pub jt: ::__u8,
- pub jf: ::__u8,
- pub k: ::__u32,
- }
-
- pub struct sock_fprog {
- pub len: ::c_ushort,
- pub filter: *mut sock_filter,
- }
-
- // linux/seccomp.h
- pub struct seccomp_data {
- pub nr: ::c_int,
- pub arch: ::__u32,
- pub instruction_pointer: ::__u64,
- pub args: [::__u64; 6],
- }
-
- pub struct nlmsghdr {
- pub nlmsg_len: u32,
- pub nlmsg_type: u16,
- pub nlmsg_flags: u16,
- pub nlmsg_seq: u32,
- pub nlmsg_pid: u32,
- }
-
- pub struct nlmsgerr {
- pub error: ::c_int,
- pub msg: nlmsghdr,
- }
-
- pub struct nlattr {
- pub nla_len: u16,
- pub nla_type: u16,
- }
}
s_no_extra_traits! {
@@ -671,19 +631,6 @@ s_no_extra_traits! {
}
cfg_if! {
- if #[cfg(not(all(target_env = "musl", target_arch = "mips")))] {
- s_no_extra_traits! {
- // linux/net_tstamp.h
- #[allow(missing_debug_implementations)]
- pub struct sock_txtime {
- pub clockid: ::clockid_t,
- pub flags: ::__u32,
- }
- }
- }
-}
-
-cfg_if! {
if #[cfg(libc_union)] {
s_no_extra_traits! {
// linux/can.h
@@ -1330,7 +1277,6 @@ pub const POSIX_MADV_NORMAL: ::c_int = 0;
pub const POSIX_MADV_RANDOM: ::c_int = 1;
pub const POSIX_MADV_SEQUENTIAL: ::c_int = 2;
pub const POSIX_MADV_WILLNEED: ::c_int = 3;
-pub const POSIX_SPAWN_USEVFORK: ::c_int = 64;
pub const S_IEXEC: mode_t = 64;
pub const S_IWRITE: mode_t = 128;
@@ -1477,12 +1423,7 @@ pub const RTLD_NOW: ::c_int = 0x2;
pub const AT_EACCESS: ::c_int = 0x200;
-// linux/mempolicy.h
-pub const MPOL_DEFAULT: ::c_int = 0;
-pub const MPOL_PREFERRED: ::c_int = 1;
-pub const MPOL_BIND: ::c_int = 2;
-pub const MPOL_INTERLEAVE: ::c_int = 3;
-pub const MPOL_LOCAL: ::c_int = 4;
+pub const TCP_MD5SIG: ::c_int = 14;
align_const! {
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
@@ -1499,8 +1440,6 @@ pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 1;
pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2;
pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL;
-pub const PTHREAD_MUTEX_STALLED: ::c_int = 0;
-pub const PTHREAD_MUTEX_ROBUST: ::c_int = 1;
pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
pub const PTHREAD_PROCESS_SHARED: ::c_int = 1;
pub const __SIZEOF_PTHREAD_COND_T: usize = 48;
@@ -1517,8 +1456,6 @@ pub const SCHED_IDLE: ::c_int = 5;
pub const SCHED_RESET_ON_FORK: ::c_int = 0x40000000;
-pub const CLONE_PIDFD: ::c_int = 0x1000;
-
// netinet/in.h
// NOTE: These are in addition to the constants defined in src/unix/mod.rs
@@ -1563,6 +1500,11 @@ pub const SHM_HUGETLB: ::c_int = 0o4000;
#[cfg(not(all(target_env = "uclibc", target_arch = "mips")))]
pub const SHM_NORESERVE: ::c_int = 0o10000;
+pub const EPOLLRDHUP: ::c_int = 0x2000;
+pub const EPOLLEXCLUSIVE: ::c_int = 0x10000000;
+pub const EPOLLWAKEUP: ::c_int = 0x20000000;
+pub const EPOLLONESHOT: ::c_int = 0x40000000;
+
pub const QFMT_VFS_OLD: ::c_int = 1;
pub const QFMT_VFS_V0: ::c_int = 2;
pub const QFMT_VFS_V1: ::c_int = 4;
@@ -1623,6 +1565,7 @@ cfg_if! {
pub const LIO_WAIT: ::c_int = 0;
pub const LIO_NOWAIT: ::c_int = 1;
pub const RUSAGE_THREAD: ::c_int = 1;
+ pub const TCP_ULP: ::c_int = 31;
pub const MSG_COPY: ::c_int = 0o40000;
pub const SHM_EXEC: ::c_int = 0o100000;
pub const IPV6_MULTICAST_ALL: ::c_int = 29;
@@ -1636,7 +1579,6 @@ cfg_if! {
pub const MREMAP_MAYMOVE: ::c_int = 1;
pub const MREMAP_FIXED: ::c_int = 2;
-pub const MREMAP_DONTUNMAP: ::c_int = 4;
pub const PR_SET_PDEATHSIG: ::c_int = 1;
pub const PR_GET_PDEATHSIG: ::c_int = 2;
@@ -1765,23 +1707,6 @@ pub const SECCOMP_MODE_DISABLED: ::c_uint = 0;
pub const SECCOMP_MODE_STRICT: ::c_uint = 1;
pub const SECCOMP_MODE_FILTER: ::c_uint = 2;
-pub const SECCOMP_FILTER_FLAG_TSYNC: ::c_ulong = 1;
-pub const SECCOMP_FILTER_FLAG_LOG: ::c_ulong = 2;
-pub const SECCOMP_FILTER_FLAG_SPEC_ALLOW: ::c_ulong = 4;
-
-pub const SECCOMP_RET_KILL_PROCESS: ::c_uint = 0x80000000;
-pub const SECCOMP_RET_KILL_THREAD: ::c_uint = 0x00000000;
-pub const SECCOMP_RET_KILL: ::c_uint = SECCOMP_RET_KILL_THREAD;
-pub const SECCOMP_RET_TRAP: ::c_uint = 0x00030000;
-pub const SECCOMP_RET_ERRNO: ::c_uint = 0x00050000;
-pub const SECCOMP_RET_TRACE: ::c_uint = 0x7ff00000;
-pub const SECCOMP_RET_LOG: ::c_uint = 0x7ffc0000;
-pub const SECCOMP_RET_ALLOW: ::c_uint = 0x7fff0000;
-
-pub const SECCOMP_RET_ACTION_FULL: ::c_uint = 0xffff0000;
-pub const SECCOMP_RET_ACTION: ::c_uint = 0x7fff0000;
-pub const SECCOMP_RET_DATA: ::c_uint = 0x0000ffff;
-
pub const ITIMER_REAL: ::c_int = 0;
pub const ITIMER_VIRTUAL: ::c_int = 1;
pub const ITIMER_PROF: ::c_int = 2;
@@ -1790,6 +1715,9 @@ pub const TFD_CLOEXEC: ::c_int = O_CLOEXEC;
pub const TFD_NONBLOCK: ::c_int = O_NONBLOCK;
pub const TFD_TIMER_ABSTIME: ::c_int = 1;
+pub const XATTR_CREATE: ::c_int = 0x1;
+pub const XATTR_REPLACE: ::c_int = 0x2;
+
pub const _POSIX_VDISABLE: ::cc_t = 0;
pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
@@ -1827,95 +1755,6 @@ pub const CMSPAR: ::tcflag_t = 0o10000000000;
pub const MFD_CLOEXEC: ::c_uint = 0x0001;
pub const MFD_ALLOW_SEALING: ::c_uint = 0x0002;
pub const MFD_HUGETLB: ::c_uint = 0x0004;
-pub const MFD_HUGE_64KB: ::c_uint = 0x40000000;
-pub const MFD_HUGE_512KB: ::c_uint = 0x4c000000;
-pub const MFD_HUGE_1MB: ::c_uint = 0x50000000;
-pub const MFD_HUGE_2MB: ::c_uint = 0x54000000;
-pub const MFD_HUGE_8MB: ::c_uint = 0x5c000000;
-pub const MFD_HUGE_16MB: ::c_uint = 0x60000000;
-pub const MFD_HUGE_32MB: ::c_uint = 0x64000000;
-pub const MFD_HUGE_256MB: ::c_uint = 0x70000000;
-pub const MFD_HUGE_512MB: ::c_uint = 0x74000000;
-pub const MFD_HUGE_1GB: ::c_uint = 0x78000000;
-pub const MFD_HUGE_2GB: ::c_uint = 0x7c000000;
-pub const MFD_HUGE_16GB: ::c_uint = 0x88000000;
-pub const MFD_HUGE_MASK: ::c_uint = 63;
-pub const MFD_HUGE_SHIFT: ::c_uint = 26;
-
-// linux/close_range.h
-pub const CLOSE_RANGE_UNSHARE: ::c_uint = 1 << 1;
-pub const CLOSE_RANGE_CLOEXEC: ::c_uint = 1 << 2;
-
-// linux/filter.h
-pub const SKF_AD_OFF: ::c_int = -0x1000;
-pub const SKF_AD_PROTOCOL: ::c_int = 0;
-pub const SKF_AD_PKTTYPE: ::c_int = 4;
-pub const SKF_AD_IFINDEX: ::c_int = 8;
-pub const SKF_AD_NLATTR: ::c_int = 12;
-pub const SKF_AD_NLATTR_NEST: ::c_int = 16;
-pub const SKF_AD_MARK: ::c_int = 20;
-pub const SKF_AD_QUEUE: ::c_int = 24;
-pub const SKF_AD_HATYPE: ::c_int = 28;
-pub const SKF_AD_RXHASH: ::c_int = 32;
-pub const SKF_AD_CPU: ::c_int = 36;
-pub const SKF_AD_ALU_XOR_X: ::c_int = 40;
-pub const SKF_AD_VLAN_TAG: ::c_int = 44;
-pub const SKF_AD_VLAN_TAG_PRESENT: ::c_int = 48;
-pub const SKF_AD_PAY_OFFSET: ::c_int = 52;
-pub const SKF_AD_RANDOM: ::c_int = 56;
-pub const SKF_AD_VLAN_TPID: ::c_int = 60;
-pub const SKF_AD_MAX: ::c_int = 64;
-pub const SKF_NET_OFF: ::c_int = -0x100000;
-pub const SKF_LL_OFF: ::c_int = -0x200000;
-pub const BPF_NET_OFF: ::c_int = SKF_NET_OFF;
-pub const BPF_LL_OFF: ::c_int = SKF_LL_OFF;
-pub const BPF_MEMWORDS: ::c_int = 16;
-pub const BPF_MAXINSNS: ::c_int = 4096;
-
-// linux/bpf_common.h
-pub const BPF_LD: ::__u32 = 0x00;
-pub const BPF_LDX: ::__u32 = 0x01;
-pub const BPF_ST: ::__u32 = 0x02;
-pub const BPF_STX: ::__u32 = 0x03;
-pub const BPF_ALU: ::__u32 = 0x04;
-pub const BPF_JMP: ::__u32 = 0x05;
-pub const BPF_RET: ::__u32 = 0x06;
-pub const BPF_MISC: ::__u32 = 0x07;
-pub const BPF_W: ::__u32 = 0x00;
-pub const BPF_H: ::__u32 = 0x08;
-pub const BPF_B: ::__u32 = 0x10;
-pub const BPF_IMM: ::__u32 = 0x00;
-pub const BPF_ABS: ::__u32 = 0x20;
-pub const BPF_IND: ::__u32 = 0x40;
-pub const BPF_MEM: ::__u32 = 0x60;
-pub const BPF_LEN: ::__u32 = 0x80;
-pub const BPF_MSH: ::__u32 = 0xa0;
-pub const BPF_ADD: ::__u32 = 0x00;
-pub const BPF_SUB: ::__u32 = 0x10;
-pub const BPF_MUL: ::__u32 = 0x20;
-pub const BPF_DIV: ::__u32 = 0x30;
-pub const BPF_OR: ::__u32 = 0x40;
-pub const BPF_AND: ::__u32 = 0x50;
-pub const BPF_LSH: ::__u32 = 0x60;
-pub const BPF_RSH: ::__u32 = 0x70;
-pub const BPF_NEG: ::__u32 = 0x80;
-pub const BPF_MOD: ::__u32 = 0x90;
-pub const BPF_XOR: ::__u32 = 0xa0;
-pub const BPF_JA: ::__u32 = 0x00;
-pub const BPF_JEQ: ::__u32 = 0x10;
-pub const BPF_JGT: ::__u32 = 0x20;
-pub const BPF_JGE: ::__u32 = 0x30;
-pub const BPF_JSET: ::__u32 = 0x40;
-pub const BPF_K: ::__u32 = 0x00;
-pub const BPF_X: ::__u32 = 0x08;
-
-// linux/openat2.h
-pub const RESOLVE_NO_XDEV: ::__u64 = 0x01;
-pub const RESOLVE_NO_MAGICLINKS: ::__u64 = 0x02;
-pub const RESOLVE_NO_SYMLINKS: ::__u64 = 0x04;
-pub const RESOLVE_BENEATH: ::__u64 = 0x08;
-pub const RESOLVE_IN_ROOT: ::__u64 = 0x10;
-pub const RESOLVE_CACHED: ::__u64 = 0x20;
// these are used in the p_type field of Elf32_Phdr and Elf64_Phdr, which has
// the type Elf32Word and Elf64Word respectively. Luckily, both of those are u32
@@ -1933,9 +1772,6 @@ pub const PT_LOOS: u32 = 0x60000000;
pub const PT_GNU_EH_FRAME: u32 = 0x6474e550;
pub const PT_GNU_STACK: u32 = 0x6474e551;
pub const PT_GNU_RELRO: u32 = 0x6474e552;
-pub const PT_HIOS: u32 = 0x6fffffff;
-pub const PT_LOPROC: u32 = 0x70000000;
-pub const PT_HIPROC: u32 = 0x7fffffff;
// linux/if_ether.h
pub const ETH_ALEN: ::c_int = 6;
@@ -2265,11 +2101,6 @@ pub const NFPROTO_BRIDGE: ::c_int = 7;
pub const NFPROTO_IPV6: ::c_int = 10;
pub const NFPROTO_DECNET: ::c_int = 12;
pub const NFPROTO_NUMPROTO: ::c_int = 13;
-pub const NFPROTO_INET: ::c_int = 1;
-pub const NFPROTO_NETDEV: ::c_int = 5;
-
-pub const NF_NETDEV_INGRESS: ::c_int = 0;
-pub const NF_NETDEV_NUMHOOKS: ::c_int = 1;
// linux/netfilter_ipv4.h
pub const NF_IP_PRE_ROUTING: ::c_int = 0;
@@ -2489,8 +2320,6 @@ pub const NETLINK_TX_RING: ::c_int = 7;
pub const NETLINK_LISTEN_ALL_NSID: ::c_int = 8;
pub const NETLINK_LIST_MEMBERSHIPS: ::c_int = 9;
pub const NETLINK_CAP_ACK: ::c_int = 10;
-pub const NETLINK_EXT_ACK: ::c_int = 11;
-pub const NETLINK_GET_STRICT_CHK: ::c_int = 12;
pub const NLA_F_NESTED: ::c_int = 1 << 15;
pub const NLA_F_NET_BYTEORDER: ::c_int = 1 << 14;
@@ -2639,12 +2468,6 @@ pub const SOF_TIMESTAMPING_RX_SOFTWARE: ::c_uint = 1 << 3;
pub const SOF_TIMESTAMPING_SOFTWARE: ::c_uint = 1 << 4;
pub const SOF_TIMESTAMPING_SYS_HARDWARE: ::c_uint = 1 << 5;
pub const SOF_TIMESTAMPING_RAW_HARDWARE: ::c_uint = 1 << 6;
-cfg_if! {
- if #[cfg(not(all(target_env = "musl", target_arch = "mips")))] {
- pub const SOF_TXTIME_DEADLINE_MODE: u32 = 1 << 0;
- pub const SOF_TXTIME_REPORT_ERRORS: u32 = 1 << 1;
- }
-}
// linux/if_alg.h
pub const ALG_SET_KEY: ::c_int = 1;
@@ -2667,7 +2490,6 @@ pub const MAP_SHARED_VALIDATE: ::c_int = 0x3;
// include/uapi/asm-generic/mman-common.h
pub const MAP_FIXED_NOREPLACE: ::c_int = 0x100000;
-pub const MLOCK_ONFAULT: ::c_uint = 0x01;
// uapi/linux/vm_sockets.h
pub const VMADDR_CID_ANY: ::c_uint = 0xFFFFFFFF;
@@ -2769,193 +2591,6 @@ pub const IN_ALL_EVENTS: u32 = IN_ACCESS
pub const IN_CLOEXEC: ::c_int = O_CLOEXEC;
pub const IN_NONBLOCK: ::c_int = O_NONBLOCK;
-// uapi/linux/netfilter/nf_tables.h
-pub const NFT_TABLE_MAXNAMELEN: ::c_int = 256;
-pub const NFT_CHAIN_MAXNAMELEN: ::c_int = 256;
-pub const NFT_SET_MAXNAMELEN: ::c_int = 256;
-pub const NFT_OBJ_MAXNAMELEN: ::c_int = 256;
-pub const NFT_USERDATA_MAXLEN: ::c_int = 256;
-
-pub const NFT_REG_VERDICT: ::c_int = 0;
-pub const NFT_REG_1: ::c_int = 1;
-pub const NFT_REG_2: ::c_int = 2;
-pub const NFT_REG_3: ::c_int = 3;
-pub const NFT_REG_4: ::c_int = 4;
-pub const __NFT_REG_MAX: ::c_int = 5;
-pub const NFT_REG32_00: ::c_int = 8;
-pub const NFT_REG32_01: ::c_int = 9;
-pub const NFT_REG32_02: ::c_int = 10;
-pub const NFT_REG32_03: ::c_int = 11;
-pub const NFT_REG32_04: ::c_int = 12;
-pub const NFT_REG32_05: ::c_int = 13;
-pub const NFT_REG32_06: ::c_int = 14;
-pub const NFT_REG32_07: ::c_int = 15;
-pub const NFT_REG32_08: ::c_int = 16;
-pub const NFT_REG32_09: ::c_int = 17;
-pub const NFT_REG32_10: ::c_int = 18;
-pub const NFT_REG32_11: ::c_int = 19;
-pub const NFT_REG32_12: ::c_int = 20;
-pub const NFT_REG32_13: ::c_int = 21;
-pub const NFT_REG32_14: ::c_int = 22;
-pub const NFT_REG32_15: ::c_int = 23;
-
-pub const NFT_REG_SIZE: ::c_int = 16;
-pub const NFT_REG32_SIZE: ::c_int = 4;
-
-pub const NFT_CONTINUE: ::c_int = -1;
-pub const NFT_BREAK: ::c_int = -2;
-pub const NFT_JUMP: ::c_int = -3;
-pub const NFT_GOTO: ::c_int = -4;
-pub const NFT_RETURN: ::c_int = -5;
-
-pub const NFT_MSG_NEWTABLE: ::c_int = 0;
-pub const NFT_MSG_GETTABLE: ::c_int = 1;
-pub const NFT_MSG_DELTABLE: ::c_int = 2;
-pub const NFT_MSG_NEWCHAIN: ::c_int = 3;
-pub const NFT_MSG_GETCHAIN: ::c_int = 4;
-pub const NFT_MSG_DELCHAIN: ::c_int = 5;
-pub const NFT_MSG_NEWRULE: ::c_int = 6;
-pub const NFT_MSG_GETRULE: ::c_int = 7;
-pub const NFT_MSG_DELRULE: ::c_int = 8;
-pub const NFT_MSG_NEWSET: ::c_int = 9;
-pub const NFT_MSG_GETSET: ::c_int = 10;
-pub const NFT_MSG_DELSET: ::c_int = 11;
-pub const NFT_MSG_NEWSETELEM: ::c_int = 12;
-pub const NFT_MSG_GETSETELEM: ::c_int = 13;
-pub const NFT_MSG_DELSETELEM: ::c_int = 14;
-pub const NFT_MSG_NEWGEN: ::c_int = 15;
-pub const NFT_MSG_GETGEN: ::c_int = 16;
-pub const NFT_MSG_TRACE: ::c_int = 17;
-cfg_if! {
- if #[cfg(not(target_arch = "sparc64"))] {
- pub const NFT_MSG_NEWOBJ: ::c_int = 18;
- pub const NFT_MSG_GETOBJ: ::c_int = 19;
- pub const NFT_MSG_DELOBJ: ::c_int = 20;
- pub const NFT_MSG_GETOBJ_RESET: ::c_int = 21;
- }
-}
-pub const NFT_MSG_MAX: ::c_int = 25;
-
-pub const NFT_SET_ANONYMOUS: ::c_int = 0x1;
-pub const NFT_SET_CONSTANT: ::c_int = 0x2;
-pub const NFT_SET_INTERVAL: ::c_int = 0x4;
-pub const NFT_SET_MAP: ::c_int = 0x8;
-pub const NFT_SET_TIMEOUT: ::c_int = 0x10;
-pub const NFT_SET_EVAL: ::c_int = 0x20;
-
-pub const NFT_SET_POL_PERFORMANCE: ::c_int = 0;
-pub const NFT_SET_POL_MEMORY: ::c_int = 1;
-
-pub const NFT_SET_ELEM_INTERVAL_END: ::c_int = 0x1;
-
-pub const NFT_DATA_VALUE: ::c_uint = 0;
-pub const NFT_DATA_VERDICT: ::c_uint = 0xffffff00;
-
-pub const NFT_DATA_RESERVED_MASK: ::c_uint = 0xffffff00;
-
-pub const NFT_DATA_VALUE_MAXLEN: ::c_int = 64;
-
-pub const NFT_BYTEORDER_NTOH: ::c_int = 0;
-pub const NFT_BYTEORDER_HTON: ::c_int = 1;
-
-pub const NFT_CMP_EQ: ::c_int = 0;
-pub const NFT_CMP_NEQ: ::c_int = 1;
-pub const NFT_CMP_LT: ::c_int = 2;
-pub const NFT_CMP_LTE: ::c_int = 3;
-pub const NFT_CMP_GT: ::c_int = 4;
-pub const NFT_CMP_GTE: ::c_int = 5;
-
-pub const NFT_RANGE_EQ: ::c_int = 0;
-pub const NFT_RANGE_NEQ: ::c_int = 1;
-
-pub const NFT_LOOKUP_F_INV: ::c_int = 1 << 0;
-
-pub const NFT_DYNSET_OP_ADD: ::c_int = 0;
-pub const NFT_DYNSET_OP_UPDATE: ::c_int = 1;
-
-pub const NFT_DYNSET_F_INV: ::c_int = 1 << 0;
-
-pub const NFT_PAYLOAD_LL_HEADER: ::c_int = 0;
-pub const NFT_PAYLOAD_NETWORK_HEADER: ::c_int = 1;
-pub const NFT_PAYLOAD_TRANSPORT_HEADER: ::c_int = 2;
-
-pub const NFT_PAYLOAD_CSUM_NONE: ::c_int = 0;
-pub const NFT_PAYLOAD_CSUM_INET: ::c_int = 1;
-
-pub const NFT_META_LEN: ::c_int = 0;
-pub const NFT_META_PROTOCOL: ::c_int = 1;
-pub const NFT_META_PRIORITY: ::c_int = 2;
-pub const NFT_META_MARK: ::c_int = 3;
-pub const NFT_META_IIF: ::c_int = 4;
-pub const NFT_META_OIF: ::c_int = 5;
-pub const NFT_META_IIFNAME: ::c_int = 6;
-pub const NFT_META_OIFNAME: ::c_int = 7;
-pub const NFT_META_IIFTYPE: ::c_int = 8;
-pub const NFT_META_OIFTYPE: ::c_int = 9;
-pub const NFT_META_SKUID: ::c_int = 10;
-pub const NFT_META_SKGID: ::c_int = 11;
-pub const NFT_META_NFTRACE: ::c_int = 12;
-pub const NFT_META_RTCLASSID: ::c_int = 13;
-pub const NFT_META_SECMARK: ::c_int = 14;
-pub const NFT_META_NFPROTO: ::c_int = 15;
-pub const NFT_META_L4PROTO: ::c_int = 16;
-pub const NFT_META_BRI_IIFNAME: ::c_int = 17;
-pub const NFT_META_BRI_OIFNAME: ::c_int = 18;
-pub const NFT_META_PKTTYPE: ::c_int = 19;
-pub const NFT_META_CPU: ::c_int = 20;
-pub const NFT_META_IIFGROUP: ::c_int = 21;
-pub const NFT_META_OIFGROUP: ::c_int = 22;
-pub const NFT_META_CGROUP: ::c_int = 23;
-pub const NFT_META_PRANDOM: ::c_int = 24;
-
-pub const NFT_CT_STATE: ::c_int = 0;
-pub const NFT_CT_DIRECTION: ::c_int = 1;
-pub const NFT_CT_STATUS: ::c_int = 2;
-pub const NFT_CT_MARK: ::c_int = 3;
-pub const NFT_CT_SECMARK: ::c_int = 4;
-pub const NFT_CT_EXPIRATION: ::c_int = 5;
-pub const NFT_CT_HELPER: ::c_int = 6;
-pub const NFT_CT_L3PROTOCOL: ::c_int = 7;
-pub const NFT_CT_SRC: ::c_int = 8;
-pub const NFT_CT_DST: ::c_int = 9;
-pub const NFT_CT_PROTOCOL: ::c_int = 10;
-pub const NFT_CT_PROTO_SRC: ::c_int = 11;
-pub const NFT_CT_PROTO_DST: ::c_int = 12;
-pub const NFT_CT_LABELS: ::c_int = 13;
-pub const NFT_CT_PKTS: ::c_int = 14;
-pub const NFT_CT_BYTES: ::c_int = 15;
-
-pub const NFT_LIMIT_PKTS: ::c_int = 0;
-pub const NFT_LIMIT_PKT_BYTES: ::c_int = 1;
-
-pub const NFT_LIMIT_F_INV: ::c_int = 1 << 0;
-
-pub const NFT_QUEUE_FLAG_BYPASS: ::c_int = 0x01;
-pub const NFT_QUEUE_FLAG_CPU_FANOUT: ::c_int = 0x02;
-pub const NFT_QUEUE_FLAG_MASK: ::c_int = 0x03;
-
-pub const NFT_QUOTA_F_INV: ::c_int = 1 << 0;
-
-pub const NFT_REJECT_ICMP_UNREACH: ::c_int = 0;
-pub const NFT_REJECT_TCP_RST: ::c_int = 1;
-pub const NFT_REJECT_ICMPX_UNREACH: ::c_int = 2;
-
-pub const NFT_REJECT_ICMPX_NO_ROUTE: ::c_int = 0;
-pub const NFT_REJECT_ICMPX_PORT_UNREACH: ::c_int = 1;
-pub const NFT_REJECT_ICMPX_HOST_UNREACH: ::c_int = 2;
-pub const NFT_REJECT_ICMPX_ADMIN_PROHIBITED: ::c_int = 3;
-
-pub const NFT_NAT_SNAT: ::c_int = 0;
-pub const NFT_NAT_DNAT: ::c_int = 1;
-
-pub const NFT_TRACETYPE_UNSPEC: ::c_int = 0;
-pub const NFT_TRACETYPE_POLICY: ::c_int = 1;
-pub const NFT_TRACETYPE_RETURN: ::c_int = 2;
-pub const NFT_TRACETYPE_RULE: ::c_int = 3;
-
-pub const NFT_NG_INCREMENTAL: ::c_int = 0;
-pub const NFT_NG_RANDOM: ::c_int = 1;
-
// linux/input.h
pub const FF_MAX: ::__u16 = 0x7f;
pub const FF_CNT: usize = FF_MAX as usize + 1;
@@ -3173,15 +2808,6 @@ pub const SOL_CAN_BASE: ::c_int = 100;
pub const CAN_INV_FILTER: canid_t = 0x20000000;
pub const CAN_RAW_FILTER_MAX: ::c_int = 512;
-// linux/can/raw.h
-pub const SOL_CAN_RAW: ::c_int = SOL_CAN_BASE + CAN_RAW;
-pub const CAN_RAW_FILTER: ::c_int = 1;
-pub const CAN_RAW_ERR_FILTER: ::c_int = 2;
-pub const CAN_RAW_LOOPBACK: ::c_int = 3;
-pub const CAN_RAW_RECV_OWN_MSGS: ::c_int = 4;
-pub const CAN_RAW_FD_FRAMES: ::c_int = 5;
-pub const CAN_RAW_JOIN_FILTERS: ::c_int = 6;
-
f! {
pub fn NLA_ALIGN(len: ::c_int) -> ::c_int {
return ((len) + NLA_ALIGNTO - 1) & !(NLA_ALIGNTO - 1)
@@ -3305,22 +2931,6 @@ f! {
pub fn SO_EE_OFFENDER(ee: *const ::sock_extended_err) -> *mut ::sockaddr {
ee.offset(1) as *mut ::sockaddr
}
-
- pub fn BPF_RVAL(code: ::__u32) -> ::__u32 {
- code & 0x18
- }
-
- pub fn BPF_MISCOP(code: ::__u32) -> ::__u32 {
- code & 0xf8
- }
-
- pub fn BPF_STMT(code: ::__u16, k: ::__u32) -> sock_filter {
- sock_filter{code: code, jt: 0, jf: 0, k: k}
- }
-
- pub fn BPF_JUMP(code: ::__u16, k: ::__u32, jt: ::__u8, jf: ::__u8) -> sock_filter {
- sock_filter{code: code, jt: jt, jf: jf, k: k}
- }
}
cfg_if! {
@@ -3518,7 +3128,7 @@ extern "C" {
pub fn lremovexattr(path: *const c_char, name: *const c_char) -> ::c_int;
pub fn fremovexattr(filedes: ::c_int, name: *const c_char) -> ::c_int;
pub fn signalfd(fd: ::c_int, mask: *const ::sigset_t, flags: ::c_int) -> ::c_int;
- pub fn timerfd_create(clockid: ::clockid_t, flags: ::c_int) -> ::c_int;
+ pub fn timerfd_create(clockid: ::c_int, flags: ::c_int) -> ::c_int;
pub fn timerfd_gettime(fd: ::c_int, curr_value: *mut itimerspec) -> ::c_int;
pub fn timerfd_settime(
fd: ::c_int,
@@ -3586,16 +3196,6 @@ extern "C" {
len: *mut ::socklen_t,
flg: ::c_int,
) -> ::c_int;
- pub fn pthread_getaffinity_np(
- thread: ::pthread_t,
- cpusetsize: ::size_t,
- cpuset: *mut ::cpu_set_t,
- ) -> ::c_int;
- pub fn pthread_setaffinity_np(
- thread: ::pthread_t,
- cpusetsize: ::size_t,
- cpuset: *const ::cpu_set_t,
- ) -> ::c_int;
pub fn pthread_setschedprio(native: ::pthread_t, priority: ::c_int) -> ::c_int;
pub fn reboot(how_to: ::c_int) -> ::c_int;
pub fn setfsgid(gid: ::gid_t) -> ::c_int;
@@ -3660,7 +3260,6 @@ extern "C" {
pub fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int;
pub fn vhangup() -> ::c_int;
pub fn sync();
- pub fn syncfs(fd: ::c_int) -> ::c_int;
pub fn syscall(num: ::c_long, ...) -> ::c_long;
pub fn sched_getaffinity(pid: ::pid_t, cpusetsize: ::size_t, cpuset: *mut cpu_set_t)
-> ::c_int;
@@ -3726,16 +3325,10 @@ extern "C" {
timeout: *const ::timespec,
sigmask: *const sigset_t,
) -> ::c_int;
- pub fn pthread_mutex_consistent(mutex: *mut pthread_mutex_t) -> ::c_int;
pub fn pthread_mutex_timedlock(
lock: *mut pthread_mutex_t,
abstime: *const ::timespec,
) -> ::c_int;
- pub fn pthread_spin_init(lock: *mut ::pthread_spinlock_t, pshared: ::c_int) -> ::c_int;
- pub fn pthread_spin_destroy(lock: *mut ::pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_lock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_trylock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
- pub fn pthread_spin_unlock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
pub fn clone(
cb: extern "C" fn(*mut ::c_void) -> ::c_int,
child_stack: *mut ::c_void,
@@ -3842,14 +3435,6 @@ extern "C" {
attr: *const pthread_mutexattr_t,
pshared: *mut ::c_int,
) -> ::c_int;
- pub fn pthread_mutexattr_getrobust(
- attr: *const pthread_mutexattr_t,
- robustness: *mut ::c_int,
- ) -> ::c_int;
- pub fn pthread_mutexattr_setrobust(
- attr: *mut pthread_mutexattr_t,
- robustness: ::c_int,
- ) -> ::c_int;
pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE;
pub fn faccessat(
dirfd: ::c_int,
@@ -3998,32 +3583,6 @@ extern "C" {
pub fn iconv_close(cd: iconv_t) -> ::c_int;
pub fn gettid() -> ::pid_t;
-
- pub fn timer_create(
- clockid: ::clockid_t,
- sevp: *mut ::sigevent,
- timerid: *mut ::timer_t,
- ) -> ::c_int;
- pub fn timer_delete(timerid: ::timer_t) -> ::c_int;
- pub fn timer_getoverrun(timerid: ::timer_t) -> ::c_int;
- pub fn timer_gettime(timerid: ::timer_t, curr_value: *mut ::itimerspec) -> ::c_int;
- pub fn timer_settime(
- timerid: ::timer_t,
- flags: ::c_int,
- new_value: *const ::itimerspec,
- old_value: *mut ::itimerspec,
- ) -> ::c_int;
-
- pub fn gethostid() -> ::c_long;
-
- pub fn pthread_getcpuclockid(thread: ::pthread_t, clk_id: *mut ::clockid_t) -> ::c_int;
- pub fn memmem(
- haystack: *const ::c_void,
- haystacklen: ::size_t,
- needle: *const ::c_void,
- needlelen: ::size_t,
- ) -> *mut ::c_void;
- pub fn sched_getcpu() -> ::c_int;
}
cfg_if! {
@@ -4052,10 +3611,3 @@ cfg_if! {
}
}
expand_align!();
-
-cfg_if! {
- if #[cfg(libc_non_exhaustive)] {
- mod non_exhaustive;
- pub use self::non_exhaustive::*;
- }
-}
diff --git a/src/unix/linux_like/linux/musl/b32/arm/mod.rs b/src/unix/linux_like/linux/musl/b32/arm/mod.rs
index 97d91f4a..1f952c31 100644
--- a/src/unix/linux_like/linux/musl/b32/arm/mod.rs
+++ b/src/unix/linux_like/linux/musl/b32/arm/mod.rs
@@ -150,77 +150,6 @@ s! {
pub f_namemax: ::c_ulong,
__f_spare: [::c_int; 6],
}
-
- pub struct mcontext_t {
- pub trap_no: ::c_ulong,
- pub error_code: ::c_ulong,
- pub oldmask: ::c_ulong,
- pub arm_r0: ::c_ulong,
- pub arm_r1: ::c_ulong,
- pub arm_r2: ::c_ulong,
- pub arm_r3: ::c_ulong,
- pub arm_r4: ::c_ulong,
- pub arm_r5: ::c_ulong,
- pub arm_r6: ::c_ulong,
- pub arm_r7: ::c_ulong,
- pub arm_r8: ::c_ulong,
- pub arm_r9: ::c_ulong,
- pub arm_r10: ::c_ulong,
- pub arm_fp: ::c_ulong,
- pub arm_ip: ::c_ulong,
- pub arm_sp: ::c_ulong,
- pub arm_lr: ::c_ulong,
- pub arm_pc: ::c_ulong,
- pub arm_cpsr: ::c_ulong,
- pub fault_address: ::c_ulong,
- }
-}
-
-s_no_extra_traits! {
- #[allow(missing_debug_implementations)]
- pub struct ucontext_t {
- pub uc_flags: ::c_ulong,
- pub uc_link: *mut ucontext_t,
- pub uc_stack: ::stack_t,
- pub uc_mcontext: mcontext_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_regspace: [::c_ulonglong; 64],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- impl PartialEq for ucontext_t {
- fn eq(&self, other: &ucontext_t) -> bool {
- self.uc_flags == other.uc_flags
- && self.uc_link == other.uc_link
- && self.uc_stack == other.uc_stack
- && self.uc_mcontext == other.uc_mcontext
- && self.uc_sigmask == other.uc_sigmask
- }
- }
- impl Eq for ucontext_t {}
- impl ::fmt::Debug for ucontext_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("ucontext_t")
- .field("uc_flags", &self.uc_link)
- .field("uc_link", &self.uc_link)
- .field("uc_stack", &self.uc_stack)
- .field("uc_mcontext", &self.uc_mcontext)
- .field("uc_sigmask", &self.uc_sigmask)
- .finish()
- }
- }
- impl ::hash::Hash for ucontext_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- self.uc_flags.hash(state);
- self.uc_link.hash(state);
- self.uc_stack.hash(state);
- self.uc_mcontext.hash(state);
- self.uc_sigmask.hash(state);
- }
- }
- }
}
pub const SIGSTKSZ: ::size_t = 8192;
@@ -232,13 +161,16 @@ pub const O_NOFOLLOW: ::c_int = 0x8000;
pub const O_ASYNC: ::c_int = 0x2000;
pub const O_LARGEFILE: ::c_int = 0o400000;
+pub const FIOCLEX: ::c_int = 0x5451;
+pub const FIONCLEX: ::c_int = 0x5450;
+pub const FIONBIO: ::c_int = 0x5421;
+
pub const RLIMIT_RSS: ::c_int = 5;
pub const RLIMIT_NOFILE: ::c_int = 7;
pub const RLIMIT_AS: ::c_int = 9;
pub const RLIMIT_NPROC: ::c_int = 6;
pub const RLIMIT_MEMLOCK: ::c_int = 8;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const MADV_SOFT_OFFLINE: ::c_int = 101;
pub const MCL_CURRENT: ::c_int = 0x0001;
@@ -471,9 +403,55 @@ pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
+pub const TCGETS: ::c_int = 0x5401;
+pub const TCSETS: ::c_int = 0x5402;
+pub const TCSETSW: ::c_int = 0x5403;
+pub const TCSETSF: ::c_int = 0x5404;
+pub const TCGETA: ::c_int = 0x5405;
+pub const TCSETA: ::c_int = 0x5406;
+pub const TCSETAW: ::c_int = 0x5407;
+pub const TCSETAF: ::c_int = 0x5408;
+pub const TCSBRK: ::c_int = 0x5409;
+pub const TCXONC: ::c_int = 0x540A;
+pub const TCFLSH: ::c_int = 0x540B;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x540F;
+pub const TIOCSPGRP: ::c_int = 0x5410;
+pub const TIOCOUTQ: ::c_int = 0x5411;
+pub const TIOCSTI: ::c_int = 0x5412;
+pub const TIOCGWINSZ: ::c_int = 0x5413;
+pub const TIOCSWINSZ: ::c_int = 0x5414;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x541B;
+pub const TIOCCONS: ::c_int = 0x541D;
+
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+
pub const POLLWRNORM: ::c_short = 0x100;
pub const POLLWRBAND: ::c_short = 0x200;
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
// Syscall table
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/musl/b32/hexagon.rs b/src/unix/linux_like/linux/musl/b32/hexagon.rs
index 3d8b84de..a94ebb6a 100644
--- a/src/unix/linux_like/linux/musl/b32/hexagon.rs
+++ b/src/unix/linux_like/linux/musl/b32/hexagon.rs
@@ -129,6 +129,17 @@ s! {
pub f_namemax: ::c_ulong,
__f_spare: [::c_int; 6],
}
+
+ pub struct termios2 {
+ pub c_iflag: ::tcflag_t,
+ pub c_oflag: ::tcflag_t,
+ pub c_cflag: ::tcflag_t,
+ pub c_lflag: ::tcflag_t,
+ pub c_line: ::cc_t,
+ pub c_cc: [::cc_t; 19],
+ pub c_ispeed: ::speed_t,
+ pub c_ospeed: ::speed_t,
+ }
}
pub const AF_FILE: ::c_int = 1;
@@ -223,6 +234,12 @@ pub const F_GETOWN: ::c_int = 9;
pub const F_GETOWNER_UIDS: ::c_int = 17;
pub const F_GETOWN_EX: ::c_int = 16;
pub const F_GETSIG: ::c_int = 11;
+pub const FIOASYNC: ::c_int = 21586;
+pub const FIOCLEX: ::c_int = 21585;
+pub const FIONBIO: ::c_int = 21537;
+pub const FIONCLEX: ::c_int = 21584;
+pub const FIONREAD: ::c_int = 21531;
+pub const FIOQSIZE: ::c_int = 21600;
pub const F_LINUX_SPECIFIC_BASE: ::c_int = 1024;
pub const FLUSHO: ::c_int = 4096;
pub const F_OFD_GETLK: ::c_int = 36;
@@ -649,10 +666,83 @@ pub const SYS_waitid: ::c_int = 95;
pub const SYS_write: ::c_int = 64;
pub const SYS_writev: ::c_int = 66;
pub const SYS_statx: ::c_int = 291;
+pub const TCFLSH: ::c_int = 21515;
+pub const TCGETA: ::c_int = 21509;
+pub const TCGETS: ::c_int = 21505;
+pub const TCGETX: ::c_int = 21554;
+pub const TCSBRK: ::c_int = 21513;
+pub const TCSBRKP: ::c_int = 21541;
+pub const TCSETA: ::c_int = 21510;
+pub const TCSETAF: ::c_int = 21512;
+pub const TCSETAW: ::c_int = 21511;
+pub const TCSETS: ::c_int = 21506;
+pub const TCSETSF: ::c_int = 21508;
+pub const TCSETSW: ::c_int = 21507;
+pub const TCSETX: ::c_int = 21555;
+pub const TCSETXF: ::c_int = 21556;
+pub const TCSETXW: ::c_int = 21557;
+pub const TCXONC: ::c_int = 21514;
+pub const TIOCCONS: ::c_int = 21533;
+pub const TIOCEXCL: ::c_int = 21516;
+pub const TIOCGETD: ::c_int = 21540;
+pub const TIOCGICOUNT: ::c_int = 21597;
+pub const TIOCGLCKTRMIOS: ::c_int = 21590;
+pub const TIOCGPGRP: ::c_int = 21519;
+pub const TIOCGRS485: ::c_int = 21550;
+pub const TIOCGSERIAL: ::c_int = 21534;
+pub const TIOCGSID: ::c_int = 21545;
+pub const TIOCGSOFTCAR: ::c_int = 21529;
+pub const TIOCGWINSZ: ::c_int = 21523;
+pub const TIOCLINUX: ::c_int = 21532;
+pub const TIOCMBIC: ::c_int = 21527;
+pub const TIOCMBIS: ::c_int = 21526;
+pub const TIOCM_CAR: ::c_int = 64;
+pub const TIOCM_CD: ::c_int = 64;
+pub const TIOCM_CTS: ::c_int = 32;
+pub const TIOCM_DSR: ::c_int = 256;
+pub const TIOCM_DTR: ::c_int = 2;
+pub const TIOCMGET: ::c_int = 21525;
+pub const TIOCMIWAIT: ::c_int = 21596;
+pub const TIOCM_LE: ::c_int = 1;
pub const TIOCM_LOOP: ::c_int = 32768;
pub const TIOCM_OUT1: ::c_int = 8192;
pub const TIOCM_OUT2: ::c_int = 16384;
+pub const TIOCM_RI: ::c_int = 128;
+pub const TIOCM_RNG: ::c_int = 128;
+pub const TIOCM_RTS: ::c_int = 4;
+pub const TIOCMSET: ::c_int = 21528;
+pub const TIOCM_SR: ::c_int = 16;
+pub const TIOCM_ST: ::c_int = 8;
+pub const TIOCNOTTY: ::c_int = 21538;
+pub const TIOCNXCL: ::c_int = 21517;
+pub const TIOCOUTQ: ::c_int = 21521;
+pub const TIOCPKT: ::c_int = 21536;
+pub const TIOCPKT_DATA: ::c_int = 0;
+pub const TIOCPKT_DOSTOP: ::c_int = 32;
+pub const TIOCPKT_FLUSHREAD: ::c_int = 1;
+pub const TIOCPKT_FLUSHWRITE: ::c_int = 2;
+pub const TIOCPKT_IOCTL: ::c_int = 64;
+pub const TIOCPKT_NOSTOP: ::c_int = 16;
+pub const TIOCPKT_START: ::c_int = 8;
+pub const TIOCPKT_STOP: ::c_int = 4;
+pub const TIOCSCTTY: ::c_int = 21518;
+pub const TIOCSERCONFIG: ::c_int = 21587;
+pub const TIOCSERGETLSR: ::c_int = 21593;
+pub const TIOCSERGETMULTI: ::c_int = 21594;
+pub const TIOCSERGSTRUCT: ::c_int = 21592;
+pub const TIOCSERGWILD: ::c_int = 21588;
+pub const TIOCSERSETMULTI: ::c_int = 21595;
+pub const TIOCSERSWILD: ::c_int = 21589;
pub const TIOCSER_TEMT: ::c_int = 1;
+pub const TIOCSETD: ::c_int = 21539;
+pub const TIOCSLCKTRMIOS: ::c_int = 21591;
+pub const TIOCSPGRP: ::c_int = 21520;
+pub const TIOCSRS485: ::c_int = 21551;
+pub const TIOCSSERIAL: ::c_int = 21535;
+pub const TIOCSSOFTCAR: ::c_int = 21530;
+pub const TIOCSTI: ::c_int = 21522;
+pub const TIOCSWINSZ: ::c_int = 21524;
+pub const TIOCVHANGUP: ::c_int = 21559;
pub const TOSTOP: ::c_int = 256;
pub const VEOF: ::c_int = 4;
pub const VEOL2: ::c_int = 16;
diff --git a/src/unix/linux_like/linux/musl/b32/mips/mod.rs b/src/unix/linux_like/linux/musl/b32/mips/mod.rs
index 2942f58a..115ba53d 100644
--- a/src/unix/linux_like/linux/musl/b32/mips/mod.rs
+++ b/src/unix/linux_like/linux/musl/b32/mips/mod.rs
@@ -172,13 +172,16 @@ pub const O_NOFOLLOW: ::c_int = 0o400000;
pub const O_ASYNC: ::c_int = 0o10000;
pub const O_LARGEFILE: ::c_int = 0x2000;
+pub const FIOCLEX: ::c_int = 0x6601;
+pub const FIONCLEX: ::c_int = 0x6602;
+pub const FIONBIO: ::c_int = 0x667E;
+
pub const RLIMIT_RSS: ::c_int = 7;
pub const RLIMIT_NOFILE: ::c_int = 5;
pub const RLIMIT_AS: ::c_int = 6;
pub const RLIMIT_NPROC: ::c_int = 8;
pub const RLIMIT_MEMLOCK: ::c_int = 9;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
@@ -409,9 +412,55 @@ pub const IEXTEN: ::tcflag_t = 0o000400;
pub const TOSTOP: ::tcflag_t = 0o100000;
pub const FLUSHO: ::tcflag_t = 0o020000;
+pub const TCGETS: ::c_int = 0x540D;
+pub const TCSETS: ::c_int = 0x540E;
+pub const TCSETSW: ::c_int = 0x540F;
+pub const TCSETSF: ::c_int = 0x5410;
+pub const TCGETA: ::c_int = 0x5401;
+pub const TCSETA: ::c_int = 0x5402;
+pub const TCSETAW: ::c_int = 0x5403;
+pub const TCSETAF: ::c_int = 0x5404;
+pub const TCSBRK: ::c_int = 0x5405;
+pub const TCXONC: ::c_int = 0x5406;
+pub const TCFLSH: ::c_int = 0x5407;
+pub const TIOCGSOFTCAR: ::c_int = 0x5481;
+pub const TIOCSSOFTCAR: ::c_int = 0x5482;
+pub const TIOCLINUX: ::c_int = 0x5483;
+pub const TIOCGSERIAL: ::c_int = 0x5484;
+pub const TIOCEXCL: ::c_int = 0x740D;
+pub const TIOCNXCL: ::c_int = 0x740E;
+pub const TIOCSCTTY: ::c_int = 0x5480;
+pub const TIOCGPGRP: ::c_int = 0x40047477;
+pub const TIOCSPGRP: ::c_int = 0x80047476;
+pub const TIOCOUTQ: ::c_int = 0x7472;
+pub const TIOCSTI: ::c_int = 0x5472;
+pub const TIOCGWINSZ: ::c_int = 0x40087468;
+pub const TIOCSWINSZ: ::c_int = 0x80087467;
+pub const TIOCMGET: ::c_int = 0x741D;
+pub const TIOCMBIS: ::c_int = 0x741B;
+pub const TIOCMBIC: ::c_int = 0x741C;
+pub const TIOCMSET: ::c_int = 0x741A;
+pub const FIONREAD: ::c_int = 0x467F;
+pub const TIOCCONS: ::c_int = 0x80047478;
+
+pub const TIOCGRS485: ::c_int = 0x4020542E;
+pub const TIOCSRS485: ::c_int = 0xC020542F;
+
pub const POLLWRNORM: ::c_short = 0x4;
pub const POLLWRBAND: ::c_short = 0x100;
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x010;
+pub const TIOCM_SR: ::c_int = 0x020;
+pub const TIOCM_CTS: ::c_int = 0x040;
+pub const TIOCM_CAR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RNG: ::c_int = 0x200;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+pub const TIOCM_DSR: ::c_int = 0x400;
+
pub const SYS_syscall: ::c_long = 4000 + 0;
pub const SYS_exit: ::c_long = 4000 + 1;
pub const SYS_fork: ::c_long = 4000 + 2;
diff --git a/src/unix/linux_like/linux/musl/b32/mod.rs b/src/unix/linux_like/linux/musl/b32/mod.rs
index ae91ce40..f54e5d9c 100644
--- a/src/unix/linux_like/linux/musl/b32/mod.rs
+++ b/src/unix/linux_like/linux/musl/b32/mod.rs
@@ -38,6 +38,12 @@ s! {
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32;
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24;
+pub const TIOCINQ: ::c_int = ::FIONREAD;
+
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+}
+
cfg_if! {
if #[cfg(any(target_arch = "x86"))] {
mod x86;
diff --git a/src/unix/linux_like/linux/musl/b32/powerpc.rs b/src/unix/linux_like/linux/musl/b32/powerpc.rs
index ca0c393d..848d2d55 100644
--- a/src/unix/linux_like/linux/musl/b32/powerpc.rs
+++ b/src/unix/linux_like/linux/musl/b32/powerpc.rs
@@ -165,13 +165,16 @@ pub const O_NOFOLLOW: ::c_int = 0x8000;
pub const O_ASYNC: ::c_int = 0x2000;
pub const O_LARGEFILE: ::c_int = 0x10000;
+pub const FIOCLEX: ::c_int = 0x20006601;
+pub const FIONCLEX: ::c_int = 0x20006602;
+pub const FIONBIO: ::c_int = 0x8004667E;
+
pub const RLIMIT_RSS: ::c_int = 5;
pub const RLIMIT_NOFILE: ::c_int = 7;
pub const RLIMIT_AS: ::c_int = 9;
pub const RLIMIT_NPROC: ::c_int = 6;
pub const RLIMIT_MEMLOCK: ::c_int = 8;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const MCL_CURRENT: ::c_int = 0x2000;
pub const MCL_FUTURE: ::c_int = 0x4000;
@@ -402,9 +405,55 @@ pub const IEXTEN: ::tcflag_t = 0x00000400;
pub const TOSTOP: ::tcflag_t = 0x00400000;
pub const FLUSHO: ::tcflag_t = 0x00800000;
+pub const TCGETS: ::c_int = 0x402C7413;
+pub const TCSETS: ::c_int = 0x802C7414;
+pub const TCSETSW: ::c_int = 0x802C7415;
+pub const TCSETSF: ::c_int = 0x802C7416;
+pub const TCGETA: ::c_int = 0x40147417;
+pub const TCSETA: ::c_int = 0x80147418;
+pub const TCSETAW: ::c_int = 0x80147419;
+pub const TCSETAF: ::c_int = 0x8014741C;
+pub const TCSBRK: ::c_int = 0x2000741D;
+pub const TCXONC: ::c_int = 0x2000741E;
+pub const TCFLSH: ::c_int = 0x2000741F;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x40047477;
+pub const TIOCSPGRP: ::c_int = 0x80047476;
+pub const TIOCOUTQ: ::c_int = 0x40047473;
+pub const TIOCSTI: ::c_int = 0x5412;
+pub const TIOCGWINSZ: ::c_int = 0x40087468;
+pub const TIOCSWINSZ: ::c_int = 0x80087467;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x4004667F;
+pub const TIOCCONS: ::c_int = 0x541D;
+
+pub const TIOCGRS485: ::c_int = 0x542e;
+pub const TIOCSRS485: ::c_int = 0x542f;
+
pub const POLLWRNORM: ::c_short = 0x100;
pub const POLLWRBAND: ::c_short = 0x200;
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
// Syscall table
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/musl/b32/x86/mod.rs b/src/unix/linux_like/linux/musl/b32/x86/mod.rs
index 0bdb96fb..d4cedbc5 100644
--- a/src/unix/linux_like/linux/musl/b32/x86/mod.rs
+++ b/src/unix/linux_like/linux/musl/b32/x86/mod.rs
@@ -221,13 +221,16 @@ pub const O_NOFOLLOW: ::c_int = 0x20000;
pub const O_ASYNC: ::c_int = 0x2000;
pub const O_LARGEFILE: ::c_int = 0o0100000;
+pub const FIOCLEX: ::c_int = 0x5451;
+pub const FIONCLEX: ::c_int = 0x5450;
+pub const FIONBIO: ::c_int = 0x5421;
+
pub const RLIMIT_RSS: ::c_int = 5;
pub const RLIMIT_NOFILE: ::c_int = 7;
pub const RLIMIT_AS: ::c_int = 9;
pub const RLIMIT_NPROC: ::c_int = 6;
pub const RLIMIT_MEMLOCK: ::c_int = 8;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const MADV_SOFT_OFFLINE: ::c_int = 101;
pub const MCL_CURRENT: ::c_int = 0x0001;
@@ -461,9 +464,55 @@ pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
+pub const TCGETS: ::c_int = 0x5401;
+pub const TCSETS: ::c_int = 0x5402;
+pub const TCSETSW: ::c_int = 0x5403;
+pub const TCSETSF: ::c_int = 0x5404;
+pub const TCGETA: ::c_int = 0x5405;
+pub const TCSETA: ::c_int = 0x5406;
+pub const TCSETAW: ::c_int = 0x5407;
+pub const TCSETAF: ::c_int = 0x5408;
+pub const TCSBRK: ::c_int = 0x5409;
+pub const TCXONC: ::c_int = 0x540A;
+pub const TCFLSH: ::c_int = 0x540B;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x540F;
+pub const TIOCSPGRP: ::c_int = 0x5410;
+pub const TIOCOUTQ: ::c_int = 0x5411;
+pub const TIOCSTI: ::c_int = 0x5412;
+pub const TIOCGWINSZ: ::c_int = 0x5413;
+pub const TIOCSWINSZ: ::c_int = 0x5414;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x541B;
+pub const TIOCCONS: ::c_int = 0x541D;
+
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+
pub const POLLWRNORM: ::c_short = 0x100;
pub const POLLWRBAND: ::c_short = 0x200;
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
// Syscall table
pub const SYS_restart_syscall: ::c_long = 0;
pub const SYS_exit: ::c_long = 1;
diff --git a/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs b/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs
index d901c9e2..6aab650a 100644
--- a/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs
+++ b/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs
@@ -49,13 +49,6 @@ s! {
__unused: [::c_uint; 2],
}
- pub struct user_regs_struct {
- pub regs: [::c_ulonglong; 31],
- pub sp: ::c_ulonglong,
- pub pc: ::c_ulonglong,
- pub pstate: ::c_ulonglong,
- }
-
pub struct ipc_perm {
pub __ipc_perm_key: ::key_t,
pub uid: ::uid_t,
@@ -167,40 +160,6 @@ pub const ENOTRECOVERABLE: ::c_int = 131;
pub const ERFKILL: ::c_int = 132;
pub const EHWPOISON: ::c_int = 133;
-// bits/hwcap.h
-pub const HWCAP_FP: ::c_ulong = 1 << 0;
-pub const HWCAP_ASIMD: ::c_ulong = 1 << 1;
-pub const HWCAP_EVTSTRM: ::c_ulong = 1 << 2;
-pub const HWCAP_AES: ::c_ulong = 1 << 3;
-pub const HWCAP_PMULL: ::c_ulong = 1 << 4;
-pub const HWCAP_SHA1: ::c_ulong = 1 << 5;
-pub const HWCAP_SHA2: ::c_ulong = 1 << 6;
-pub const HWCAP_CRC32: ::c_ulong = 1 << 7;
-pub const HWCAP_ATOMICS: ::c_ulong = 1 << 8;
-pub const HWCAP_FPHP: ::c_ulong = 1 << 9;
-pub const HWCAP_ASIMDHP: ::c_ulong = 1 << 10;
-pub const HWCAP_CPUID: ::c_ulong = 1 << 11;
-pub const HWCAP_ASIMDRDM: ::c_ulong = 1 << 12;
-pub const HWCAP_JSCVT: ::c_ulong = 1 << 13;
-pub const HWCAP_FCMA: ::c_ulong = 1 << 14;
-pub const HWCAP_LRCPC: ::c_ulong = 1 << 15;
-pub const HWCAP_DCPOP: ::c_ulong = 1 << 16;
-pub const HWCAP_SHA3: ::c_ulong = 1 << 17;
-pub const HWCAP_SM3: ::c_ulong = 1 << 18;
-pub const HWCAP_SM4: ::c_ulong = 1 << 19;
-pub const HWCAP_ASIMDDP: ::c_ulong = 1 << 20;
-pub const HWCAP_SHA512: ::c_ulong = 1 << 21;
-pub const HWCAP_SVE: ::c_ulong = 1 << 22;
-pub const HWCAP_ASIMDFHM: ::c_ulong = 1 << 23;
-pub const HWCAP_DIT: ::c_ulong = 1 << 24;
-pub const HWCAP_USCAT: ::c_ulong = 1 << 25;
-pub const HWCAP_ILRCPC: ::c_ulong = 1 << 26;
-pub const HWCAP_FLAGM: ::c_ulong = 1 << 27;
-pub const HWCAP_SSBS: ::c_ulong = 1 << 28;
-pub const HWCAP_SB: ::c_ulong = 1 << 29;
-pub const HWCAP_PACA: ::c_ulong = 1 << 30;
-pub const HWCAP_PACG: ::c_ulong = 1 << 31;
-
pub const MAP_ANON: ::c_int = 0x0020;
pub const MAP_GROWSDOWN: ::c_int = 0x0100;
pub const MAP_DENYWRITE: ::c_int = 0x0800;
@@ -557,7 +516,7 @@ pub const SYS_epoll_pwait2: ::c_long = 441;
pub const SYS_mount_setattr: ::c_long = 442;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
+pub const TIOCINQ: ::c_int = ::FIONREAD;
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
pub const CBAUD: ::tcflag_t = 0o0010017;
@@ -627,6 +586,9 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
+pub const FIOCLEX: ::c_int = 0x5451;
+pub const FIONCLEX: ::c_int = 0x5450;
+pub const FIONBIO: ::c_int = 0x5421;
pub const EDEADLK: ::c_int = 35;
pub const EDEADLOCK: ::c_int = EDEADLK;
@@ -637,6 +599,55 @@ pub const VMIN: usize = 6;
pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
+pub const TCGETS: ::c_int = 0x5401;
+pub const TCSETS: ::c_int = 0x5402;
+pub const TCSETSW: ::c_int = 0x5403;
+pub const TCSETSF: ::c_int = 0x5404;
+pub const TCGETA: ::c_int = 0x5405;
+pub const TCSETA: ::c_int = 0x5406;
+pub const TCSETAW: ::c_int = 0x5407;
+pub const TCSETAF: ::c_int = 0x5408;
+pub const TCSBRK: ::c_int = 0x5409;
+pub const TCXONC: ::c_int = 0x540A;
+pub const TCFLSH: ::c_int = 0x540B;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x540F;
+pub const TIOCSPGRP: ::c_int = 0x5410;
+pub const TIOCOUTQ: ::c_int = 0x5411;
+pub const TIOCSTI: ::c_int = 0x5412;
+pub const TIOCGWINSZ: ::c_int = 0x5413;
+pub const TIOCSWINSZ: ::c_int = 0x5414;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x541B;
+pub const TIOCCONS: ::c_int = 0x541D;
+
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+}
cfg_if! {
if #[cfg(libc_align)] {
diff --git a/src/unix/linux_like/linux/musl/b64/mips64.rs b/src/unix/linux_like/linux/musl/b64/mips64.rs
index eb06ce7f..4605a07e 100644
--- a/src/unix/linux_like/linux/musl/b64/mips64.rs
+++ b/src/unix/linux_like/linux/musl/b64/mips64.rs
@@ -505,7 +505,6 @@ pub const ENOPROTOOPT: ::c_int = 99;
pub const EPROTONOSUPPORT: ::c_int = 120;
pub const ESOCKTNOSUPPORT: ::c_int = 121;
pub const EOPNOTSUPP: ::c_int = 122;
-pub const ENOTSUP: ::c_int = EOPNOTSUPP;
pub const EPFNOSUPPORT: ::c_int = 123;
pub const EAFNOSUPPORT: ::c_int = 124;
pub const EADDRINUSE: ::c_int = 125;
@@ -558,6 +557,10 @@ pub const MAP_HUGETLB: ::c_int = 0x080000;
pub const SOCK_STREAM: ::c_int = 2;
pub const SOCK_DGRAM: ::c_int = 1;
+pub const FIOCLEX: ::c_int = 0x6601;
+pub const FIONCLEX: ::c_int = 0x6602;
+pub const FIONBIO: ::c_int = 0x667e;
+
pub const SA_ONSTACK: ::c_int = 0x08000000;
pub const SA_SIGINFO: ::c_int = 0x00000008;
pub const SA_NOCLDWAIT: ::c_int = 0x00010000;
@@ -606,6 +609,38 @@ pub const F_OFD_GETLK: ::c_int = 36;
pub const F_OFD_SETLK: ::c_int = 37;
pub const F_OFD_SETLKW: ::c_int = 38;
+pub const TCGETS: ::c_int = 0x540d;
+pub const TCSETS: ::c_int = 0x540e;
+pub const TCSETSW: ::c_int = 0x540f;
+pub const TCSETSF: ::c_int = 0x5410;
+pub const TCGETA: ::c_int = 0x5401;
+pub const TCSETA: ::c_int = 0x5402;
+pub const TCSETAW: ::c_int = 0x5403;
+pub const TCSETAF: ::c_int = 0x5404;
+pub const TCSBRK: ::c_int = 0x5405;
+pub const TCXONC: ::c_int = 0x5406;
+pub const TCFLSH: ::c_int = 0x5407;
+pub const TIOCGSOFTCAR: ::c_int = 0x5481;
+pub const TIOCSSOFTCAR: ::c_int = 0x5482;
+pub const TIOCINQ: ::c_int = 0x467f;
+pub const TIOCLINUX: ::c_int = 0x5483;
+pub const TIOCGSERIAL: ::c_int = 0x5484;
+pub const TIOCEXCL: ::c_int = 0x740d;
+pub const TIOCNXCL: ::c_int = 0x740e;
+pub const TIOCSCTTY: ::c_int = 0x5480;
+pub const TIOCGPGRP: ::c_int = 0x40047477;
+pub const TIOCSPGRP: ::c_int = 0x80047476_u32 as i32;
+pub const TIOCOUTQ: ::c_int = 0x7472;
+pub const TIOCSTI: ::c_int = 0x5472;
+pub const TIOCGWINSZ: ::c_int = 0x40087468;
+pub const TIOCSWINSZ: ::c_int = 0x80087467_u32 as i32;
+pub const TIOCMGET: ::c_int = 0x741d;
+pub const TIOCMBIS: ::c_int = 0x741b;
+pub const TIOCMBIC: ::c_int = 0x741c;
+pub const TIOCMSET: ::c_int = 0x741a;
+pub const FIONREAD: ::c_int = 0x467f;
+pub const TIOCCONS: ::c_int = 0x80047478_u32 as i32;
+
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
@@ -661,6 +696,7 @@ pub const FFDLY: ::tcflag_t = 0o100000;
pub const VTDLY: ::tcflag_t = 0o040000;
pub const XTABS: ::tcflag_t = 0o014000;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
@@ -677,4 +713,15 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
+pub const TIOCM_ST: ::c_int = 0x010;
+pub const TIOCM_SR: ::c_int = 0x020;
+pub const TIOCM_CTS: ::c_int = 0x040;
+pub const TIOCM_CAR: ::c_int = 0x100;
+pub const TIOCM_RNG: ::c_int = 0x200;
+pub const TIOCM_DSR: ::c_int = 0x400;
+
pub const EHWPOISON: ::c_int = 168;
+
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+}
diff --git a/src/unix/linux_like/linux/musl/b64/mod.rs b/src/unix/linux_like/linux/musl/b64/mod.rs
index 7261b95d..cfcdaaec 100644
--- a/src/unix/linux_like/linux/musl/b64/mod.rs
+++ b/src/unix/linux_like/linux/musl/b64/mod.rs
@@ -163,9 +163,6 @@ 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
}
diff --git a/src/unix/linux_like/linux/musl/b64/powerpc64.rs b/src/unix/linux_like/linux/musl/b64/powerpc64.rs
index 05ec9713..daa5b11f 100644
--- a/src/unix/linux_like/linux/musl/b64/powerpc64.rs
+++ b/src/unix/linux_like/linux/musl/b64/powerpc64.rs
@@ -601,6 +601,9 @@ pub const SYS_process_madvise: ::c_long = 440;
pub const SYS_epoll_pwait2: ::c_long = 441;
pub const SYS_mount_setattr: ::c_long = 442;
+pub const FIOCLEX: ::c_int = 0x20006601;
+pub const FIONCLEX: ::c_int = 0x20006602;
+pub const FIONBIO: ::c_int = 0x8004667e;
pub const EDEADLK: ::c_int = 58;
pub const EDEADLOCK: ::c_int = EDEADLK;
@@ -611,9 +614,52 @@ pub const VMIN: usize = 5;
pub const IEXTEN: ::tcflag_t = 0x00000400;
pub const TOSTOP: ::tcflag_t = 0x00400000;
pub const FLUSHO: ::tcflag_t = 0x00800000;
+pub const TCGETS: ::c_int = 0x403c7413;
+pub const TCSETS: ::c_int = 0x803c7414;
+pub const TCSETSW: ::c_int = 0x803c7415;
+pub const TCSETSF: ::c_int = 0x803c7416;
+pub const TCGETA: ::c_int = 0x40147417;
+pub const TCSETA: ::c_int = 0x80147418;
+pub const TCSETAW: ::c_int = 0x80147419;
+pub const TCSETAF: ::c_int = 0x8014741c;
+pub const TCSBRK: ::c_int = 0x2000741d;
+pub const TCXONC: ::c_int = 0x2000741e;
+pub const TCFLSH: ::c_int = 0x2000741f;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x40047477;
+pub const TIOCSPGRP: ::c_int = 0x80047476;
+pub const TIOCOUTQ: ::c_int = 0x40047473;
+pub const TIOCGWINSZ: ::c_int = 0x40087468;
+pub const TIOCSWINSZ: ::c_int = 0x80087467;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x4004667f;
+pub const TIOCCONS: ::c_int = 0x541D;
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
+pub const TIOCINQ: ::c_int = ::FIONREAD;
pub const MCL_CURRENT: ::c_int = 0x2000;
pub const MCL_FUTURE: ::c_int = 0x4000;
pub const CBAUD: ::tcflag_t = 0xff;
@@ -685,3 +731,7 @@ pub const B2500000: ::speed_t = 0o00033;
pub const B3000000: ::speed_t = 0o00034;
pub const B3500000: ::speed_t = 0o00035;
pub const B4000000: ::speed_t = 0o00036;
+
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+}
diff --git a/src/unix/linux_like/linux/musl/b64/riscv64/align.rs b/src/unix/linux_like/linux/musl/b64/riscv64/align.rs
deleted file mode 100644
index 48d152a5..00000000
--- a/src/unix/linux_like/linux/musl/b64/riscv64/align.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-s_no_extra_traits! {
- #[allow(missing_debug_implementations)]
- pub struct ucontext_t {
- pub __uc_flags: ::c_ulong,
- pub uc_link: *mut ucontext_t,
- pub uc_stack: ::stack_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_mcontext: mcontext_t,
- }
-
- #[allow(missing_debug_implementations)]
- #[repr(align(16))]
- pub struct mcontext_t {
- pub __gregs: [::c_ulong; 32],
- pub __fpregs: __riscv_mc_fp_state,
- }
-
- #[allow(missing_debug_implementations)]
- pub union __riscv_mc_fp_state {
- pub __f: __riscv_mc_f_ext_state,
- pub __d: __riscv_mc_d_ext_state,
- pub __q: __riscv_mc_q_ext_state,
- }
-
- #[allow(missing_debug_implementations)]
- pub struct __riscv_mc_f_ext_state {
- pub __f: [::c_uint; 32],
- pub __fcsr: ::c_uint,
- }
-
- #[allow(missing_debug_implementations)]
- pub struct __riscv_mc_d_ext_state {
- pub __f: [::c_ulonglong; 32],
- pub __fcsr: ::c_uint,
- }
-
- #[allow(missing_debug_implementations)]
- #[repr(align(16))]
- pub struct __riscv_mc_q_ext_state {
- pub __f: [::c_ulonglong; 64],
- pub __fcsr: ::c_uint,
- pub __glibc_reserved: [::c_uint; 3],
- }
-}
diff --git a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
deleted file mode 100644
index 5dd34daf..00000000
--- a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+++ /dev/null
@@ -1,741 +0,0 @@
-//! RISC-V-specific definitions for 64-bit linux-like values
-
-pub type c_char = u8;
-pub type wchar_t = ::c_int;
-
-pub type nlink_t = ::c_uint;
-pub type blksize_t = ::c_int;
-pub type fsblkcnt64_t = ::c_ulong;
-pub type fsfilcnt64_t = ::c_ulong;
-pub type __u64 = ::c_ulonglong;
-
-s! {
- pub struct pthread_attr_t {
- __size: [::c_ulong; 7],
- }
-
- 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_uid: ::uid_t,
- pub st_gid: ::gid_t,
- pub st_rdev: ::dev_t,
- pub __pad1: ::dev_t,
- pub st_size: ::off_t,
- pub st_blksize: ::blksize_t,
- pub __pad2: ::c_int,
- 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_int; 2usize],
- }
-
- pub struct stat64 {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino64_t,
- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
- pub st_rdev: ::dev_t,
- pub __pad1: ::dev_t,
- pub st_size: ::off64_t,
- pub st_blksize: ::blksize_t,
- pub __pad2: ::c_int,
- 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_int; 2],
- }
-
- pub struct statfs {
- pub f_type: ::c_long,
- pub f_bsize: ::c_long,
- 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_fsid: ::fsid_t,
- pub f_namelen: ::c_long,
- pub f_frsize: ::c_long,
- pub f_flags: ::c_long,
- pub f_spare: [::c_long; 4],
- }
-
- pub struct statfs64 {
- pub f_type: ::c_long,
- pub f_bsize: ::c_long,
- pub f_blocks: ::fsblkcnt64_t,
- pub f_bfree: ::fsblkcnt64_t,
- pub f_bavail: ::fsblkcnt64_t,
- pub f_files: ::fsfilcnt64_t,
- pub f_ffree: ::fsfilcnt64_t,
- pub f_fsid: ::fsid_t,
- pub f_namelen: ::c_long,
- pub f_frsize: ::c_long,
- pub f_flags: ::c_long,
- pub f_spare: [::c_long; 4],
- }
-
- 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_flag: ::c_ulong,
- pub f_namemax: ::c_ulong,
- pub __f_spare: [::c_int; 6],
- }
-
- pub struct statvfs64 {
- pub f_bsize: ::c_ulong,
- pub f_frsize: ::c_ulong,
- pub f_blocks: ::fsblkcnt64_t,
- pub f_bfree: ::fsblkcnt64_t,
- pub f_bavail: ::fsblkcnt64_t,
- pub f_files: ::fsfilcnt64_t,
- pub f_ffree: ::fsfilcnt64_t,
- pub f_favail: ::fsfilcnt64_t,
- pub f_fsid: ::c_ulong,
- pub f_flag: ::c_ulong,
- pub f_namemax: ::c_ulong,
- pub __f_spare: [::c_int; 6],
- }
-
- pub struct siginfo_t {
- pub si_signo: ::c_int,
- pub si_errno: ::c_int,
- pub si_code: ::c_int,
- #[doc(hidden)]
- #[deprecated(
- since="0.2.54",
- note="Please leave a comment on \
- https://github.com/rust-lang/libc/pull/1316 if you're using \
- this field"
- )]
- pub _pad: [::c_int; 29],
- _align: [u64; 0],
- }
-
- pub struct stack_t {
- pub ss_sp: *mut ::c_void,
- pub ss_flags: ::c_int,
- pub ss_size: ::size_t,
- }
-
- pub struct sigaction {
- pub sa_sigaction: ::sighandler_t,
- pub sa_mask: ::sigset_t,
- pub sa_flags: ::c_int,
- pub sa_restorer: ::Option<unsafe extern "C" fn()>,
- }
-
- pub struct ipc_perm {
- pub __key: ::key_t,
- pub uid: ::uid_t,
- pub gid: ::gid_t,
- pub cuid: ::uid_t,
- pub cgid: ::gid_t,
- pub mode: ::c_ushort,
- __pad1: ::c_ushort,
- pub __seq: ::c_ushort,
- __pad2: ::c_ushort,
- __unused1: ::c_ulong,
- __unused2: ::c_ulong,
- }
-
- pub struct shmid_ds {
- pub shm_perm: ::ipc_perm,
- pub shm_segsz: ::size_t,
- pub shm_atime: ::time_t,
- pub shm_dtime: ::time_t,
- pub shm_ctime: ::time_t,
- pub shm_cpid: ::pid_t,
- pub shm_lpid: ::pid_t,
- pub shm_nattch: ::shmatt_t,
- __unused5: ::c_ulong,
- __unused6: ::c_ulong,
- }
-
- pub struct flock {
- pub l_type: ::c_short,
- pub l_whence: ::c_short,
- pub l_start: ::off_t,
- pub l_len: ::off_t,
- pub l_pid: ::pid_t,
- }
-
- pub struct flock64 {
- pub l_type: ::c_short,
- pub l_whence: ::c_short,
- pub l_start: ::off64_t,
- pub l_len: ::off64_t,
- pub l_pid: ::pid_t,
- }
-}
-
-pub const SYS_read: ::c_long = 63;
-pub const SYS_write: ::c_long = 64;
-pub const SYS_close: ::c_long = 57;
-pub const SYS_fstat: ::c_long = 80;
-pub const SYS_lseek: ::c_long = 62;
-pub const SYS_mmap: ::c_long = 222;
-pub const SYS_mprotect: ::c_long = 226;
-pub const SYS_munmap: ::c_long = 215;
-pub const SYS_brk: ::c_long = 214;
-pub const SYS_rt_sigaction: ::c_long = 134;
-pub const SYS_rt_sigprocmask: ::c_long = 135;
-pub const SYS_rt_sigreturn: ::c_long = 139;
-pub const SYS_ioctl: ::c_long = 29;
-pub const SYS_pread64: ::c_long = 67;
-pub const SYS_pwrite64: ::c_long = 68;
-pub const SYS_readv: ::c_long = 65;
-pub const SYS_writev: ::c_long = 66;
-pub const SYS_sched_yield: ::c_long = 124;
-pub const SYS_mremap: ::c_long = 216;
-pub const SYS_msync: ::c_long = 227;
-pub const SYS_mincore: ::c_long = 232;
-pub const SYS_madvise: ::c_long = 233;
-pub const SYS_shmget: ::c_long = 194;
-pub const SYS_shmat: ::c_long = 196;
-pub const SYS_shmctl: ::c_long = 195;
-pub const SYS_dup: ::c_long = 23;
-pub const SYS_nanosleep: ::c_long = 101;
-pub const SYS_getitimer: ::c_long = 102;
-pub const SYS_setitimer: ::c_long = 103;
-pub const SYS_getpid: ::c_long = 172;
-pub const SYS_sendfile: ::c_long = 71;
-pub const SYS_socket: ::c_long = 198;
-pub const SYS_connect: ::c_long = 203;
-pub const SYS_accept: ::c_long = 202;
-pub const SYS_sendto: ::c_long = 206;
-pub const SYS_recvfrom: ::c_long = 207;
-pub const SYS_sendmsg: ::c_long = 211;
-pub const SYS_recvmsg: ::c_long = 212;
-pub const SYS_shutdown: ::c_long = 210;
-pub const SYS_bind: ::c_long = 200;
-pub const SYS_listen: ::c_long = 201;
-pub const SYS_getsockname: ::c_long = 204;
-pub const SYS_getpeername: ::c_long = 205;
-pub const SYS_socketpair: ::c_long = 199;
-pub const SYS_setsockopt: ::c_long = 208;
-pub const SYS_getsockopt: ::c_long = 209;
-pub const SYS_clone: ::c_long = 220;
-pub const SYS_execve: ::c_long = 221;
-pub const SYS_exit: ::c_long = 93;
-pub const SYS_wait4: ::c_long = 260;
-pub const SYS_kill: ::c_long = 129;
-pub const SYS_uname: ::c_long = 160;
-pub const SYS_semget: ::c_long = 190;
-pub const SYS_semop: ::c_long = 193;
-pub const SYS_semctl: ::c_long = 191;
-pub const SYS_shmdt: ::c_long = 197;
-pub const SYS_msgget: ::c_long = 186;
-pub const SYS_msgsnd: ::c_long = 189;
-pub const SYS_msgrcv: ::c_long = 188;
-pub const SYS_msgctl: ::c_long = 187;
-pub const SYS_fcntl: ::c_long = 25;
-pub const SYS_flock: ::c_long = 32;
-pub const SYS_fsync: ::c_long = 82;
-pub const SYS_fdatasync: ::c_long = 83;
-pub const SYS_truncate: ::c_long = 45;
-pub const SYS_ftruncate: ::c_long = 46;
-pub const SYS_getcwd: ::c_long = 17;
-pub const SYS_chdir: ::c_long = 49;
-pub const SYS_fchdir: ::c_long = 50;
-pub const SYS_fchmod: ::c_long = 52;
-pub const SYS_fchown: ::c_long = 55;
-pub const SYS_umask: ::c_long = 166;
-pub const SYS_gettimeofday: ::c_long = 169;
-pub const SYS_getrlimit: ::c_long = 163;
-pub const SYS_getrusage: ::c_long = 165;
-pub const SYS_sysinfo: ::c_long = 179;
-pub const SYS_times: ::c_long = 153;
-pub const SYS_ptrace: ::c_long = 117;
-pub const SYS_getuid: ::c_long = 174;
-pub const SYS_syslog: ::c_long = 116;
-pub const SYS_getgid: ::c_long = 176;
-pub const SYS_setuid: ::c_long = 146;
-pub const SYS_setgid: ::c_long = 144;
-pub const SYS_geteuid: ::c_long = 175;
-pub const SYS_getegid: ::c_long = 177;
-pub const SYS_setpgid: ::c_long = 154;
-pub const SYS_getppid: ::c_long = 173;
-pub const SYS_setsid: ::c_long = 157;
-pub const SYS_setreuid: ::c_long = 145;
-pub const SYS_setregid: ::c_long = 143;
-pub const SYS_getgroups: ::c_long = 158;
-pub const SYS_setgroups: ::c_long = 159;
-pub const SYS_setresuid: ::c_long = 147;
-pub const SYS_getresuid: ::c_long = 148;
-pub const SYS_setresgid: ::c_long = 149;
-pub const SYS_getresgid: ::c_long = 150;
-pub const SYS_getpgid: ::c_long = 155;
-pub const SYS_setfsuid: ::c_long = 151;
-pub const SYS_setfsgid: ::c_long = 152;
-pub const SYS_getsid: ::c_long = 156;
-pub const SYS_capget: ::c_long = 90;
-pub const SYS_capset: ::c_long = 91;
-pub const SYS_rt_sigpending: ::c_long = 136;
-pub const SYS_rt_sigtimedwait: ::c_long = 137;
-pub const SYS_rt_sigqueueinfo: ::c_long = 138;
-pub const SYS_rt_sigsuspend: ::c_long = 133;
-pub const SYS_sigaltstack: ::c_long = 132;
-pub const SYS_personality: ::c_long = 92;
-pub const SYS_statfs: ::c_long = 43;
-pub const SYS_fstatfs: ::c_long = 44;
-pub const SYS_getpriority: ::c_long = 141;
-pub const SYS_setpriority: ::c_long = 140;
-pub const SYS_sched_setparam: ::c_long = 118;
-pub const SYS_sched_getparam: ::c_long = 121;
-pub const SYS_sched_setscheduler: ::c_long = 119;
-pub const SYS_sched_getscheduler: ::c_long = 120;
-pub const SYS_sched_get_priority_max: ::c_long = 125;
-pub const SYS_sched_get_priority_min: ::c_long = 126;
-pub const SYS_sched_rr_get_interval: ::c_long = 127;
-pub const SYS_mlock: ::c_long = 228;
-pub const SYS_munlock: ::c_long = 229;
-pub const SYS_mlockall: ::c_long = 230;
-pub const SYS_munlockall: ::c_long = 231;
-pub const SYS_vhangup: ::c_long = 58;
-pub const SYS_pivot_root: ::c_long = 41;
-pub const SYS_prctl: ::c_long = 167;
-pub const SYS_adjtimex: ::c_long = 171;
-pub const SYS_setrlimit: ::c_long = 164;
-pub const SYS_chroot: ::c_long = 51;
-pub const SYS_sync: ::c_long = 81;
-pub const SYS_acct: ::c_long = 89;
-pub const SYS_settimeofday: ::c_long = 170;
-pub const SYS_mount: ::c_long = 40;
-pub const SYS_umount2: ::c_long = 39;
-pub const SYS_swapon: ::c_long = 224;
-pub const SYS_swapoff: ::c_long = 225;
-pub const SYS_reboot: ::c_long = 142;
-pub const SYS_sethostname: ::c_long = 161;
-pub const SYS_setdomainname: ::c_long = 162;
-pub const SYS_init_module: ::c_long = 105;
-pub const SYS_delete_module: ::c_long = 106;
-pub const SYS_quotactl: ::c_long = 60;
-pub const SYS_nfsservctl: ::c_long = 42;
-pub const SYS_gettid: ::c_long = 178;
-pub const SYS_readahead: ::c_long = 213;
-pub const SYS_setxattr: ::c_long = 5;
-pub const SYS_lsetxattr: ::c_long = 6;
-pub const SYS_fsetxattr: ::c_long = 7;
-pub const SYS_getxattr: ::c_long = 8;
-pub const SYS_lgetxattr: ::c_long = 9;
-pub const SYS_fgetxattr: ::c_long = 10;
-pub const SYS_listxattr: ::c_long = 11;
-pub const SYS_llistxattr: ::c_long = 12;
-pub const SYS_flistxattr: ::c_long = 13;
-pub const SYS_removexattr: ::c_long = 14;
-pub const SYS_lremovexattr: ::c_long = 15;
-pub const SYS_fremovexattr: ::c_long = 16;
-pub const SYS_tkill: ::c_long = 130;
-pub const SYS_futex: ::c_long = 98;
-pub const SYS_sched_setaffinity: ::c_long = 122;
-pub const SYS_sched_getaffinity: ::c_long = 123;
-pub const SYS_io_setup: ::c_long = 0;
-pub const SYS_io_destroy: ::c_long = 1;
-pub const SYS_io_getevents: ::c_long = 4;
-pub const SYS_io_submit: ::c_long = 2;
-pub const SYS_io_cancel: ::c_long = 3;
-pub const SYS_lookup_dcookie: ::c_long = 18;
-pub const SYS_remap_file_pages: ::c_long = 234;
-pub const SYS_getdents64: ::c_long = 61;
-pub const SYS_set_tid_address: ::c_long = 96;
-pub const SYS_restart_syscall: ::c_long = 128;
-pub const SYS_semtimedop: ::c_long = 192;
-pub const SYS_fadvise64: ::c_long = 223;
-pub const SYS_timer_create: ::c_long = 107;
-pub const SYS_timer_settime: ::c_long = 110;
-pub const SYS_timer_gettime: ::c_long = 108;
-pub const SYS_timer_getoverrun: ::c_long = 109;
-pub const SYS_timer_delete: ::c_long = 111;
-pub const SYS_clock_settime: ::c_long = 112;
-pub const SYS_clock_gettime: ::c_long = 113;
-pub const SYS_clock_getres: ::c_long = 114;
-pub const SYS_clock_nanosleep: ::c_long = 115;
-pub const SYS_exit_group: ::c_long = 94;
-pub const SYS_epoll_ctl: ::c_long = 21;
-pub const SYS_tgkill: ::c_long = 131;
-pub const SYS_mbind: ::c_long = 235;
-pub const SYS_set_mempolicy: ::c_long = 237;
-pub const SYS_get_mempolicy: ::c_long = 236;
-pub const SYS_mq_open: ::c_long = 180;
-pub const SYS_mq_unlink: ::c_long = 181;
-pub const SYS_mq_timedsend: ::c_long = 182;
-pub const SYS_mq_timedreceive: ::c_long = 183;
-pub const SYS_mq_notify: ::c_long = 184;
-pub const SYS_mq_getsetattr: ::c_long = 185;
-pub const SYS_kexec_load: ::c_long = 104;
-pub const SYS_waitid: ::c_long = 95;
-pub const SYS_add_key: ::c_long = 217;
-pub const SYS_request_key: ::c_long = 218;
-pub const SYS_keyctl: ::c_long = 219;
-pub const SYS_ioprio_set: ::c_long = 30;
-pub const SYS_ioprio_get: ::c_long = 31;
-pub const SYS_inotify_add_watch: ::c_long = 27;
-pub const SYS_inotify_rm_watch: ::c_long = 28;
-pub const SYS_migrate_pages: ::c_long = 238;
-pub const SYS_openat: ::c_long = 56;
-pub const SYS_mkdirat: ::c_long = 34;
-pub const SYS_mknodat: ::c_long = 33;
-pub const SYS_fchownat: ::c_long = 54;
-pub const SYS_newfstatat: ::c_long = 79;
-pub const SYS_unlinkat: ::c_long = 35;
-pub const SYS_linkat: ::c_long = 37;
-pub const SYS_symlinkat: ::c_long = 36;
-pub const SYS_readlinkat: ::c_long = 78;
-pub const SYS_fchmodat: ::c_long = 53;
-pub const SYS_faccessat: ::c_long = 48;
-pub const SYS_pselect6: ::c_long = 72;
-pub const SYS_ppoll: ::c_long = 73;
-pub const SYS_unshare: ::c_long = 97;
-pub const SYS_set_robust_list: ::c_long = 99;
-pub const SYS_get_robust_list: ::c_long = 100;
-pub const SYS_splice: ::c_long = 76;
-pub const SYS_tee: ::c_long = 77;
-pub const SYS_sync_file_range: ::c_long = 84;
-pub const SYS_vmsplice: ::c_long = 75;
-pub const SYS_move_pages: ::c_long = 239;
-pub const SYS_utimensat: ::c_long = 88;
-pub const SYS_epoll_pwait: ::c_long = 22;
-pub const SYS_timerfd_create: ::c_long = 85;
-pub const SYS_fallocate: ::c_long = 47;
-pub const SYS_timerfd_settime: ::c_long = 86;
-pub const SYS_timerfd_gettime: ::c_long = 87;
-pub const SYS_accept4: ::c_long = 242;
-pub const SYS_signalfd4: ::c_long = 74;
-pub const SYS_eventfd2: ::c_long = 19;
-pub const SYS_epoll_create1: ::c_long = 20;
-pub const SYS_dup3: ::c_long = 24;
-pub const SYS_pipe2: ::c_long = 59;
-pub const SYS_inotify_init1: ::c_long = 26;
-pub const SYS_preadv: ::c_long = 69;
-pub const SYS_pwritev: ::c_long = 70;
-pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
-pub const SYS_perf_event_open: ::c_long = 241;
-pub const SYS_recvmmsg: ::c_long = 243;
-pub const SYS_fanotify_init: ::c_long = 262;
-pub const SYS_fanotify_mark: ::c_long = 263;
-pub const SYS_prlimit64: ::c_long = 261;
-pub const SYS_name_to_handle_at: ::c_long = 264;
-pub const SYS_open_by_handle_at: ::c_long = 265;
-pub const SYS_clock_adjtime: ::c_long = 266;
-pub const SYS_syncfs: ::c_long = 267;
-pub const SYS_sendmmsg: ::c_long = 269;
-pub const SYS_setns: ::c_long = 268;
-pub const SYS_getcpu: ::c_long = 168;
-pub const SYS_process_vm_readv: ::c_long = 270;
-pub const SYS_process_vm_writev: ::c_long = 271;
-pub const SYS_kcmp: ::c_long = 272;
-pub const SYS_finit_module: ::c_long = 273;
-pub const SYS_sched_setattr: ::c_long = 274;
-pub const SYS_sched_getattr: ::c_long = 275;
-pub const SYS_renameat2: ::c_long = 276;
-pub const SYS_seccomp: ::c_long = 277;
-pub const SYS_getrandom: ::c_long = 278;
-pub const SYS_memfd_create: ::c_long = 279;
-pub const SYS_bpf: ::c_long = 280;
-pub const SYS_execveat: ::c_long = 281;
-pub const SYS_userfaultfd: ::c_long = 282;
-pub const SYS_membarrier: ::c_long = 283;
-pub const SYS_mlock2: ::c_long = 284;
-pub const SYS_copy_file_range: ::c_long = 285;
-pub const SYS_preadv2: ::c_long = 286;
-pub const SYS_pwritev2: ::c_long = 287;
-pub const SYS_pkey_mprotect: ::c_long = 288;
-pub const SYS_pkey_alloc: ::c_long = 289;
-pub const SYS_pkey_free: ::c_long = 290;
-pub const SYS_statx: ::c_long = 291;
-pub const SYS_pidfd_send_signal: ::c_long = 424;
-pub const SYS_io_uring_setup: ::c_long = 425;
-pub const SYS_io_uring_enter: ::c_long = 426;
-pub const SYS_io_uring_register: ::c_long = 427;
-pub const SYS_open_tree: ::c_long = 428;
-pub const SYS_move_mount: ::c_long = 429;
-pub const SYS_fsopen: ::c_long = 430;
-pub const SYS_fsconfig: ::c_long = 431;
-pub const SYS_fsmount: ::c_long = 432;
-pub const SYS_fspick: ::c_long = 433;
-pub const SYS_pidfd_open: ::c_long = 434;
-pub const SYS_clone3: ::c_long = 435;
-pub const SYS_close_range: ::c_long = 436;
-pub const SYS_openat2: ::c_long = 437;
-pub const SYS_pidfd_getfd: ::c_long = 438;
-pub const SYS_faccessat2: ::c_long = 439;
-pub const SYS_process_madvise: ::c_long = 440;
-pub const SYS_epoll_pwait2: ::c_long = 441;
-pub const SYS_mount_setattr: ::c_long = 442;
-
-pub const O_APPEND: ::c_int = 1024;
-pub const O_DIRECT: ::c_int = 0x4000;
-pub const O_DIRECTORY: ::c_int = 0x10000;
-pub const O_LARGEFILE: ::c_int = 0;
-pub const O_NOFOLLOW: ::c_int = 0x20000;
-pub const O_CREAT: ::c_int = 64;
-pub const O_EXCL: ::c_int = 128;
-pub const O_NOCTTY: ::c_int = 256;
-pub const O_NONBLOCK: ::c_int = 2048;
-pub const O_SYNC: ::c_int = 1052672;
-pub const O_RSYNC: ::c_int = 1052672;
-pub const O_DSYNC: ::c_int = 4096;
-pub const O_ASYNC: ::c_int = 0x2000;
-
-pub const SIGSTKSZ: ::size_t = 8192;
-pub const MINSIGSTKSZ: ::size_t = 2048;
-
-pub const ENAMETOOLONG: ::c_int = 36;
-pub const ENOLCK: ::c_int = 37;
-pub const ENOSYS: ::c_int = 38;
-pub const ENOTEMPTY: ::c_int = 39;
-pub const ELOOP: ::c_int = 40;
-pub const ENOMSG: ::c_int = 42;
-pub const EIDRM: ::c_int = 43;
-pub const ECHRNG: ::c_int = 44;
-pub const EL2NSYNC: ::c_int = 45;
-pub const EL3HLT: ::c_int = 46;
-pub const EL3RST: ::c_int = 47;
-pub const ELNRNG: ::c_int = 48;
-pub const EUNATCH: ::c_int = 49;
-pub const ENOCSI: ::c_int = 50;
-pub const EL2HLT: ::c_int = 51;
-pub const EBADE: ::c_int = 52;
-pub const EBADR: ::c_int = 53;
-pub const EXFULL: ::c_int = 54;
-pub const ENOANO: ::c_int = 55;
-pub const EBADRQC: ::c_int = 56;
-pub const EBADSLT: ::c_int = 57;
-pub const EMULTIHOP: ::c_int = 72;
-pub const EOVERFLOW: ::c_int = 75;
-pub const ENOTUNIQ: ::c_int = 76;
-pub const EBADFD: ::c_int = 77;
-pub const EBADMSG: ::c_int = 74;
-pub const EREMCHG: ::c_int = 78;
-pub const ELIBACC: ::c_int = 79;
-pub const ELIBBAD: ::c_int = 80;
-pub const ELIBSCN: ::c_int = 81;
-pub const ELIBMAX: ::c_int = 82;
-pub const ELIBEXEC: ::c_int = 83;
-pub const EILSEQ: ::c_int = 84;
-pub const ERESTART: ::c_int = 85;
-pub const ESTRPIPE: ::c_int = 86;
-pub const EUSERS: ::c_int = 87;
-pub const ENOTSOCK: ::c_int = 88;
-pub const EDESTADDRREQ: ::c_int = 89;
-pub const EMSGSIZE: ::c_int = 90;
-pub const EPROTOTYPE: ::c_int = 91;
-pub const ENOPROTOOPT: ::c_int = 92;
-pub const EPROTONOSUPPORT: ::c_int = 93;
-pub const ESOCKTNOSUPPORT: ::c_int = 94;
-pub const EOPNOTSUPP: ::c_int = 95;
-pub const EPFNOSUPPORT: ::c_int = 96;
-pub const EAFNOSUPPORT: ::c_int = 97;
-pub const EADDRINUSE: ::c_int = 98;
-pub const EADDRNOTAVAIL: ::c_int = 99;
-pub const ENETDOWN: ::c_int = 100;
-pub const ENETUNREACH: ::c_int = 101;
-pub const ENETRESET: ::c_int = 102;
-pub const ECONNABORTED: ::c_int = 103;
-pub const ECONNRESET: ::c_int = 104;
-pub const ENOBUFS: ::c_int = 105;
-pub const EISCONN: ::c_int = 106;
-pub const ENOTCONN: ::c_int = 107;
-pub const ESHUTDOWN: ::c_int = 108;
-pub const ETOOMANYREFS: ::c_int = 109;
-pub const ETIMEDOUT: ::c_int = 110;
-pub const ECONNREFUSED: ::c_int = 111;
-pub const EHOSTDOWN: ::c_int = 112;
-pub const EHOSTUNREACH: ::c_int = 113;
-pub const EALREADY: ::c_int = 114;
-pub const EINPROGRESS: ::c_int = 115;
-pub const ESTALE: ::c_int = 116;
-pub const EUCLEAN: ::c_int = 117;
-pub const ENOTNAM: ::c_int = 118;
-pub const ENAVAIL: ::c_int = 119;
-pub const EISNAM: ::c_int = 120;
-pub const EREMOTEIO: ::c_int = 121;
-pub const EDQUOT: ::c_int = 122;
-pub const ENOMEDIUM: ::c_int = 123;
-pub const EMEDIUMTYPE: ::c_int = 124;
-pub const ECANCELED: ::c_int = 125;
-pub const ENOKEY: ::c_int = 126;
-pub const EKEYEXPIRED: ::c_int = 127;
-pub const EKEYREVOKED: ::c_int = 128;
-pub const EKEYREJECTED: ::c_int = 129;
-pub const EOWNERDEAD: ::c_int = 130;
-pub const ENOTRECOVERABLE: ::c_int = 131;
-pub const EHWPOISON: ::c_int = 133;
-pub const ERFKILL: ::c_int = 132;
-
-pub const SA_ONSTACK: ::c_int = 0x08000000;
-pub const SA_SIGINFO: ::c_int = 0x00000004;
-pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
-
-pub const SIGCHLD: ::c_int = 17;
-pub const SIGBUS: ::c_int = 7;
-pub const SIGTTIN: ::c_int = 21;
-pub const SIGTTOU: ::c_int = 22;
-pub const SIGXCPU: ::c_int = 24;
-pub const SIGXFSZ: ::c_int = 25;
-pub const SIGVTALRM: ::c_int = 26;
-pub const SIGPROF: ::c_int = 27;
-pub const SIGWINCH: ::c_int = 28;
-pub const SIGUSR1: ::c_int = 10;
-pub const SIGUSR2: ::c_int = 12;
-pub const SIGCONT: ::c_int = 18;
-pub const SIGSTOP: ::c_int = 19;
-pub const SIGTSTP: ::c_int = 20;
-pub const SIGURG: ::c_int = 23;
-pub const SIGIO: ::c_int = 29;
-pub const SIGSYS: ::c_int = 31;
-pub const SIGSTKFLT: ::c_int = 16;
-pub const SIGPOLL: ::c_int = 29;
-pub const SIGPWR: ::c_int = 30;
-pub const SIG_SETMASK: ::c_int = 2;
-pub const SIG_BLOCK: ::c_int = 0x000000;
-pub const SIG_UNBLOCK: ::c_int = 0x01;
-
-pub const F_GETLK: ::c_int = 5;
-pub const F_GETOWN: ::c_int = 9;
-pub const F_SETLK: ::c_int = 6;
-pub const F_SETLKW: ::c_int = 7;
-pub const F_SETOWN: ::c_int = 8;
-pub const F_OFD_GETLK: ::c_int = 36;
-pub const F_OFD_SETLK: ::c_int = 37;
-pub const F_OFD_SETLKW: ::c_int = 38;
-
-pub const VEOF: usize = 4;
-
-pub const POLLWRNORM: ::c_short = 0x100;
-pub const POLLWRBAND: ::c_short = 0x200;
-
-pub const SOCK_STREAM: ::c_int = 1;
-pub const SOCK_DGRAM: ::c_int = 2;
-
-pub const MAP_ANON: ::c_int = 0x0020;
-pub const MAP_GROWSDOWN: ::c_int = 0x0100;
-pub const MAP_DENYWRITE: ::c_int = 0x0800;
-pub const MAP_EXECUTABLE: ::c_int = 0x01000;
-pub const MAP_LOCKED: ::c_int = 0x02000;
-pub const MAP_NORESERVE: ::c_int = 0x04000;
-pub const MAP_POPULATE: ::c_int = 0x08000;
-pub const MAP_NONBLOCK: ::c_int = 0x010000;
-pub const MAP_STACK: ::c_int = 0x020000;
-pub const MAP_HUGETLB: ::c_int = 0x040000;
-pub const MAP_SYNC: ::c_int = 0x080000;
-
-pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const MCL_CURRENT: ::c_int = 0x0001;
-pub const MCL_FUTURE: ::c_int = 0x0002;
-pub const CBAUD: ::tcflag_t = 0o0010017;
-pub const TAB1: ::c_int = 0x00000800;
-pub const TAB2: ::c_int = 0x00001000;
-pub const TAB3: ::c_int = 0x00001800;
-pub const CR1: ::c_int = 0x00000200;
-pub const CR2: ::c_int = 0x00000400;
-pub const CR3: ::c_int = 0x00000600;
-pub const FF1: ::c_int = 0x00008000;
-pub const BS1: ::c_int = 0x00002000;
-pub const VT1: ::c_int = 0x00004000;
-pub const VWERASE: usize = 14;
-pub const VREPRINT: usize = 12;
-pub const VSUSP: usize = 10;
-pub const VSTART: usize = 8;
-pub const VSTOP: usize = 9;
-pub const VDISCARD: usize = 13;
-pub const VTIME: usize = 5;
-pub const IXON: ::tcflag_t = 0x00000400;
-pub const IXOFF: ::tcflag_t = 0x00001000;
-pub const ONLCR: ::tcflag_t = 0x4;
-pub const CSIZE: ::tcflag_t = 0x00000030;
-pub const CS6: ::tcflag_t = 0x00000010;
-pub const CS7: ::tcflag_t = 0x00000020;
-pub const CS8: ::tcflag_t = 0x00000030;
-pub const CSTOPB: ::tcflag_t = 0x00000040;
-pub const CREAD: ::tcflag_t = 0x00000080;
-pub const PARENB: ::tcflag_t = 0x00000100;
-pub const PARODD: ::tcflag_t = 0x00000200;
-pub const HUPCL: ::tcflag_t = 0x00000400;
-pub const CLOCAL: ::tcflag_t = 0x00000800;
-pub const ECHOKE: ::tcflag_t = 0x00000800;
-pub const ECHOE: ::tcflag_t = 0x00000010;
-pub const ECHOK: ::tcflag_t = 0x00000020;
-pub const ECHONL: ::tcflag_t = 0x00000040;
-pub const ECHOPRT: ::tcflag_t = 0x00000400;
-pub const ECHOCTL: ::tcflag_t = 0x00000200;
-pub const ISIG: ::tcflag_t = 0x00000001;
-pub const ICANON: ::tcflag_t = 0x00000002;
-pub const PENDIN: ::tcflag_t = 0x00004000;
-pub const NOFLSH: ::tcflag_t = 0x00000080;
-pub const CIBAUD: ::tcflag_t = 0o02003600000;
-pub const CBAUDEX: ::tcflag_t = 0o010000;
-pub const VSWTC: usize = 7;
-pub const OLCUC: ::tcflag_t = 0o000002;
-pub const NLDLY: ::tcflag_t = 0o000400;
-pub const CRDLY: ::tcflag_t = 0o003000;
-pub const TABDLY: ::tcflag_t = 0o014000;
-pub const BSDLY: ::tcflag_t = 0o020000;
-pub const FFDLY: ::tcflag_t = 0o100000;
-pub const VTDLY: ::tcflag_t = 0o040000;
-pub const XTABS: ::tcflag_t = 0o014000;
-pub const B57600: ::speed_t = 0o010001;
-pub const B115200: ::speed_t = 0o010002;
-pub const B230400: ::speed_t = 0o010003;
-pub const B460800: ::speed_t = 0o010004;
-pub const B500000: ::speed_t = 0o010005;
-pub const B576000: ::speed_t = 0o010006;
-pub const B921600: ::speed_t = 0o010007;
-pub const B1000000: ::speed_t = 0o010010;
-pub const B1152000: ::speed_t = 0o010011;
-pub const B1500000: ::speed_t = 0o010012;
-pub const B2000000: ::speed_t = 0o010013;
-pub const B2500000: ::speed_t = 0o010014;
-pub const B3000000: ::speed_t = 0o010015;
-pub const B3500000: ::speed_t = 0o010016;
-pub const B4000000: ::speed_t = 0o010017;
-
-pub const EDEADLK: ::c_int = 35;
-pub const EDEADLOCK: ::c_int = EDEADLK;
-pub const EXTPROC: ::tcflag_t = 0x00010000;
-pub const VEOL: usize = 11;
-pub const VEOL2: usize = 16;
-pub const VMIN: usize = 6;
-pub const IEXTEN: ::tcflag_t = 0x00008000;
-pub const TOSTOP: ::tcflag_t = 0x00000100;
-pub const FLUSHO: ::tcflag_t = 0x00001000;
-
-pub const NGREG: usize = 32;
-pub const REG_PC: usize = 0;
-pub const REG_RA: usize = 1;
-pub const REG_SP: usize = 2;
-pub const REG_TP: usize = 4;
-pub const REG_S0: usize = 8;
-pub const REG_S1: usize = 9;
-pub const REG_A0: usize = 10;
-pub const REG_S2: usize = 18;
-pub const REG_NARGS: usize = 8;
-
-cfg_if! {
- if #[cfg(libc_align)] {
- mod align;
- pub use self::align::*;
- }
-}
diff --git a/src/unix/linux_like/linux/musl/b64/s390x.rs b/src/unix/linux_like/linux/musl/b64/s390x.rs
index 5fdd03d2..bd33bdbb 100644
--- a/src/unix/linux_like/linux/musl/b64/s390x.rs
+++ b/src/unix/linux_like/linux/musl/b64/s390x.rs
@@ -141,6 +141,9 @@ pub const EDEADLK: ::c_int = 35;
pub const ENOSYS: ::c_int = 38;
pub const ENOTCONN: ::c_int = 107;
pub const ETIMEDOUT: ::c_int = 110;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
+pub const FIONBIO: ::c_ulong = 0x5421;
pub const O_APPEND: ::c_int = 1024;
pub const O_CREAT: ::c_int = 64;
pub const O_EXCL: ::c_int = 128;
@@ -293,6 +296,45 @@ pub const F_OFD_GETLK: ::c_int = 36;
pub const F_OFD_SETLK: ::c_int = 37;
pub const F_OFD_SETLKW: ::c_int = 38;
+pub const TCGETS: ::c_int = 0x5401;
+pub const TCSETS: ::c_int = 0x5402;
+pub const TCSETSW: ::c_int = 0x5403;
+pub const TCSETSF: ::c_int = 0x5404;
+pub const TCGETA: ::c_int = 0x5405;
+pub const TCSETA: ::c_int = 0x5406;
+pub const TCSETAW: ::c_int = 0x5407;
+pub const TCSETAF: ::c_int = 0x5408;
+pub const TCSBRK: ::c_int = 0x5409;
+pub const TCXONC: ::c_int = 0x540A;
+pub const TCFLSH: ::c_int = 0x540B;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCINQ: ::c_int = 0x541B;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x540F;
+pub const TIOCSPGRP: ::c_int = 0x5410;
+pub const TIOCOUTQ: ::c_int = 0x5411;
+pub const TIOCSTI: ::c_int = 0x5412;
+pub const TIOCGWINSZ: ::c_int = 0x5413;
+pub const TIOCSWINSZ: ::c_int = 0x5414;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x541B;
+pub const TIOCCONS: ::c_int = 0x541D;
+
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+
pub const VTIME: usize = 5;
pub const VSWTC: usize = 7;
pub const VSTART: usize = 8;
@@ -332,6 +374,7 @@ pub const PARODD: ::tcflag_t = 0o001000;
pub const HUPCL: ::tcflag_t = 0o002000;
pub const CLOCAL: ::tcflag_t = 0o004000;
pub const CBAUDEX: ::tcflag_t = 0o010000;
+pub const BOTHER: ::speed_t = 0o010000;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
diff --git a/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs b/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs
index 08d7c5b5..5c4b6bbb 100644
--- a/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs
+++ b/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs
@@ -673,6 +673,9 @@ pub const O_RSYNC: ::c_int = 1052672;
pub const O_DSYNC: ::c_int = 4096;
pub const O_ASYNC: ::c_int = 0x2000;
+pub const TIOCGRS485: ::c_int = 0x542E;
+pub const TIOCSRS485: ::c_int = 0x542F;
+
pub const SIGSTKSZ: ::size_t = 8192;
pub const MINSIGSTKSZ: ::size_t = 2048;
@@ -818,7 +821,7 @@ pub const MAP_HUGETLB: ::c_int = 0x040000;
pub const MAP_SYNC: ::c_int = 0x080000;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
+pub const TIOCINQ: ::c_int = ::FIONREAD;
pub const MCL_CURRENT: ::c_int = 0x0001;
pub const MCL_FUTURE: ::c_int = 0x0002;
pub const CBAUD: ::tcflag_t = 0o0010017;
@@ -888,6 +891,9 @@ pub const B3000000: ::speed_t = 0o010015;
pub const B3500000: ::speed_t = 0o010016;
pub const B4000000: ::speed_t = 0o010017;
+pub const FIOCLEX: ::c_int = 0x5451;
+pub const FIONCLEX: ::c_int = 0x5450;
+pub const FIONBIO: ::c_int = 0x5421;
pub const EDEADLK: ::c_int = 35;
pub const EDEADLOCK: ::c_int = EDEADLK;
@@ -898,6 +904,52 @@ pub const VMIN: usize = 6;
pub const IEXTEN: ::tcflag_t = 0x00008000;
pub const TOSTOP: ::tcflag_t = 0x00000100;
pub const FLUSHO: ::tcflag_t = 0x00001000;
+pub const TCGETS: ::c_int = 0x5401;
+pub const TCSETS: ::c_int = 0x5402;
+pub const TCSETSW: ::c_int = 0x5403;
+pub const TCSETSF: ::c_int = 0x5404;
+pub const TCGETA: ::c_int = 0x5405;
+pub const TCSETA: ::c_int = 0x5406;
+pub const TCSETAW: ::c_int = 0x5407;
+pub const TCSETAF: ::c_int = 0x5408;
+pub const TCSBRK: ::c_int = 0x5409;
+pub const TCXONC: ::c_int = 0x540A;
+pub const TCFLSH: ::c_int = 0x540B;
+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
+pub const TIOCLINUX: ::c_int = 0x541C;
+pub const TIOCGSERIAL: ::c_int = 0x541E;
+pub const TIOCEXCL: ::c_int = 0x540C;
+pub const TIOCNXCL: ::c_int = 0x540D;
+pub const TIOCSCTTY: ::c_int = 0x540E;
+pub const TIOCGPGRP: ::c_int = 0x540F;
+pub const TIOCSPGRP: ::c_int = 0x5410;
+pub const TIOCOUTQ: ::c_int = 0x5411;
+pub const TIOCSTI: ::c_int = 0x5412;
+pub const TIOCGWINSZ: ::c_int = 0x5413;
+pub const TIOCSWINSZ: ::c_int = 0x5414;
+pub const TIOCMGET: ::c_int = 0x5415;
+pub const TIOCMBIS: ::c_int = 0x5416;
+pub const TIOCMBIC: ::c_int = 0x5417;
+pub const TIOCMSET: ::c_int = 0x5418;
+pub const FIONREAD: ::c_int = 0x541B;
+pub const TIOCCONS: ::c_int = 0x541D;
+
+pub const TIOCM_LE: ::c_int = 0x001;
+pub const TIOCM_DTR: ::c_int = 0x002;
+pub const TIOCM_RTS: ::c_int = 0x004;
+pub const TIOCM_ST: ::c_int = 0x008;
+pub const TIOCM_SR: ::c_int = 0x010;
+pub const TIOCM_CTS: ::c_int = 0x020;
+pub const TIOCM_CAR: ::c_int = 0x040;
+pub const TIOCM_RNG: ::c_int = 0x080;
+pub const TIOCM_DSR: ::c_int = 0x100;
+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
+
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+}
cfg_if! {
if #[cfg(libc_align)] {
diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs
index 5a20ae59..00f26475 100644
--- a/src/unix/linux_like/linux/musl/mod.rs
+++ b/src/unix/linux_like/linux/musl/mod.rs
@@ -24,16 +24,6 @@ pub type rlim_t = ::c_ulonglong;
pub type flock64 = flock;
-cfg_if! {
- if #[cfg(doc)] {
- // Used in `linux::arch` to define ioctl constants.
- pub(crate) type Ioctl = ::c_int;
- } else {
- #[doc(hidden)]
- pub type Ioctl = ::c_int;
- }
-}
-
impl siginfo_t {
pub unsafe fn si_addr(&self) -> *mut ::c_void {
#[repr(C)]
@@ -143,6 +133,24 @@ s! {
__dummy4: [::c_char; 16],
}
+ pub struct nlmsghdr {
+ pub nlmsg_len: u32,
+ pub nlmsg_type: u16,
+ pub nlmsg_flags: u16,
+ pub nlmsg_seq: u32,
+ pub nlmsg_pid: u32,
+ }
+
+ pub struct nlmsgerr {
+ pub error: ::c_int,
+ pub msg: nlmsghdr,
+ }
+
+ pub struct nlattr {
+ pub nla_len: u16,
+ pub nla_type: u16,
+ }
+
pub struct sigaction {
pub sa_sigaction: ::sighandler_t,
pub sa_mask: ::sigset_t,
@@ -218,6 +226,12 @@ s! {
pub rt_irtt: ::c_ushort,
}
+ pub struct ip_mreqn {
+ pub imr_multiaddr: ::in_addr,
+ pub imr_address: ::in_addr,
+ pub imr_ifindex: ::c_int,
+ }
+
pub struct __exit_status {
pub e_termination: ::c_short,
pub e_exit: ::c_short,
@@ -235,36 +249,6 @@ s! {
pub ch_size: ::Elf32_Word,
pub ch_addralign: ::Elf32_Word,
}
-
- pub struct timex {
- pub modes: ::c_uint,
- pub offset: ::c_long,
- pub freq: ::c_long,
- pub maxerror: ::c_long,
- pub esterror: ::c_long,
- pub status: ::c_int,
- pub constant: ::c_long,
- pub precision: ::c_long,
- pub tolerance: ::c_long,
- pub time: ::timeval,
- pub tick: ::c_long,
- pub ppsfreq: ::c_long,
- pub jitter: ::c_long,
- pub shift: ::c_int,
- pub stabil: ::c_long,
- pub jitcnt: ::c_long,
- pub calcnt: ::c_long,
- pub errcnt: ::c_long,
- pub stbcnt: ::c_long,
- pub tai: ::c_int,
- pub __padding: [::c_int; 11],
- }
-
- pub struct ntptimeval {
- pub time: ::timeval,
- pub maxerror: ::c_long,
- pub esterror: ::c_long,
- }
}
s_no_extra_traits! {
@@ -532,6 +516,18 @@ pub const MAP_ANONYMOUS: ::c_int = MAP_ANON;
pub const SOCK_DCCP: ::c_int = 6;
pub const SOCK_PACKET: ::c_int = 10;
+pub const TCP_COOKIE_TRANSACTIONS: ::c_int = 15;
+pub const TCP_THIN_LINEAR_TIMEOUTS: ::c_int = 16;
+pub const TCP_THIN_DUPACK: ::c_int = 17;
+pub const TCP_USER_TIMEOUT: ::c_int = 18;
+pub const TCP_REPAIR: ::c_int = 19;
+pub const TCP_REPAIR_QUEUE: ::c_int = 20;
+pub const TCP_QUEUE_SEQ: ::c_int = 21;
+pub const TCP_REPAIR_OPTIONS: ::c_int = 22;
+pub const TCP_FASTOPEN: ::c_int = 23;
+pub const TCP_TIMESTAMP: ::c_int = 24;
+pub const TCP_FASTOPEN_CONNECT: ::c_int = 30;
+
#[deprecated(since = "0.2.55", note = "Use SIGSYS instead")]
pub const SIGUNUSED: ::c_int = ::SIGSYS;
@@ -632,68 +628,13 @@ pub const RLIMIT_RTPRIO: ::c_int = 14;
pub const REG_OK: ::c_int = 0;
+pub const TIOCSBRK: ::c_int = 0x5427;
+pub const TIOCCBRK: ::c_int = 0x5428;
+
pub const PRIO_PROCESS: ::c_int = 0;
pub const PRIO_PGRP: ::c_int = 1;
pub const PRIO_USER: ::c_int = 2;
-pub const ADJ_OFFSET: ::c_uint = 0x0001;
-pub const ADJ_FREQUENCY: ::c_uint = 0x0002;
-pub const ADJ_MAXERROR: ::c_uint = 0x0004;
-pub const ADJ_ESTERROR: ::c_uint = 0x0008;
-pub const ADJ_STATUS: ::c_uint = 0x0010;
-pub const ADJ_TIMECONST: ::c_uint = 0x0020;
-pub const ADJ_TAI: ::c_uint = 0x0080;
-pub const ADJ_SETOFFSET: ::c_uint = 0x0100;
-pub const ADJ_MICRO: ::c_uint = 0x1000;
-pub const ADJ_NANO: ::c_uint = 0x2000;
-pub const ADJ_TICK: ::c_uint = 0x4000;
-pub const ADJ_OFFSET_SINGLESHOT: ::c_uint = 0x8001;
-pub const ADJ_OFFSET_SS_READ: ::c_uint = 0xa001;
-pub const MOD_OFFSET: ::c_uint = ADJ_OFFSET;
-pub const MOD_FREQUENCY: ::c_uint = ADJ_FREQUENCY;
-pub const MOD_MAXERROR: ::c_uint = ADJ_MAXERROR;
-pub const MOD_ESTERROR: ::c_uint = ADJ_ESTERROR;
-pub const MOD_STATUS: ::c_uint = ADJ_STATUS;
-pub const MOD_TIMECONST: ::c_uint = ADJ_TIMECONST;
-pub const MOD_CLKB: ::c_uint = ADJ_TICK;
-pub const MOD_CLKA: ::c_uint = ADJ_OFFSET_SINGLESHOT;
-pub const MOD_TAI: ::c_uint = ADJ_TAI;
-pub const MOD_MICRO: ::c_uint = ADJ_MICRO;
-pub const MOD_NANO: ::c_uint = ADJ_NANO;
-pub const STA_PLL: ::c_int = 0x0001;
-pub const STA_PPSFREQ: ::c_int = 0x0002;
-pub const STA_PPSTIME: ::c_int = 0x0004;
-pub const STA_FLL: ::c_int = 0x0008;
-pub const STA_INS: ::c_int = 0x0010;
-pub const STA_DEL: ::c_int = 0x0020;
-pub const STA_UNSYNC: ::c_int = 0x0040;
-pub const STA_FREQHOLD: ::c_int = 0x0080;
-pub const STA_PPSSIGNAL: ::c_int = 0x0100;
-pub const STA_PPSJITTER: ::c_int = 0x0200;
-pub const STA_PPSWANDER: ::c_int = 0x0400;
-pub const STA_PPSERROR: ::c_int = 0x0800;
-pub const STA_CLOCKERR: ::c_int = 0x1000;
-pub const STA_NANO: ::c_int = 0x2000;
-pub const STA_MODE: ::c_int = 0x4000;
-pub const STA_CLK: ::c_int = 0x8000;
-pub const STA_RONLY: ::c_int = STA_PPSSIGNAL
- | STA_PPSJITTER
- | STA_PPSWANDER
- | STA_PPSERROR
- | STA_CLOCKERR
- | STA_NANO
- | STA_MODE
- | STA_CLK;
-
-pub const TIME_OK: ::c_int = 0;
-pub const TIME_INS: ::c_int = 1;
-pub const TIME_DEL: ::c_int = 2;
-pub const TIME_OOP: ::c_int = 3;
-pub const TIME_WAIT: ::c_int = 4;
-pub const TIME_ERROR: ::c_int = 5;
-pub const TIME_BAD: ::c_int = TIME_ERROR;
-pub const MAXTC: ::c_long = 6;
-
cfg_if! {
if #[cfg(target_arch = "s390x")] {
pub const POSIX_FADV_DONTNEED: ::c_int = 6;
@@ -736,11 +677,27 @@ extern "C" {
old_limit: *mut ::rlimit64,
) -> ::c_int;
- pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int;
pub fn ptrace(request: ::c_int, ...) -> ::c_long;
pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int;
pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int;
+ pub fn pthread_getaffinity_np(
+ thread: ::pthread_t,
+ cpusetsize: ::size_t,
+ cpuset: *mut ::cpu_set_t,
+ ) -> ::c_int;
+ pub fn pthread_setaffinity_np(
+ thread: ::pthread_t,
+ cpusetsize: ::size_t,
+ cpuset: *const ::cpu_set_t,
+ ) -> ::c_int;
+ pub fn sched_getcpu() -> ::c_int;
+ pub fn memmem(
+ haystack: *const ::c_void,
+ haystacklen: ::size_t,
+ needle: *const ::c_void,
+ needlelen: ::size_t,
+ ) -> *mut ::c_void;
// Musl targets need the `mask` argument of `fanotify_mark` be specified
// `::c_ulonglong` instead of `u64` or there will be a type mismatch between
// `long long unsigned int` and the expected `uint64_t`.
@@ -752,19 +709,6 @@ extern "C" {
path: *const ::c_char,
) -> ::c_int;
pub fn getauxval(type_: ::c_ulong) -> ::c_ulong;
-
- // Added in `musl` 1.1.20
- pub fn explicit_bzero(s: *mut ::c_void, len: ::size_t);
- // Added in `musl` 1.2.2
- pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;
-
- pub fn adjtimex(buf: *mut ::timex) -> ::c_int;
- pub fn clock_adjtime(clk_id: ::clockid_t, buf: *mut ::timex) -> ::c_int;
-
- pub fn ctermid(s: *mut ::c_char) -> *mut ::c_char;
-
- pub fn memfd_create(name: *const ::c_char, flags: ::c_uint) -> ::c_int;
- pub fn mlock2(addr: *const ::c_void, len: ::size_t, flags: ::c_uint) -> ::c_int;
}
cfg_if! {
@@ -772,8 +716,7 @@ cfg_if! {
target_arch = "aarch64",
target_arch = "mips64",
target_arch = "powerpc64",
- target_arch = "s390x",
- target_arch = "riscv64"))] {
+ target_arch = "s390x"))] {
mod b64;
pub use self::b64::*;
} else if #[cfg(any(target_arch = "x86",
diff --git a/src/unix/linux_like/linux/no_align.rs b/src/unix/linux_like/linux/no_align.rs
index 7af8092c..de64be5a 100644
--- a/src/unix/linux_like/linux/no_align.rs
+++ b/src/unix/linux_like/linux/no_align.rs
@@ -62,7 +62,6 @@ macro_rules! expand_align {
pub struct pthread_mutex_t {
#[cfg(any(target_arch = "mips",
target_arch = "arm",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
all(target_arch = "x86_64",
@@ -70,7 +69,6 @@ macro_rules! expand_align {
__align: [::c_long; 0],
#[cfg(not(any(target_arch = "mips",
target_arch = "arm",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
all(target_arch = "x86_64",
@@ -82,7 +80,6 @@ macro_rules! expand_align {
pub struct pthread_rwlock_t {
#[cfg(any(target_arch = "mips",
target_arch = "arm",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
all(target_arch = "x86_64",
@@ -90,7 +87,6 @@ macro_rules! expand_align {
__align: [::c_long; 0],
#[cfg(not(any(target_arch = "mips",
target_arch = "arm",
- target_arch = "m68k",
target_arch = "powerpc",
target_arch = "sparc",
all(target_arch = "x86_64",
diff --git a/src/unix/linux_like/linux/non_exhaustive.rs b/src/unix/linux_like/linux/non_exhaustive.rs
deleted file mode 100644
index e2e2cb84..00000000
--- a/src/unix/linux_like/linux/non_exhaustive.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-s! {
- // linux/openat2.h
- #[non_exhaustive]
- pub struct open_how {
- pub flags: ::__u64,
- pub mode: ::__u64,
- pub resolve: ::__u64,
- }
-}
diff --git a/src/unix/linux_like/linux/uclibc/arm/mod.rs b/src/unix/linux_like/linux/uclibc/arm/mod.rs
index c1008a48..dc6518c0 100644
--- a/src/unix/linux_like/linux/uclibc/arm/mod.rs
+++ b/src/unix/linux_like/linux/uclibc/arm/mod.rs
@@ -44,14 +44,14 @@ s! {
pub struct stat {
pub st_dev: ::c_ulonglong,
- __pad1: ::c_ushort,
+ pub __pad1: ::c_ushort,
pub st_ino: ::ino_t,
pub st_mode: ::mode_t,
pub st_nlink: ::nlink_t,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
pub st_rdev: ::c_ulonglong,
- __pad2: ::c_ushort,
+ pub __pad2: ::c_ushort,
pub st_size: ::off_t,
pub st_blksize: ::blksize_t,
pub st_blocks: ::blkcnt_t,
@@ -61,8 +61,8 @@ s! {
pub st_mtime_nsec: ::c_long,
pub st_ctime: ::time_t,
pub st_ctime_nsec: ::c_long,
- __unused4: ::c_ulong,
- __unused5: ::c_ulong,
+ pub __uclibc_unused4: ::c_ulong,
+ pub __uclibc_unused5: ::c_ulong,
}
pub struct stat64
@@ -202,44 +202,44 @@ s! {
pub cuid: ::uid_t,
pub cgid: ::gid_t,
pub mode: ::c_ushort,
- __pad1: ::c_ushort,
+ pub __pad1: ::c_ushort,
pub __seq: ::c_ushort,
- __pad2: ::c_ushort,
- __unused1: ::c_ulong,
- __unused2: ::c_ulong,
+ pub __pad2: ::c_ushort,
+ pub __uclibc_unused1: ::c_ulong,
+ pub __uclibc_unused2: ::c_ulong,
}
pub struct msqid_ds {
pub msg_perm: ::ipc_perm,
pub msg_stime: ::time_t,
- __unused1: ::c_ulong,
+ pub __uclibc_unused1: ::c_ulong,
pub msg_rtime: ::time_t,
- __unused2: ::c_ulong,
+ pub __uclibc_unused2: ::c_ulong,
pub msg_ctime: ::time_t,
- __unused3: ::c_ulong,
- __msg_cbytes: ::c_ulong,
+ pub __uclibc_unused3: ::c_ulong,
+ pub __msg_cbytes: ::c_ulong,
pub msg_qnum: ::msgqnum_t,
pub msg_qbytes: ::msglen_t,
pub msg_lspid: ::pid_t,
pub msg_lrpid: ::pid_t,
- __unused4: ::c_ulong,
- __unused5: ::c_ulong,
+ pub __uclibc_unused4: ::c_ulong,
+ pub __uclibc_unused5: ::c_ulong,
}
pub struct shmid_ds {
pub shm_perm: ::ipc_perm,
pub shm_segsz: ::size_t,
pub shm_atime: ::time_t,
- __unused1: ::c_ulong,
+ pub __uclibc_unused1: ::c_ulong,
pub shm_dtime: ::time_t,
- __unused2: ::c_ulong,
+ pub __uclibc_unused2: ::c_ulong,
pub shm_ctime: ::time_t,
- __unused3: ::c_ulong,
+ pub __uclibc_unused3: ::c_ulong,
pub shm_cpid: ::pid_t,
pub shm_lpid: ::pid_t,
pub shm_nattch: ::shmatt_t,
- __unused4: ::c_ulong,
- __unused5: ::c_ulong,
+ pub __uclibc_unused4: ::c_ulong,
+ pub __uclibc_unused5: ::c_ulong,
}
}
@@ -417,6 +417,9 @@ pub const EUSERS: ::c_int = 0x57;
pub const EXFULL: ::c_int = 0x36;
pub const FF1: ::c_int = 0x8000;
pub const FFDLY: ::c_int = 0x8000;
+pub const FIONBIO: ::c_ulong = 0x5421;
+pub const FIOCLEX: ::c_ulong = 0x5451;
+pub const FIONCLEX: ::c_ulong = 0x5450;
pub const FLUSHO: ::tcflag_t = 0x1000;
pub const F_GETLK: ::c_int = 0x5;
pub const F_SETLK: ::c_int = 0x6;
@@ -466,7 +469,6 @@ pub const PENDIN: ::tcflag_t = 0x4000;
pub const POLLWRBAND: ::c_short = 0x200;
pub const POLLWRNORM: ::c_short = 0x100;
pub const PTHREAD_STACK_MIN: ::size_t = 16384;
-pub const RTLD_GLOBAL: ::c_int = 0x00100;
// These are typed unsigned to match sigaction
pub const SA_NOCLDSTOP: ::c_ulong = 0x1;
@@ -884,9 +886,10 @@ pub const SYS_pwritev2: ::c_long = 393;
pub const SYS_pkey_mprotect: ::c_long = 394;
pub const SYS_pkey_alloc: ::c_long = 395;
pub const SYS_pkey_free: ::c_long = 396;
-pub const SYS_statx: ::c_int = 397;
-pub const SYS_pidfd_open: ::c_long = 434;
-pub const SYS_clone3: ::c_long = 435;
+
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
+}
cfg_if! {
if #[cfg(libc_align)] {
diff --git a/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs b/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs
index 0791bd4f..8edde11a 100644
--- a/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs
+++ b/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs
@@ -625,7 +625,6 @@ pub const SYS_pwritev2: ::c_long = 4000 + 362;
pub const SYS_pkey_mprotect: ::c_long = 4000 + 363;
pub const SYS_pkey_alloc: ::c_long = 4000 + 364;
pub const SYS_pkey_free: ::c_long = 4000 + 365;
-pub const SYS_clone3: ::c_long = 4000 + 435;
#[link(name = "util")]
extern "C" {
@@ -637,6 +636,7 @@ extern "C" {
newp: *mut ::c_void,
newlen: ::size_t,
) -> ::c_int;
+ pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
pub fn glob64(
pattern: *const ::c_char,
flags: ::c_int,
diff --git a/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs b/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs
index 1f693b1f..735eb851 100644
--- a/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs
+++ b/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs
@@ -197,6 +197,11 @@ pub const RLIM_INFINITY: ::rlim_t = 0xffff_ffff_ffff_ffff;
pub const SYS_gettid: ::c_long = 5178; // Valid for n64
+#[link(name = "util")]
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
+}
+
cfg_if! {
if #[cfg(libc_align)] {
mod align;
diff --git a/src/unix/linux_like/linux/uclibc/mips/mod.rs b/src/unix/linux_like/linux/uclibc/mips/mod.rs
index bf81c16b..d3f6bb27 100644
--- a/src/unix/linux_like/linux/uclibc/mips/mod.rs
+++ b/src/unix/linux_like/linux/uclibc/mips/mod.rs
@@ -32,15 +32,23 @@ pub const EPOLL_CLOEXEC: ::c_int = 0x80000;
pub const EFD_CLOEXEC: ::c_int = 0x80000;
+pub const BUFSIZ: ::c_uint = 4096;
pub const TMP_MAX: ::c_uint = 238328;
+pub const FOPEN_MAX: ::c_uint = 16;
+pub const POSIX_MADV_DONTNEED: ::c_int = 4;
pub const _SC_2_C_VERSION: ::c_int = 96;
pub const O_ACCMODE: ::c_int = 3;
pub const O_DIRECT: ::c_int = 0x8000;
pub const O_DIRECTORY: ::c_int = 0x10000;
pub const O_NOFOLLOW: ::c_int = 0x20000;
+pub const NI_MAXHOST: ::socklen_t = 1025;
+pub const RLIMIT_NOFILE: ::c_int = 5;
+pub const RLIMIT_AS: ::c_int = 6;
+pub const RLIMIT_RSS: ::c_int = 7;
+pub const RLIMIT_NPROC: ::c_int = 8;
+pub const RLIMIT_MEMLOCK: ::c_int = 9;
pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS;
pub const O_APPEND: ::c_int = 8;
pub const O_CREAT: ::c_int = 256;
@@ -78,6 +86,7 @@ pub const EXFULL: ::c_int = 52;
pub const ENOANO: ::c_int = 53;
pub const EBADRQC: ::c_int = 54;
pub const EBADSLT: ::c_int = 55;
+pub const EDEADLOCK: ::c_int = 56;
pub const EMULTIHOP: ::c_int = 74;
pub const EOVERFLOW: ::c_int = 79;
pub const ENOTUNIQ: ::c_int = 80;
@@ -154,6 +163,10 @@ pub const SOCK_STREAM: ::c_int = 2;
pub const SOCK_DGRAM: ::c_int = 1;
pub const SOCK_SEQPACKET: ::c_int = 5;
+pub const FIOCLEX: ::c_ulong = 0x6601;
+pub const FIONCLEX: ::c_ulong = 0x6602;
+pub const FIONBIO: ::c_ulong = 0x667e;
+
pub const SA_ONSTACK: ::c_uint = 0x08000000;
pub const SA_SIGINFO: ::c_uint = 0x00000008;
pub const SA_NOCLDWAIT: ::c_int = 0x00010000;
@@ -175,6 +188,7 @@ pub const SIGTSTP: ::c_int = 24;
pub const SIGURG: ::c_int = 21;
pub const SIGIO: ::c_int = 22;
pub const SIGSYS: ::c_int = 12;
+pub const SIGPOLL: ::c_int = 22;
pub const SIGPWR: ::c_int = 19;
pub const SIG_SETMASK: ::c_int = 3;
pub const SIG_BLOCK: ::c_int = 0x1;
@@ -201,12 +215,47 @@ pub const CPU_SETSIZE: ::c_int = 0x400;
pub const EFD_NONBLOCK: ::c_int = 0x80;
pub const F_GETLK: ::c_int = 14;
+pub const F_GETOWN: ::c_int = 23;
+pub const F_SETOWN: ::c_int = 24;
pub const F_SETLK: ::c_int = 6;
pub const F_SETLKW: ::c_int = 7;
pub const SFD_NONBLOCK: ::c_int = 0x80;
+pub const TCGETS: ::c_ulong = 0x540d;
+pub const TCSETS: ::c_ulong = 0x540e;
+pub const TCSETSW: ::c_ulong = 0x540f;
+pub const TCSETSF: ::c_ulong = 0x5410;
+pub const TCGETA: ::c_ulong = 0x5401;
+pub const TCSETA: ::c_ulong = 0x5402;
+pub const TCSETAW: ::c_ulong = 0x5403;
+pub const TCSETAF: ::c_ulong = 0x5404;
+pub const TCSBRK: ::c_ulong = 0x5405;
+pub const TCXONC: ::c_ulong = 0x5406;
+pub const TCFLSH: ::c_ulong = 0x5407;
+pub const TIOCGSOFTCAR: ::c_ulong = 0x5481;
+pub const TIOCSSOFTCAR: ::c_ulong = 0x5482;
+pub const TIOCINQ: ::c_ulong = 0x467f;
+pub const TIOCLINUX: ::c_ulong = 0x5483;
+pub const TIOCGSERIAL: ::c_ulong = 0x5484;
+pub const TIOCEXCL: ::c_ulong = 0x740d;
+pub const TIOCNXCL: ::c_ulong = 0x740e;
+pub const TIOCSCTTY: ::c_ulong = 0x5480;
+pub const TIOCGPGRP: ::c_ulong = 0x40047477;
+pub const TIOCSPGRP: ::c_ulong = 0x80047476;
+pub const TIOCOUTQ: ::c_ulong = 0x7472;
+pub const TIOCSTI: ::c_ulong = 0x5472;
+pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
+pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
+pub const TIOCMGET: ::c_ulong = 0x741d;
+pub const TIOCMBIS: ::c_ulong = 0x741b;
+pub const TIOCMBIC: ::c_ulong = 0x741c;
+pub const TIOCMSET: ::c_ulong = 0x741a;
+pub const FIONREAD: ::c_ulong = 0x467f;
+pub const TIOCCONS: ::c_ulong = 0x80047478;
+
pub const RTLD_GLOBAL: ::c_int = 0x4;
+pub const RTLD_NOLOAD: ::c_int = 0x8;
pub const SIGSTKSZ: ::size_t = 8192;
pub const CBAUD: ::tcflag_t = 0o0010017;
@@ -266,6 +315,8 @@ pub const B4800: ::speed_t = 0o000014;
pub const B9600: ::speed_t = 0o000015;
pub const B19200: ::speed_t = 0o000016;
pub const B38400: ::speed_t = 0o000017;
+pub const EXTA: ::speed_t = B19200;
+pub const EXTB: ::speed_t = B38400;
pub const B57600: ::speed_t = 0o010001;
pub const B115200: ::speed_t = 0o010002;
pub const B230400: ::speed_t = 0o010003;
diff --git a/src/unix/linux_like/linux/uclibc/mod.rs b/src/unix/linux_like/linux/uclibc/mod.rs
index 912e2aa4..9c79f999 100644
--- a/src/unix/linux_like/linux/uclibc/mod.rs
+++ b/src/unix/linux_like/linux/uclibc/mod.rs
@@ -2,18 +2,6 @@ pub type shmatt_t = ::c_ulong;
pub type msgqnum_t = ::c_ulong;
pub type msglen_t = ::c_ulong;
pub type regoff_t = ::c_int;
-pub type __rlimit_resource_t = ::c_uint;
-pub type __priority_which_t = ::c_uint;
-
-cfg_if! {
- if #[cfg(doc)] {
- // Used in `linux::arch` to define ioctl constants.
- pub(crate) type Ioctl = ::c_ulong;
- } else {
- #[doc(hidden)]
- pub type Ioctl = ::c_ulong;
- }
-}
s! {
pub struct statvfs { // Different than GNU!
@@ -46,38 +34,6 @@ s! {
__re_nsub: ::size_t,
__bitfield: u8,
}
-
- pub struct rtentry {
- pub rt_pad1: ::c_ulong,
- pub rt_dst: ::sockaddr,
- pub rt_gateway: ::sockaddr,
- pub rt_genmask: ::sockaddr,
- pub rt_flags: ::c_ushort,
- pub rt_pad2: ::c_short,
- pub rt_pad3: ::c_ulong,
- pub rt_tos: ::c_uchar,
- pub rt_class: ::c_uchar,
- #[cfg(target_pointer_width = "64")]
- pub rt_pad4: [::c_short; 3usize],
- #[cfg(not(target_pointer_width = "64"))]
- pub rt_pad4: ::c_short,
- pub rt_metric: ::c_short,
- pub rt_dev: *mut ::c_char,
- pub rt_mtu: ::c_ulong,
- pub rt_window: ::c_ulong,
- pub rt_irtt: ::c_ushort,
- }
-
- pub struct __exit_status {
- pub e_termination: ::c_short,
- pub e_exit: ::c_short,
- }
-
- pub struct ptrace_peeksiginfo_args {
- pub off: ::__u64,
- pub flags: ::__u32,
- pub nr: ::__s32,
- }
}
pub const MCL_CURRENT: ::c_int = 0x0001;
@@ -85,12 +41,55 @@ pub const MCL_FUTURE: ::c_int = 0x0002;
pub const SIGEV_THREAD_ID: ::c_int = 4;
-pub const AF_VSOCK: ::c_int = 40;
-
-// Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the
-// following are only available on newer Linux versions than the versions
-// currently used in CI in some configurations, so we define them here.
+pub const ADFS_SUPER_MAGIC: ::c_long = 0x0000adf5;
+pub const AFFS_SUPER_MAGIC: ::c_long = 0x0000adff;
+pub const AFS_SUPER_MAGIC: ::c_long = 0x5346414f;
+pub const AUTOFS_SUPER_MAGIC: ::c_long = 0x0187;
pub const BINDERFS_SUPER_MAGIC: ::c_long = 0x6c6f6f70;
+pub const BPF_FS_MAGIC: ::c_long = 0xcafe4a11;
+pub const BTRFS_SUPER_MAGIC: ::c_long = 0x9123683e;
+pub const CGROUP2_SUPER_MAGIC: ::c_long = 0x63677270;
+pub const CGROUP_SUPER_MAGIC: ::c_long = 0x27e0eb;
+pub const CODA_SUPER_MAGIC: ::c_long = 0x73757245;
+pub const CRAMFS_MAGIC: ::c_long = 0x28cd3d45;
+pub const DEBUGFS_MAGIC: ::c_long = 0x64626720;
+pub const DEVPTS_SUPER_MAGIC: ::c_long = 0x1cd1;
+pub const ECRYPTFS_SUPER_MAGIC: ::c_long = 0xf15f;
+pub const EFS_SUPER_MAGIC: ::c_long = 0x00414a53;
+pub const EXT2_SUPER_MAGIC: ::c_long = 0x0000ef53;
+pub const EXT3_SUPER_MAGIC: ::c_long = 0x0000ef53;
+pub const EXT4_SUPER_MAGIC: ::c_long = 0x0000ef53;
+pub const F2FS_SUPER_MAGIC: ::c_long = 0xf2f52010;
+pub const FUTEXFS_SUPER_MAGIC: ::c_long = 0xbad1dea;
+pub const HOSTFS_SUPER_MAGIC: ::c_long = 0x00c0ffee;
+pub const HPFS_SUPER_MAGIC: ::c_long = 0xf995e849;
+pub const HUGETLBFS_MAGIC: ::c_long = 0x958458f6;
+pub const ISOFS_SUPER_MAGIC: ::c_long = 0x00009660;
+pub const JFFS2_SUPER_MAGIC: ::c_long = 0x000072b6;
+pub const MINIX2_SUPER_MAGIC2: ::c_long = 0x00002478;
+pub const MINIX2_SUPER_MAGIC: ::c_long = 0x00002468;
+pub const MINIX3_SUPER_MAGIC: ::c_long = 0x4d5a;
+pub const MINIX_SUPER_MAGIC2: ::c_long = 0x0000138f;
+pub const MINIX_SUPER_MAGIC: ::c_long = 0x0000137f;
+pub const MSDOS_SUPER_MAGIC: ::c_long = 0x00004d44;
+pub const NCP_SUPER_MAGIC: ::c_long = 0x0000564c;
+pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969;
+pub const NILFS_SUPER_MAGIC: ::c_long = 0x3434;
+pub const OCFS2_SUPER_MAGIC: ::c_long = 0x7461636f;
+pub const OPENPROM_SUPER_MAGIC: ::c_long = 0x00009fa1;
+pub const OVERLAYFS_SUPER_MAGIC: ::c_long = 0x794c7630;
+pub const PROC_SUPER_MAGIC: ::c_long = 0x00009fa0;
+pub const QNX4_SUPER_MAGIC: ::c_long = 0x0000002f;
+pub const QNX6_SUPER_MAGIC: ::c_long = 0x68191122;
+pub const RDTGROUP_SUPER_MAGIC: ::c_long = 0x7655821;
+pub const REISERFS_SUPER_MAGIC: ::c_long = 0x52654973;
+pub const SMB_SUPER_MAGIC: ::c_long = 0x0000517b;
+pub const SYSFS_MAGIC: ::c_long = 0x62656572;
+pub const TMPFS_MAGIC: ::c_long = 0x01021994;
+pub const TRACEFS_MAGIC: ::c_long = 0x74726163;
+pub const UDF_SUPER_MAGIC: ::c_long = 0x15013346;
+pub const USBDEVICE_SUPER_MAGIC: ::c_long = 0x00009fa2;
+pub const XENFS_SUPER_MAGIC: ::c_long = 0xabba1974;
pub const XFS_SUPER_MAGIC: ::c_long = 0x58465342;
pub const PTRACE_TRACEME: ::c_int = 0;
@@ -121,6 +120,7 @@ pub const PTRACE_SETREGSET: ::c_int = 0x4205;
pub const PTRACE_SEIZE: ::c_int = 0x4206;
pub const PTRACE_INTERRUPT: ::c_int = 0x4207;
pub const PTRACE_LISTEN: ::c_int = 0x4208;
+pub const PTRACE_O_MASK: ::c_int = 0x000000ff;
pub const POSIX_FADV_DONTNEED: ::c_int = 4;
pub const POSIX_FADV_NOREUSE: ::c_int = 5;
@@ -221,70 +221,7 @@ pub const PRIO_USER: ::c_int = 2;
pub const ST_RELATIME: ::c_ulong = 4096;
-pub const AF_NFC: ::c_int = PF_NFC;
-pub const BUFSIZ: ::c_int = 4096;
-pub const EDEADLOCK: ::c_int = EDEADLK;
-pub const EXTA: ::c_uint = B19200;
-pub const EXTB: ::c_uint = B38400;
-pub const EXTPROC: ::tcflag_t = 0200000;
-pub const FAN_MARK_FILESYSTEM: ::c_int = 0x00000100;
-pub const FAN_MARK_INODE: ::c_int = 0x00000000;
-pub const FAN_MARK_MOUNT: ::c_int = 0x10;
-pub const FOPEN_MAX: ::c_int = 16;
-pub const F_GETOWN: ::c_int = 9;
-pub const F_OFD_GETLK: ::c_int = 36;
-pub const F_OFD_SETLK: ::c_int = 37;
-pub const F_OFD_SETLKW: ::c_int = 38;
-pub const F_RDLCK: ::c_int = 0;
-pub const F_SETOWN: ::c_int = 8;
-pub const F_UNLCK: ::c_int = 2;
-pub const F_WRLCK: ::c_int = 1;
-pub const IPV6_MULTICAST_ALL: ::c_int = 29;
-pub const IPV6_ROUTER_ALERT_ISOLATE: ::c_int = 30;
-pub const MAP_HUGE_SHIFT: ::c_int = 26;
-pub const MAP_HUGE_MASK: ::c_int = 0x3f;
-pub const MAP_HUGE_64KB: ::c_int = 16 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_512KB: ::c_int = 19 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_1MB: ::c_int = 20 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_2MB: ::c_int = 21 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_8MB: ::c_int = 23 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_16MB: ::c_int = 24 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_32MB: ::c_int = 25 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_256MB: ::c_int = 28 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_512MB: ::c_int = 29 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_1GB: ::c_int = 30 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_2GB: ::c_int = 31 << MAP_HUGE_SHIFT;
-pub const MAP_HUGE_16GB: ::c_int = 34 << MAP_HUGE_SHIFT;
-pub const MINSIGSTKSZ: ::c_int = 2048;
-pub const MSG_COPY: ::c_int = 040000;
-pub const NI_MAXHOST: ::socklen_t = 1025;
-pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY;
-pub const PACKET_MR_UNICAST: ::c_int = 3;
-pub const PF_NFC: ::c_int = 39;
-pub const PF_VSOCK: ::c_int = 40;
-pub const POSIX_MADV_DONTNEED: ::c_int = 4;
-pub const PTRACE_EVENT_STOP: ::c_int = 128;
-pub const PTRACE_PEEKSIGINFO: ::c_int = 0x4209;
-pub const RLIMIT_AS: ::c_int = 9;
-pub const RLIMIT_MEMLOCK: ::c_int = 8;
-pub const RLIMIT_NLIMITS: ::c_int = 15;
-pub const RLIMIT_NOFILE: ::c_int = 7;
-pub const RLIMIT_NPROC: ::c_int = 6;
-pub const RLIMIT_RSS: ::c_int = 5;
-pub const RLIMIT_RTTIME: ::c_int = 15;
-pub const RTLD_NOLOAD: ::c_int = 0x00004;
-pub const RUSAGE_THREAD: ::c_int = 1;
-pub const SHM_EXEC: ::c_int = 0100000;
-pub const SIGPOLL: ::c_int = SIGIO;
-pub const SOCK_DCCP: ::c_int = 6;
-pub const SOCK_PACKET: ::c_int = 10;
-pub const TCP_COOKIE_TRANSACTIONS: ::c_int = 15;
-pub const UDP_GRO: ::c_int = 104;
-pub const UDP_SEGMENT: ::c_int = 103;
-pub const YESEXPR: ::c_int = ((5) << 8) | (0);
-
extern "C" {
- pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int;
pub fn pthread_rwlockattr_getkind_np(
@@ -348,21 +285,6 @@ extern "C" {
iovcnt: ::c_int,
offset: ::off64_t,
) -> ::ssize_t;
-
- pub fn sethostid(hostid: ::c_long) -> ::c_int;
- pub fn fanotify_mark(
- fd: ::c_int,
- flags: ::c_uint,
- mask: u64,
- dirfd: ::c_int,
- path: *const ::c_char,
- ) -> ::c_int;
- pub fn getrlimit64(resource: ::__rlimit_resource_t, rlim: *mut ::rlimit64) -> ::c_int;
- pub fn setrlimit64(resource: ::__rlimit_resource_t, rlim: *const ::rlimit64) -> ::c_int;
- pub fn getrlimit(resource: ::__rlimit_resource_t, rlim: *mut ::rlimit) -> ::c_int;
- pub fn setrlimit(resource: ::__rlimit_resource_t, rlim: *const ::rlimit) -> ::c_int;
- pub fn getpriority(which: ::__priority_which_t, who: ::id_t) -> ::c_int;
- pub fn setpriority(which: ::__priority_which_t, who: ::id_t, prio: ::c_int) -> ::c_int;
}
cfg_if! {
diff --git a/src/unix/linux_like/linux/uclibc/x86_64/l4re.rs b/src/unix/linux_like/linux/uclibc/x86_64/l4re.rs
index c7cbafa1..16ec0ef9 100644
--- a/src/unix/linux_like/linux/uclibc/x86_64/l4re.rs
+++ b/src/unix/linux_like/linux/uclibc/x86_64/l4re.rs
@@ -46,8 +46,3 @@ pub struct pthread_attr_t {
// L4Re requires a min stack size of 64k; that isn't defined in uClibc, but
// somewhere in the core libraries. uClibc wants 16k, but that's not enough.
pub const PTHREAD_STACK_MIN: usize = 65536;
-
-// Misc other constants required for building.
-pub const SIGIO: ::c_int = 29;
-pub const B19200: ::speed_t = 0o000016;
-pub const B38400: ::speed_t = 0o000017;
diff --git a/src/unix/linux_like/linux/uclibc/x86_64/mod.rs b/src/unix/linux_like/linux/uclibc/x86_64/mod.rs
index aa51beac..4f7974c5 100644
--- a/src/unix/linux_like/linux/uclibc/x86_64/mod.rs
+++ b/src/unix/linux_like/linux/uclibc/x86_64/mod.rs
@@ -292,13 +292,8 @@ s_no_extra_traits! {
}
// constants
-pub const ENAMETOOLONG: ::c_int = 36; // File name too long
-pub const ENOTEMPTY: ::c_int = 39; // Directory not empty
-pub const ELOOP: ::c_int = 40; // Too many symbolic links encountered
pub const EADDRINUSE: ::c_int = 98; // Address already in use
pub const EADDRNOTAVAIL: ::c_int = 99; // Cannot assign requested address
-pub const ENETDOWN: ::c_int = 100; // Network is down
-pub const ENETUNREACH: ::c_int = 101; // Network is unreachable
pub const ECONNABORTED: ::c_int = 103; // Software caused connection abort
pub const ECONNREFUSED: ::c_int = 111; // Connection refused
pub const ECONNRESET: ::c_int = 104; // Connection reset by peer
@@ -306,9 +301,6 @@ pub const EDEADLK: ::c_int = 35; // Resource deadlock would occur
pub const ENOSYS: ::c_int = 38; // Function not implemented
pub const ENOTCONN: ::c_int = 107; // Transport endpoint is not connected
pub const ETIMEDOUT: ::c_int = 110; // connection timed out
-pub const ESTALE: ::c_int = 116; // Stale file handle
-pub const EHOSTUNREACH: ::c_int = 113; // No route to host
-pub const EDQUOT: ::c_int = 122; // Quota exceeded
pub const EOPNOTSUPP: ::c_int = 0x5f;
pub const ENODATA: ::c_int = 0x3d;
pub const O_APPEND: ::c_int = 02000;
@@ -317,7 +309,6 @@ pub const O_CLOEXEC: ::c_int = 0x80000;
pub const O_CREAT: ::c_int = 0100;
pub const O_DIRECTORY: ::c_int = 0200000;
pub const O_EXCL: ::c_int = 0200;
-pub const O_NOFOLLOW: ::c_int = 0x20000;
pub const O_NONBLOCK: ::c_int = 04000;
pub const O_TRUNC: ::c_int = 01000;
pub const NCCS: usize = 32;
diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs
index 125c5d4e..1cfc910a 100644
--- a/src/unix/linux_like/mod.rs
+++ b/src/unix/linux_like/mod.rs
@@ -2,7 +2,6 @@ pub type sa_family_t = u16;
pub type speed_t = ::c_uint;
pub type tcflag_t = ::c_uint;
pub type clockid_t = ::c_int;
-pub type timer_t = *mut ::c_void;
pub type key_t = ::c_int;
pub type id_t = ::c_uint;
@@ -25,12 +24,6 @@ s! {
pub imr_interface: in_addr,
}
- pub struct ip_mreqn {
- pub imr_multiaddr: in_addr,
- pub imr_address: in_addr,
- pub imr_ifindex: ::c_int,
- }
-
pub struct ip_mreq_source {
pub imr_multiaddr: in_addr,
pub imr_interface: in_addr,
@@ -553,9 +546,6 @@ pub const PROT_READ: ::c_int = 1;
pub const PROT_WRITE: ::c_int = 2;
pub const PROT_EXEC: ::c_int = 4;
-pub const XATTR_CREATE: ::c_int = 0x1;
-pub const XATTR_REPLACE: ::c_int = 0x2;
-
cfg_if! {
if #[cfg(not(target_env = "uclibc"))] {
pub const LC_CTYPE: ::c_int = 0;
@@ -612,7 +602,6 @@ pub const MS_RELATIME: ::c_ulong = 0x200000;
pub const MS_KERNMOUNT: ::c_ulong = 0x400000;
pub const MS_I_VERSION: ::c_ulong = 0x800000;
pub const MS_STRICTATIME: ::c_ulong = 0x1000000;
-pub const MS_LAZYTIME: ::c_ulong = 0x2000000;
pub const MS_ACTIVE: ::c_ulong = 0x40000000;
pub const MS_MGC_VAL: ::c_ulong = 0xc0ed0000;
pub const MS_MGC_MSK: ::c_ulong = 0xffff0000;
@@ -883,8 +872,6 @@ pub const IPPROTO_MH: ::c_int = 135;
pub const IPPROTO_UDPLITE: ::c_int = 136;
/// raw IP packet
pub const IPPROTO_RAW: ::c_int = 255;
-pub const IPPROTO_BEETPH: ::c_int = 94;
-pub const IPPROTO_MPLS: ::c_int = 137;
pub const MCAST_EXCLUDE: ::c_int = 0;
pub const MCAST_INCLUDE: ::c_int = 1;
@@ -921,7 +908,6 @@ pub const IPV6_JOIN_ANYCAST: ::c_int = 27;
pub const IPV6_LEAVE_ANYCAST: ::c_int = 28;
pub const IPV6_IPSEC_POLICY: ::c_int = 34;
pub const IPV6_XFRM_POLICY: ::c_int = 35;
-pub const IPV6_HDRINCL: ::c_int = 36;
pub const IPV6_RECVPKTINFO: ::c_int = 49;
pub const IPV6_PKTINFO: ::c_int = 50;
pub const IPV6_RECVHOPLIMIT: ::c_int = 51;
@@ -957,8 +943,6 @@ pub const IPV6_PMTUDISC_DONT: ::c_int = 0;
pub const IPV6_PMTUDISC_WANT: ::c_int = 1;
pub const IPV6_PMTUDISC_DO: ::c_int = 2;
pub const IPV6_PMTUDISC_PROBE: ::c_int = 3;
-pub const IPV6_PMTUDISC_INTERFACE: ::c_int = 4;
-pub const IPV6_PMTUDISC_OMIT: ::c_int = 5;
pub const TCP_NODELAY: ::c_int = 1;
pub const TCP_MAXSEG: ::c_int = 2;
@@ -973,43 +957,6 @@ pub const TCP_WINDOW_CLAMP: ::c_int = 10;
pub const TCP_INFO: ::c_int = 11;
pub const TCP_QUICKACK: ::c_int = 12;
pub const TCP_CONGESTION: ::c_int = 13;
-pub const TCP_MD5SIG: ::c_int = 14;
-cfg_if! {
- if #[cfg(all(target_os = "linux", any(target_env = "gnu", target_env = "musl")))] {
- // WARN: deprecated
- pub const TCP_COOKIE_TRANSACTIONS: ::c_int = 15;
- }
-}
-pub const TCP_THIN_LINEAR_TIMEOUTS: ::c_int = 16;
-pub const TCP_THIN_DUPACK: ::c_int = 17;
-pub const TCP_USER_TIMEOUT: ::c_int = 18;
-pub const TCP_REPAIR: ::c_int = 19;
-pub const TCP_REPAIR_QUEUE: ::c_int = 20;
-pub const TCP_QUEUE_SEQ: ::c_int = 21;
-pub const TCP_REPAIR_OPTIONS: ::c_int = 22;
-pub const TCP_FASTOPEN: ::c_int = 23;
-pub const TCP_TIMESTAMP: ::c_int = 24;
-pub const TCP_NOTSENT_LOWAT: ::c_int = 25;
-pub const TCP_CC_INFO: ::c_int = 26;
-pub const TCP_SAVE_SYN: ::c_int = 27;
-pub const TCP_SAVED_SYN: ::c_int = 28;
-cfg_if! {
- if #[cfg(not(target_os = "emscripten"))] {
- // NOTE: emscripten doesn't support these options yet.
-
- pub const TCP_REPAIR_WINDOW: ::c_int = 29;
- pub const TCP_FASTOPEN_CONNECT: ::c_int = 30;
- pub const TCP_ULP: ::c_int = 31;
- pub const TCP_MD5SIG_EXT: ::c_int = 32;
- pub const TCP_FASTOPEN_KEY: ::c_int = 33;
- pub const TCP_FASTOPEN_NO_COOKIE: ::c_int = 34;
- pub const TCP_ZEROCOPY_RECEIVE: ::c_int = 35;
- pub const TCP_INQ: ::c_int = 36;
- pub const TCP_CM_INQ: ::c_int = TCP_INQ;
- // NOTE: Some CI images doesn't have this option yet.
- // pub const TCP_TX_DELAY: ::c_int = 37;
- }
-}
pub const SO_DEBUG: ::c_int = 1;
@@ -1034,27 +981,21 @@ pub const FD_SETSIZE: usize = 1024;
pub const EPOLLIN: ::c_int = 0x1;
pub const EPOLLPRI: ::c_int = 0x2;
pub const EPOLLOUT: ::c_int = 0x4;
-pub const EPOLLERR: ::c_int = 0x8;
-pub const EPOLLHUP: ::c_int = 0x10;
pub const EPOLLRDNORM: ::c_int = 0x40;
pub const EPOLLRDBAND: ::c_int = 0x80;
pub const EPOLLWRNORM: ::c_int = 0x100;
pub const EPOLLWRBAND: ::c_int = 0x200;
pub const EPOLLMSG: ::c_int = 0x400;
-pub const EPOLLRDHUP: ::c_int = 0x2000;
-pub const EPOLLEXCLUSIVE: ::c_int = 0x10000000;
-pub const EPOLLWAKEUP: ::c_int = 0x20000000;
-pub const EPOLLONESHOT: ::c_int = 0x40000000;
+pub const EPOLLERR: ::c_int = 0x8;
+pub const EPOLLHUP: ::c_int = 0x10;
pub const EPOLLET: ::c_int = 0x80000000;
pub const EPOLL_CTL_ADD: ::c_int = 1;
pub const EPOLL_CTL_MOD: ::c_int = 3;
pub const EPOLL_CTL_DEL: ::c_int = 2;
-pub const MNT_FORCE: ::c_int = 0x1;
pub const MNT_DETACH: ::c_int = 0x2;
pub const MNT_EXPIRE: ::c_int = 0x4;
-pub const UMOUNT_NOFOLLOW: ::c_int = 0x8;
pub const Q_GETFMT: ::c_int = 0x800004;
pub const Q_GETINFO: ::c_int = 0x800005;
@@ -1070,6 +1011,8 @@ pub const QIF_USAGE: u32 = 10;
pub const QIF_TIMES: u32 = 48;
pub const QIF_ALL: u32 = 63;
+pub const MNT_FORCE: ::c_int = 0x1;
+
pub const Q_SYNC: ::c_int = 0x800001;
pub const Q_QUOTAON: ::c_int = 0x800002;
pub const Q_QUOTAOFF: ::c_int = 0x800003;
@@ -1132,7 +1075,6 @@ pub const CLONE_CHILD_CLEARTID: ::c_int = 0x200000;
pub const CLONE_DETACHED: ::c_int = 0x400000;
pub const CLONE_UNTRACED: ::c_int = 0x800000;
pub const CLONE_CHILD_SETTID: ::c_int = 0x01000000;
-pub const CLONE_NEWCGROUP: ::c_int = 0x02000000;
pub const CLONE_NEWUTS: ::c_int = 0x04000000;
pub const CLONE_NEWIPC: ::c_int = 0x08000000;
pub const CLONE_NEWUSER: ::c_int = 0x10000000;
@@ -1148,15 +1090,11 @@ pub const WCONTINUED: ::c_int = 0x00000008;
pub const WNOWAIT: ::c_int = 0x01000000;
// Options for personality(2).
-pub const ADDR_NO_RANDOMIZE: ::c_int = 0x0040000;
pub const MMAP_PAGE_ZERO: ::c_int = 0x0100000;
-pub const ADDR_COMPAT_LAYOUT: ::c_int = 0x0200000;
-pub const READ_IMPLIES_EXEC: ::c_int = 0x0400000;
pub const ADDR_LIMIT_32BIT: ::c_int = 0x0800000;
pub const SHORT_INODE: ::c_int = 0x1000000;
pub const WHOLE_SECONDS: ::c_int = 0x2000000;
pub const STICKY_TIMEOUTS: ::c_int = 0x4000000;
-pub const ADDR_LIMIT_3GB: ::c_int = 0x8000000;
// Options set using PTRACE_SETOPTIONS.
pub const PTRACE_O_TRACESYSGOOD: ::c_int = 0x00000001;
@@ -1167,9 +1105,6 @@ pub const PTRACE_O_TRACEEXEC: ::c_int = 0x00000010;
pub const PTRACE_O_TRACEVFORKDONE: ::c_int = 0x00000020;
pub const PTRACE_O_TRACEEXIT: ::c_int = 0x00000040;
pub const PTRACE_O_TRACESECCOMP: ::c_int = 0x00000080;
-pub const PTRACE_O_SUSPEND_SECCOMP: ::c_int = 0x00200000;
-pub const PTRACE_O_EXITKILL: ::c_int = 0x00100000;
-pub const PTRACE_O_MASK: ::c_int = 0x003000ff;
// Wait extended result codes for the above trace options.
pub const PTRACE_EVENT_FORK: ::c_int = 1;
@@ -1244,10 +1179,6 @@ pub const POLLHUP: ::c_short = 0x10;
pub const POLLNVAL: ::c_short = 0x20;
pub const POLLRDNORM: ::c_short = 0x040;
pub const POLLRDBAND: ::c_short = 0x080;
-#[cfg(not(any(target_arch = "sparc", target_arch = "sparc64")))]
-pub const POLLRDHUP: ::c_short = 0x2000;
-#[cfg(any(target_arch = "sparc", target_arch = "sparc64"))]
-pub const POLLRDHUP: ::c_short = 0x800;
pub const IPTOS_LOWDELAY: u8 = 0x10;
pub const IPTOS_THROUGHPUT: u8 = 0x08;
@@ -1334,7 +1265,6 @@ pub const ARPHRD_ADAPT: u16 = 264;
pub const ARPHRD_ROSE: u16 = 270;
pub const ARPHRD_X25: u16 = 271;
pub const ARPHRD_HWX25: u16 = 272;
-pub const ARPHRD_CAN: u16 = 280;
pub const ARPHRD_PPP: u16 = 512;
pub const ARPHRD_CISCO: u16 = 513;
pub const ARPHRD_HDLC: u16 = ARPHRD_CISCO;
@@ -1372,114 +1302,20 @@ pub const ARPHRD_VOID: u16 = 0xFFFF;
pub const ARPHRD_NONE: u16 = 0xFFFE;
cfg_if! {
- if #[cfg(target_os = "emscripten")] {
- // Emscripten does not define any `*_SUPER_MAGIC` constants.
- } else if #[cfg(not(target_arch = "s390x"))] {
- pub const ADFS_SUPER_MAGIC: ::c_long = 0x0000adf5;
- pub const AFFS_SUPER_MAGIC: ::c_long = 0x0000adff;
- pub const AFS_SUPER_MAGIC: ::c_long = 0x5346414f;
- pub const AUTOFS_SUPER_MAGIC: ::c_long = 0x0187;
- pub const BPF_FS_MAGIC: ::c_long = 0xcafe4a11;
- pub const BTRFS_SUPER_MAGIC: ::c_long = 0x9123683e;
- pub const CGROUP2_SUPER_MAGIC: ::c_long = 0x63677270;
- pub const CGROUP_SUPER_MAGIC: ::c_long = 0x27e0eb;
- pub const CODA_SUPER_MAGIC: ::c_long = 0x73757245;
- pub const CRAMFS_MAGIC: ::c_long = 0x28cd3d45;
- pub const DEBUGFS_MAGIC: ::c_long = 0x64626720;
- pub const DEVPTS_SUPER_MAGIC: ::c_long = 0x1cd1;
- pub const ECRYPTFS_SUPER_MAGIC: ::c_long = 0xf15f;
- pub const EFS_SUPER_MAGIC: ::c_long = 0x00414a53;
- pub const EXT2_SUPER_MAGIC: ::c_long = 0x0000ef53;
- pub const EXT3_SUPER_MAGIC: ::c_long = 0x0000ef53;
- pub const EXT4_SUPER_MAGIC: ::c_long = 0x0000ef53;
- pub const F2FS_SUPER_MAGIC: ::c_long = 0xf2f52010;
- pub const FUSE_SUPER_MAGIC: ::c_long = 0x65735546;
- pub const FUTEXFS_SUPER_MAGIC: ::c_long = 0xbad1dea;
- pub const HOSTFS_SUPER_MAGIC: ::c_long = 0x00c0ffee;
- pub const HPFS_SUPER_MAGIC: ::c_long = 0xf995e849;
- pub const HUGETLBFS_MAGIC: ::c_long = 0x958458f6;
- pub const ISOFS_SUPER_MAGIC: ::c_long = 0x00009660;
- pub const JFFS2_SUPER_MAGIC: ::c_long = 0x000072b6;
- pub const MINIX2_SUPER_MAGIC2: ::c_long = 0x00002478;
- pub const MINIX2_SUPER_MAGIC: ::c_long = 0x00002468;
- pub const MINIX3_SUPER_MAGIC: ::c_long = 0x4d5a;
- pub const MINIX_SUPER_MAGIC2: ::c_long = 0x0000138f;
- pub const MINIX_SUPER_MAGIC: ::c_long = 0x0000137f;
- pub const MSDOS_SUPER_MAGIC: ::c_long = 0x00004d44;
- pub const NCP_SUPER_MAGIC: ::c_long = 0x0000564c;
- pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969;
- pub const NILFS_SUPER_MAGIC: ::c_long = 0x3434;
- pub const OCFS2_SUPER_MAGIC: ::c_long = 0x7461636f;
- pub const OPENPROM_SUPER_MAGIC: ::c_long = 0x00009fa1;
- pub const OVERLAYFS_SUPER_MAGIC: ::c_long = 0x794c7630;
- pub const PROC_SUPER_MAGIC: ::c_long = 0x00009fa0;
- pub const QNX4_SUPER_MAGIC: ::c_long = 0x0000002f;
- pub const QNX6_SUPER_MAGIC: ::c_long = 0x68191122;
- pub const RDTGROUP_SUPER_MAGIC: ::c_long = 0x7655821;
- pub const REISERFS_SUPER_MAGIC: ::c_long = 0x52654973;
- pub const SECURITYFS_MAGIC: ::c_long = 0x73636673;
- pub const SELINUX_MAGIC: ::c_long = 0xf97cff8c;
- pub const SMACK_MAGIC: ::c_long = 0x43415d53;
- pub const SMB_SUPER_MAGIC: ::c_long = 0x0000517b;
- pub const SYSFS_MAGIC: ::c_long = 0x62656572;
- pub const TMPFS_MAGIC: ::c_long = 0x01021994;
- pub const TRACEFS_MAGIC: ::c_long = 0x74726163;
- pub const UDF_SUPER_MAGIC: ::c_long = 0x15013346;
- pub const USBDEVICE_SUPER_MAGIC: ::c_long = 0x00009fa2;
- pub const XENFS_SUPER_MAGIC: ::c_long = 0xabba1974;
- } else if #[cfg(target_arch = "s390x")] {
- pub const ADFS_SUPER_MAGIC: ::c_uint = 0x0000adf5;
- pub const AFFS_SUPER_MAGIC: ::c_uint = 0x0000adff;
- pub const AFS_SUPER_MAGIC: ::c_uint = 0x5346414f;
- pub const AUTOFS_SUPER_MAGIC: ::c_uint = 0x0187;
- pub const BPF_FS_MAGIC: ::c_uint = 0xcafe4a11;
- pub const BTRFS_SUPER_MAGIC: ::c_uint = 0x9123683e;
- pub const CGROUP2_SUPER_MAGIC: ::c_uint = 0x63677270;
- pub const CGROUP_SUPER_MAGIC: ::c_uint = 0x27e0eb;
- pub const CODA_SUPER_MAGIC: ::c_uint = 0x73757245;
- pub const CRAMFS_MAGIC: ::c_uint = 0x28cd3d45;
- pub const DEBUGFS_MAGIC: ::c_uint = 0x64626720;
- pub const DEVPTS_SUPER_MAGIC: ::c_uint = 0x1cd1;
- pub const ECRYPTFS_SUPER_MAGIC: ::c_uint = 0xf15f;
- pub const EFS_SUPER_MAGIC: ::c_uint = 0x00414a53;
- pub const EXT2_SUPER_MAGIC: ::c_uint = 0x0000ef53;
- pub const EXT3_SUPER_MAGIC: ::c_uint = 0x0000ef53;
- pub const EXT4_SUPER_MAGIC: ::c_uint = 0x0000ef53;
- pub const F2FS_SUPER_MAGIC: ::c_uint = 0xf2f52010;
- pub const FUSE_SUPER_MAGIC: ::c_uint = 0x65735546;
- pub const FUTEXFS_SUPER_MAGIC: ::c_uint = 0xbad1dea;
- pub const HOSTFS_SUPER_MAGIC: ::c_uint = 0x00c0ffee;
- pub const HPFS_SUPER_MAGIC: ::c_uint = 0xf995e849;
- pub const HUGETLBFS_MAGIC: ::c_uint = 0x958458f6;
- pub const ISOFS_SUPER_MAGIC: ::c_uint = 0x00009660;
- pub const JFFS2_SUPER_MAGIC: ::c_uint = 0x000072b6;
- pub const MINIX2_SUPER_MAGIC2: ::c_uint = 0x00002478;
- pub const MINIX2_SUPER_MAGIC: ::c_uint = 0x00002468;
- pub const MINIX3_SUPER_MAGIC: ::c_uint = 0x4d5a;
- pub const MINIX_SUPER_MAGIC2: ::c_uint = 0x0000138f;
- pub const MINIX_SUPER_MAGIC: ::c_uint = 0x0000137f;
- pub const MSDOS_SUPER_MAGIC: ::c_uint = 0x00004d44;
- pub const NCP_SUPER_MAGIC: ::c_uint = 0x0000564c;
- pub const NFS_SUPER_MAGIC: ::c_uint = 0x00006969;
- pub const NILFS_SUPER_MAGIC: ::c_uint = 0x3434;
- pub const OCFS2_SUPER_MAGIC: ::c_uint = 0x7461636f;
- pub const OPENPROM_SUPER_MAGIC: ::c_uint = 0x00009fa1;
- pub const OVERLAYFS_SUPER_MAGIC: ::c_uint = 0x794c7630;
- pub const PROC_SUPER_MAGIC: ::c_uint = 0x00009fa0;
- pub const QNX4_SUPER_MAGIC: ::c_uint = 0x0000002f;
- pub const QNX6_SUPER_MAGIC: ::c_uint = 0x68191122;
- pub const RDTGROUP_SUPER_MAGIC: ::c_uint = 0x7655821;
- pub const REISERFS_SUPER_MAGIC: ::c_uint = 0x52654973;
- pub const SECURITYFS_MAGIC: ::c_uint = 0x73636673;
- pub const SELINUX_MAGIC: ::c_uint = 0xf97cff8c;
- pub const SMACK_MAGIC: ::c_uint = 0x43415d53;
- pub const SMB_SUPER_MAGIC: ::c_uint = 0x0000517b;
- pub const SYSFS_MAGIC: ::c_uint = 0x62656572;
- pub const TMPFS_MAGIC: ::c_uint = 0x01021994;
- pub const TRACEFS_MAGIC: ::c_uint = 0x74726163;
- pub const UDF_SUPER_MAGIC: ::c_uint = 0x15013346;
- pub const USBDEVICE_SUPER_MAGIC: ::c_uint = 0x00009fa2;
- pub const XENFS_SUPER_MAGIC: ::c_uint = 0xabba1974;
+ if #[cfg(not(target_env = "uclibc"))] {
+ pub const IPPROTO_BEETPH: ::c_int = 94;
+ pub const IPPROTO_MPLS: ::c_int = 137;
+ pub const IPV6_HDRINCL: ::c_int = 36;
+ pub const IPV6_PMTUDISC_INTERFACE: ::c_int = 4;
+ pub const IPV6_PMTUDISC_OMIT: ::c_int = 5;
+ pub const CLONE_NEWCGROUP: ::c_int = 0x02000000;
+ pub const ADDR_NO_RANDOMIZE: ::c_int = 0x0040000;
+ pub const ADDR_COMPAT_LAYOUT: ::c_int = 0x0200000;
+ pub const READ_IMPLIES_EXEC: ::c_int = 0x0400000;
+ pub const ADDR_LIMIT_3GB: ::c_int = 0x8000000;
+ pub const PTRACE_O_EXITKILL: ::c_int = 0x00100000;
+ pub const PTRACE_O_SUSPEND_SECCOMP: ::c_int = 0x00200000;
+ pub const PTRACE_O_MASK: ::c_int = 0x003000ff;
}
}
@@ -1518,7 +1354,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let fd = fd as usize;
let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
return ((*set).fds_bits[fd / size] & (1 << (fd % size))) != 0
@@ -1539,14 +1375,6 @@ f! {
}
safe_f! {
- pub fn SIGRTMAX() -> ::c_int {
- unsafe { __libc_current_sigrtmax() }
- }
-
- pub fn SIGRTMIN() -> ::c_int {
- unsafe { __libc_current_sigrtmin() }
- }
-
pub {const} fn WIFSTOPPED(status: ::c_int) -> bool {
(status & 0xff) == 0x7f
}
@@ -1609,11 +1437,6 @@ safe_f! {
}
extern "C" {
- #[doc(hidden)]
- pub fn __libc_current_sigrtmax() -> ::c_int;
- #[doc(hidden)]
- pub fn __libc_current_sigrtmin() -> ::c_int;
-
pub fn sem_destroy(sem: *mut sem_t) -> ::c_int;
pub fn sem_init(sem: *mut sem_t, pshared: ::c_int, value: ::c_uint) -> ::c_int;
pub fn fdatasync(fd: ::c_int) -> ::c_int;
diff --git a/src/unix/mod.rs b/src/unix/mod.rs
index 5ff2294e..be7b6e73 100644
--- a/src/unix/mod.rs
+++ b/src/unix/mod.rs
@@ -297,29 +297,29 @@ pub const ATF_PUBL: ::c_int = 0x08;
pub const ATF_USETRAILERS: ::c_int = 0x10;
cfg_if! {
- if #[cfg(any(target_os = "l4re", target_os = "espidf"))] {
- // required libraries for L4Re and the ESP-IDF framework are linked externally, ATM
+ if #[cfg(target_os = "l4re")] {
+ // required libraries for L4Re are linked externally, ATM
} else if #[cfg(feature = "std")] {
// cargo build, don't pull in anything extra as the libstd dep
// already pulls in all libs.
} else if #[cfg(all(target_os = "linux",
any(target_env = "gnu", target_env = "uclibc"),
feature = "rustc-dep-of-std"))] {
- #[link(name = "util", kind = "static", modifiers = "-bundle",
+ #[link(name = "util", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "rt", kind = "static", modifiers = "-bundle",
+ #[link(name = "rt", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "pthread", kind = "static", modifiers = "-bundle",
+ #[link(name = "pthread", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "m", kind = "static", modifiers = "-bundle",
+ #[link(name = "m", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "dl", kind = "static", modifiers = "-bundle",
+ #[link(name = "dl", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "c", kind = "static", modifiers = "-bundle",
+ #[link(name = "c", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_eh", kind = "static", modifiers = "-bundle",
+ #[link(name = "gcc_eh", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
- #[link(name = "gcc", kind = "static", modifiers = "-bundle",
+ #[link(name = "gcc", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "util", cfg(not(target_feature = "crt-static")))]
#[link(name = "rt", cfg(not(target_feature = "crt-static")))]
@@ -330,7 +330,7 @@ cfg_if! {
extern {}
} else if #[cfg(target_env = "musl")] {
#[cfg_attr(feature = "rustc-dep-of-std",
- link(name = "c", kind = "static", modifiers = "-bundle",
+ link(name = "c", kind = "static",
cfg(target_feature = "crt-static")))]
#[cfg_attr(feature = "rustc-dep-of-std",
link(name = "c", cfg(not(target_feature = "crt-static"))))]
@@ -372,7 +372,7 @@ cfg_if! {
extern {}
} else if #[cfg(target_os = "redox")] {
#[cfg_attr(feature = "rustc-dep-of-std",
- link(name = "c", kind = "static", modifiers = "-bundle",
+ link(name = "c", kind = "static-nobundle",
cfg(target_feature = "crt-static")))]
#[cfg_attr(feature = "rustc-dep-of-std",
link(name = "c", cfg(not(target_feature = "crt-static"))))]
@@ -486,7 +486,6 @@ extern "C" {
link_name = "strtod$UNIX2003"
)]
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
- pub fn strtof(s: *const c_char, endp: *mut *mut c_char) -> c_float;
pub fn strtol(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_long;
pub fn strtoul(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulong;
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
@@ -577,7 +576,6 @@ extern "C" {
)))]
#[cfg_attr(target_os = "netbsd", link_name = "__socket30")]
#[cfg_attr(target_os = "illumos", link_name = "__xnet_socket")]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_socket")]
pub fn socket(domain: ::c_int, ty: ::c_int, protocol: ::c_int) -> ::c_int;
#[cfg(not(all(
libc_cfg_target_vendor,
@@ -589,13 +587,11 @@ extern "C" {
link_name = "connect$UNIX2003"
)]
#[cfg_attr(target_os = "illumos", link_name = "__xnet_connect")]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_connect")]
pub fn connect(socket: ::c_int, address: *const sockaddr, len: socklen_t) -> ::c_int;
#[cfg_attr(
all(target_os = "macos", target_arch = "x86"),
link_name = "listen$UNIX2003"
)]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_listen")]
pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int;
#[cfg(not(all(
libc_cfg_target_vendor,
@@ -606,7 +602,6 @@ extern "C" {
all(target_os = "macos", target_arch = "x86"),
link_name = "accept$UNIX2003"
)]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_accept")]
pub fn accept(socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t) -> ::c_int;
#[cfg(not(all(
libc_cfg_target_vendor,
@@ -617,7 +612,6 @@ extern "C" {
all(target_os = "macos", target_arch = "x86"),
link_name = "getpeername$UNIX2003"
)]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_getpeername")]
pub fn getpeername(
socket: ::c_int,
address: *mut sockaddr,
@@ -632,13 +626,11 @@ extern "C" {
all(target_os = "macos", target_arch = "x86"),
link_name = "getsockname$UNIX2003"
)]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_getsockname")]
pub fn getsockname(
socket: ::c_int,
address: *mut sockaddr,
address_len: *mut socklen_t,
) -> ::c_int;
- #[cfg_attr(target_os = "espidf", link_name = "lwip_setsockopt")]
pub fn setsockopt(
socket: ::c_int,
level: ::c_int,
@@ -667,7 +659,6 @@ extern "C" {
link_name = "sendto$UNIX2003"
)]
#[cfg_attr(target_os = "illumos", link_name = "__xnet_sendto")]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_sendto")]
pub fn sendto(
socket: ::c_int,
buf: *const ::c_void,
@@ -676,7 +667,6 @@ extern "C" {
addr: *const sockaddr,
addrlen: socklen_t,
) -> ::ssize_t;
- #[cfg_attr(target_os = "espidf", link_name = "lwip_shutdown")]
pub fn shutdown(socket: ::c_int, how: ::c_int) -> ::c_int;
#[cfg_attr(
@@ -1132,7 +1122,6 @@ extern "C" {
pub fn pthread_rwlockattr_destroy(attr: *mut pthread_rwlockattr_t) -> ::c_int;
#[cfg_attr(target_os = "illumos", link_name = "__xnet_getsockopt")]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_getsockopt")]
pub fn getsockopt(
sockfd: ::c_int,
level: ::c_int,
@@ -1158,7 +1147,6 @@ extern "C" {
target_vendor = "nintendo"
)))]
#[cfg_attr(target_os = "illumos", link_name = "__xnet_getaddrinfo")]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_getaddrinfo")]
pub fn getaddrinfo(
node: *const c_char,
service: *const c_char,
@@ -1170,9 +1158,7 @@ extern "C" {
target_arch = "powerpc",
target_vendor = "nintendo"
)))]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_freeaddrinfo")]
pub fn freeaddrinfo(res: *mut addrinfo);
- pub fn hstrerror(errcode: ::c_int) -> *const ::c_char;
pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char;
#[cfg_attr(
any(
@@ -1247,13 +1233,11 @@ extern "C" {
all(target_os = "macos", target_arch = "x86"),
link_name = "send$UNIX2003"
)]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_send")]
pub fn send(socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int) -> ::ssize_t;
#[cfg_attr(
all(target_os = "macos", target_arch = "x86"),
link_name = "recv$UNIX2003"
)]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_recv")]
pub fn recv(socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::ssize_t;
#[cfg_attr(
all(target_os = "macos", target_arch = "x86"),
diff --git a/src/unix/newlib/horizon/mod.rs b/src/unix/newlib/horizon/mod.rs
deleted file mode 100644
index a154d727..00000000
--- a/src/unix/newlib/horizon/mod.rs
+++ /dev/null
@@ -1,194 +0,0 @@
-//! ARMv6K Nintendo 3DS C Newlib definitions
-
-pub type c_char = u8;
-pub type c_long = i32;
-pub type c_ulong = u32;
-
-pub type wchar_t = ::c_uint;
-
-pub type in_port_t = ::c_ushort;
-pub type u_register_t = ::c_uint;
-pub type u_char = ::c_uchar;
-pub type u_short = ::c_ushort;
-pub type u_int = ::c_uint;
-pub type u_long = c_ulong;
-pub type ushort = ::c_ushort;
-pub type uint = ::c_uint;
-pub type ulong = c_ulong;
-pub type clock_t = c_ulong;
-pub type daddr_t = c_long;
-pub type caddr_t = *mut c_char;
-pub type sbintime_t = ::c_longlong;
-
-// External implementations are needed to use networking and threading.
-s! {
- pub struct sockaddr {
- pub sa_family: ::sa_family_t,
- pub sa_data: [::c_char; 26usize],
- }
-
- pub struct sockaddr_storage {
- pub ss_family: ::sa_family_t,
- pub __ss_padding: [::c_char; 26usize],
- }
-
- pub struct sockaddr_in {
- pub sin_family: ::sa_family_t,
- pub sin_port: in_port_t,
- pub sin_addr: ::in_addr,
- }
-
- pub struct sockaddr_in6 {
- pub sin6_family: ::sa_family_t,
- pub sin6_port: ::in_port_t,
- pub sin6_flowinfo: u32,
- pub sin6_addr: ::in6_addr,
- pub sin6_scope_id: u32,
- }
-
- pub struct sockaddr_un {
- pub sun_len: ::c_uchar,
- pub sun_family: ::sa_family_t,
- pub sun_path: [::c_char; 104usize],
- }
-}
-
-pub const SIGEV_NONE: ::c_int = 1;
-pub const SIGEV_SIGNAL: ::c_int = 2;
-pub const SIGEV_THREAD: ::c_int = 3;
-pub const SA_NOCLDSTOP: ::c_int = 1;
-pub const MINSIGSTKSZ: ::c_int = 2048;
-pub const SIGSTKSZ: ::c_int = 8192;
-pub const SS_ONSTACK: ::c_int = 1;
-pub const SS_DISABLE: ::c_int = 2;
-pub const SIG_SETMASK: ::c_int = 0;
-pub const SIG_BLOCK: ::c_int = 1;
-pub const SIG_UNBLOCK: ::c_int = 2;
-pub const SIGHUP: ::c_int = 1;
-pub const SIGINT: ::c_int = 2;
-pub const SIGQUIT: ::c_int = 3;
-pub const SIGILL: ::c_int = 4;
-pub const SIGTRAP: ::c_int = 5;
-pub const SIGABRT: ::c_int = 6;
-pub const SIGEMT: ::c_int = 7;
-pub const SIGFPE: ::c_int = 8;
-pub const SIGKILL: ::c_int = 9;
-pub const SIGBUS: ::c_int = 10;
-pub const SIGSEGV: ::c_int = 11;
-pub const SIGSYS: ::c_int = 12;
-pub const SIGPIPE: ::c_int = 13;
-pub const SIGALRM: ::c_int = 14;
-pub const SIGTERM: ::c_int = 15;
-pub const SIGURG: ::c_int = 16;
-pub const SIGSTOP: ::c_int = 17;
-pub const SIGTSTP: ::c_int = 18;
-pub const SIGCONT: ::c_int = 19;
-pub const SIGCHLD: ::c_int = 20;
-pub const SIGCLD: ::c_int = 20;
-pub const SIGTTIN: ::c_int = 21;
-pub const SIGTTOU: ::c_int = 22;
-pub const SIGIO: ::c_int = 23;
-pub const SIGPOLL: ::c_int = 23;
-pub const SIGXCPU: ::c_int = 24;
-pub const SIGXFSZ: ::c_int = 25;
-pub const SIGVTALRM: ::c_int = 26;
-pub const SIGPROF: ::c_int = 27;
-pub const SIGWINCH: ::c_int = 28;
-pub const SIGLOST: ::c_int = 29;
-pub const SIGUSR1: ::c_int = 30;
-pub const SIGUSR2: ::c_int = 31;
-pub const NSIG: ::c_int = 32;
-pub const CLOCK_ENABLED: ::c_uint = 1;
-pub const CLOCK_DISABLED: ::c_uint = 0;
-pub const CLOCK_ALLOWED: ::c_uint = 1;
-pub const CLOCK_DISALLOWED: ::c_uint = 0;
-pub const TIMER_ABSTIME: ::c_uint = 4;
-pub const SOL_SOCKET: ::c_int = 65535;
-pub const MSG_OOB: ::c_int = 1;
-pub const MSG_PEEK: ::c_int = 2;
-pub const MSG_DONTWAIT: ::c_int = 4;
-pub const MSG_DONTROUTE: ::c_int = 0;
-pub const MSG_WAITALL: ::c_int = 0;
-pub const MSG_MORE: ::c_int = 0;
-pub const MSG_NOSIGNAL: ::c_int = 0;
-pub const SOL_CONFIG: ::c_uint = 65534;
-
-pub const _SC_PAGESIZE: ::c_int = 8;
-pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 51;
-
-pub const PTHREAD_STACK_MIN: ::size_t = 4096;
-pub const WNOHANG: ::c_int = 1;
-
-pub const POLLIN: ::c_short = 0x0001;
-pub const POLLPRI: ::c_short = 0x0002;
-pub const POLLOUT: ::c_short = 0x0004;
-pub const POLLRDNORM: ::c_short = 0x0040;
-pub const POLLWRNORM: ::c_short = POLLOUT;
-pub const POLLRDBAND: ::c_short = 0x0080;
-pub const POLLWRBAND: ::c_short = 0x0100;
-pub const POLLERR: ::c_short = 0x0008;
-pub const POLLHUP: ::c_short = 0x0010;
-pub const POLLNVAL: ::c_short = 0x0020;
-
-pub const EAI_AGAIN: ::c_int = 2;
-pub const EAI_BADFLAGS: ::c_int = 3;
-pub const EAI_FAIL: ::c_int = 4;
-pub const EAI_SERVICE: ::c_int = 9;
-pub const EAI_SYSTEM: ::c_int = 11;
-pub const EAI_BADHINTS: ::c_int = 12;
-pub const EAI_PROTOCOL: ::c_int = 13;
-pub const EAI_OVERFLOW: ::c_int = 14;
-pub const EAI_MAX: ::c_int = 15;
-
-pub const AF_UNIX: ::c_int = 1;
-pub const AF_INET6: ::c_int = 23;
-
-pub const FIONBIO: ::c_ulong = 1;
-
-pub const RTLD_DEFAULT: *mut ::c_void = 0 as *mut ::c_void;
-
-// Horizon OS works doesn't or can't hold any of this information
-safe_f! {
- pub {const} fn WIFSTOPPED(_status: ::c_int) -> bool {
- false
- }
-
- pub {const} fn WSTOPSIG(_status: ::c_int) -> ::c_int {
- 0
- }
-
- pub {const} fn WIFCONTINUED(_status: ::c_int) -> bool {
- true
- }
-
- pub {const} fn WIFSIGNALED(_status: ::c_int) -> bool {
- false
- }
-
- pub {const} fn WTERMSIG(_status: ::c_int) -> ::c_int {
- 0
- }
-
- pub {const} fn WIFEXITED(_status: ::c_int) -> bool {
- true
- }
-
- pub {const} fn WEXITSTATUS(_status: ::c_int) -> ::c_int {
- 0
- }
-
- pub {const} fn WCOREDUMP(_status: ::c_int) -> bool {
- false
- }
-}
-
-extern "C" {
- pub fn pthread_create(
- native: *mut ::pthread_t,
- attr: *const ::pthread_attr_t,
- f: extern "C" fn(_: *mut ::c_void) -> *mut ::c_void,
- value: *mut ::c_void,
- ) -> ::c_int;
-
- pub fn gethostid() -> ::c_long;
-}
diff --git a/src/unix/newlib/mod.rs b/src/unix/newlib/mod.rs
index f1d738cb..6e87983f 100644
--- a/src/unix/newlib/mod.rs
+++ b/src/unix/newlib/mod.rs
@@ -15,29 +15,14 @@ pub type off_t = i64;
pub type pthread_t = ::c_ulong;
pub type pthread_key_t = ::c_uint;
pub type rlim_t = u32;
-
-cfg_if! {
- if #[cfg(target_os = "horizon")] {
- pub type sa_family_t = u16;
- } else {
- pub type sa_family_t = u8;
- }
-}
-
+pub type sa_family_t = u8;
pub type socklen_t = u32;
pub type speed_t = u32;
pub type suseconds_t = i32;
pub type tcflag_t = ::c_uint;
+pub type time_t = i32;
pub type useconds_t = u32;
-cfg_if! {
- if #[cfg(target_os = "horizon")] {
- pub type time_t = ::c_longlong;
- } else {
- pub type time_t = i32;
- }
-}
-
s! {
// The order of the `ai_addr` field in this struct is crucial
// for converting between the Rust and C types.
@@ -48,14 +33,16 @@ s! {
pub ai_protocol: ::c_int,
pub ai_addrlen: socklen_t,
- #[cfg(target_os = "espidf")]
+ #[cfg(not(all(libc_cfg_target_vendor, target_arch = "powerpc",
+ target_vendor = "nintendo")))]
+ #[cfg(target_arch = "xtensa")]
pub ai_addr: *mut sockaddr,
pub ai_canonname: *mut ::c_char,
- #[cfg(not(any(
- target_os = "espidf",
- all(libc_cfg_target_vendor, target_arch = "powerpc", target_vendor = "nintendo"))))]
+ #[cfg(not(all(libc_cfg_target_vendor, target_arch = "powerpc",
+ target_vendor = "nintendo")))]
+ #[cfg(not(target_arch = "xtensa"))]
pub ai_addr: *mut sockaddr,
pub ai_next: *mut addrinfo,
@@ -245,37 +232,23 @@ s! {
// unverified constants
align_const! {
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
- size: [__PTHREAD_INITIALIZER_BYTE; __SIZEOF_PTHREAD_MUTEX_T],
+ size: [0; __SIZEOF_PTHREAD_MUTEX_T],
};
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
- size: [__PTHREAD_INITIALIZER_BYTE; __SIZEOF_PTHREAD_COND_T],
+ size: [0; __SIZEOF_PTHREAD_COND_T],
};
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
- size: [__PTHREAD_INITIALIZER_BYTE; __SIZEOF_PTHREAD_RWLOCK_T],
+ size: [0; __SIZEOF_PTHREAD_RWLOCK_T],
};
}
pub const NCCS: usize = 32;
-cfg_if! {
- if #[cfg(target_os = "espidf")] {
- const __PTHREAD_INITIALIZER_BYTE: u8 = 0xff;
- pub const __SIZEOF_PTHREAD_ATTR_T: usize = 32;
- pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 4;
- pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 12;
- pub const __SIZEOF_PTHREAD_COND_T: usize = 4;
- pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 8;
- pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 4;
- pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 12;
- } else {
- const __PTHREAD_INITIALIZER_BYTE: u8 = 0;
- pub const __SIZEOF_PTHREAD_ATTR_T: usize = 56;
- pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
- pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
- pub const __SIZEOF_PTHREAD_COND_T: usize = 48;
- pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
- pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
- pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8;
- }
-}
+pub const __SIZEOF_PTHREAD_ATTR_T: usize = 56;
+pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
+pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
+pub const __SIZEOF_PTHREAD_COND_T: usize = 48;
+pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
+pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
+pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8;
pub const __SIZEOF_PTHREAD_BARRIER_T: usize = 32;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: usize = 4;
pub const __PTHREAD_MUTEX_HAVE_PREV: usize = 1;
@@ -492,13 +465,7 @@ pub const SO_SNDLOWAT: ::c_int = 0x1003;
pub const SO_RCVLOWAT: ::c_int = 0x1004;
pub const SO_SNDTIMEO: ::c_int = 0x1005;
pub const SO_RCVTIMEO: ::c_int = 0x1006;
-cfg_if! {
- if #[cfg(target_os = "horizon")] {
- pub const SO_ERROR: ::c_int = 0x1009;
- } else {
- pub const SO_ERROR: ::c_int = 0x1007;
- }
-}
+pub const SO_ERROR: ::c_int = 0x1007;
pub const SO_TYPE: ::c_int = 0x1008;
pub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC;
@@ -533,13 +500,7 @@ pub const TCP_KEEPIDLE: ::c_int = 256;
pub const TCP_KEEPINTVL: ::c_int = 512;
pub const TCP_KEEPCNT: ::c_int = 1024;
-cfg_if! {
- if #[cfg(target_os = "horizon")] {
- pub const IP_TOS: ::c_int = 7;
- } else {
- pub const IP_TOS: ::c_int = 3;
- }
-}
+pub const IP_TOS: ::c_int = 3;
pub const IP_TTL: ::c_int = 8;
pub const IP_MULTICAST_IF: ::c_int = 9;
pub const IP_MULTICAST_TTL: ::c_int = 10;
@@ -597,7 +558,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
let fd = fd as usize;
return ((*set).fds_bits[fd / bits] & (1 << (fd % bits))) != 0
@@ -638,12 +599,10 @@ extern "C" {
target_arch = "powerpc",
target_vendor = "nintendo"
)))]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_bind")]
pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int;
pub fn clock_settime(clock_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
pub fn clock_gettime(clock_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
pub fn clock_getres(clock_id: ::clockid_t, res: *mut ::timespec) -> ::c_int;
- #[cfg_attr(target_os = "espidf", link_name = "lwip_close")]
pub fn closesocket(sockfd: ::c_int) -> ::c_int;
pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
#[cfg(not(all(
@@ -651,7 +610,6 @@ extern "C" {
target_arch = "powerpc",
target_vendor = "nintendo"
)))]
- #[cfg_attr(target_os = "espidf", link_name = "lwip_recvfrom")]
pub fn recvfrom(
fd: ::c_int,
buf: *mut ::c_void,
@@ -730,18 +688,15 @@ extern "C" {
}
cfg_if! {
- if #[cfg(target_os = "espidf")] {
- mod espidf;
- pub use self::espidf::*;
- } else if #[cfg(target_os = "horizon")] {
- mod horizon;
- pub use self::horizon::*;
- } else if #[cfg(target_arch = "arm")] {
+ if #[cfg(target_arch = "arm")] {
mod arm;
pub use self::arm::*;
} else if #[cfg(target_arch = "aarch64")] {
mod aarch64;
pub use self::aarch64::*;
+ } else if #[cfg(target_arch = "xtensa")] {
+ mod xtensa;
+ pub use self::xtensa::*;
} else if #[cfg(target_arch = "powerpc")] {
mod powerpc;
pub use self::powerpc::*;
diff --git a/src/unix/newlib/espidf/mod.rs b/src/unix/newlib/xtensa/mod.rs
index d3e10594..f520f7a1 100644
--- a/src/unix/newlib/espidf/mod.rs
+++ b/src/unix/newlib/xtensa/mod.rs
@@ -84,20 +84,10 @@ pub const MSG_WAITALL: ::c_int = 0x02;
pub const MSG_MORE: ::c_int = 0x10;
pub const MSG_NOSIGNAL: ::c_int = 0x20;
-pub const PTHREAD_STACK_MIN: ::size_t = 768;
-
extern "C" {
- pub fn pthread_create(
- native: *mut ::pthread_t,
- attr: *const ::pthread_attr_t,
- f: extern "C" fn(_: *mut ::c_void) -> *mut ::c_void,
- value: *mut ::c_void,
- ) -> ::c_int;
-
- pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
-
- #[link_name = "lwip_sendmsg"]
pub fn sendmsg(s: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t;
- #[link_name = "lwip_recvmsg"]
pub fn recvmsg(s: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t;
+
+ pub fn writev(s: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::c_int;
+ pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
}
diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs
index 9836551d..45615a54 100644
--- a/src/unix/redox/mod.rs
+++ b/src/unix/redox/mod.rs
@@ -439,25 +439,7 @@ pub const O_SYMLINK: ::c_int = 0x4000_0000;
pub const O_NOFOLLOW: ::c_int = -0x8000_0000;
// netdb.h
-pub const AI_PASSIVE: ::c_int = 0x0001;
-pub const AI_CANONNAME: ::c_int = 0x0002;
-pub const AI_NUMERICHOST: ::c_int = 0x0004;
-pub const AI_V4MAPPED: ::c_int = 0x0008;
-pub const AI_ALL: ::c_int = 0x0010;
-pub const AI_ADDRCONFIG: ::c_int = 0x0020;
-pub const AI_NUMERICSERV: ::c_int = 0x0400;
-pub const EAI_BADFLAGS: ::c_int = -1;
-pub const EAI_NONAME: ::c_int = -2;
-pub const EAI_AGAIN: ::c_int = -3;
-pub const EAI_FAIL: ::c_int = -4;
-pub const EAI_NODATA: ::c_int = -5;
-pub const EAI_FAMILY: ::c_int = -6;
-pub const EAI_SOCKTYPE: ::c_int = -7;
-pub const EAI_SERVICE: ::c_int = -8;
-pub const EAI_ADDRFAMILY: ::c_int = -9;
-pub const EAI_MEMORY: ::c_int = -10;
pub const EAI_SYSTEM: ::c_int = -11;
-pub const EAI_OVERFLOW: ::c_int = -12;
pub const NI_MAXHOST: ::c_int = 1025;
pub const NI_MAXSERV: ::c_int = 32;
pub const NI_NUMERICHOST: ::c_int = 0x0001;
@@ -692,24 +674,25 @@ pub const SOCK_SEQPACKET: ::c_int = 5;
pub const SOL_SOCKET: ::c_int = 1;
// sys/termios.h
-pub const VEOF: usize = 0;
-pub const VEOL: usize = 1;
-pub const VEOL2: usize = 2;
-pub const VERASE: usize = 3;
-pub const VWERASE: usize = 4;
-pub const VKILL: usize = 5;
-pub const VREPRINT: usize = 6;
+pub const NCCS: usize = 32;
+
+pub const VINTR: usize = 0;
+pub const VQUIT: usize = 1;
+pub const VERASE: usize = 2;
+pub const VKILL: usize = 3;
+pub const VEOF: usize = 4;
+pub const VTIME: usize = 5;
+pub const VMIN: usize = 6;
pub const VSWTC: usize = 7;
-pub const VINTR: usize = 8;
-pub const VQUIT: usize = 9;
+pub const VSTART: usize = 8;
+pub const VSTOP: usize = 9;
pub const VSUSP: usize = 10;
-pub const VSTART: usize = 12;
-pub const VSTOP: usize = 13;
-pub const VLNEXT: usize = 14;
-pub const VDISCARD: usize = 15;
-pub const VMIN: usize = 16;
-pub const VTIME: usize = 17;
-pub const NCCS: usize = 32;
+pub const VEOL: usize = 11;
+pub const VREPRINT: usize = 12;
+pub const VDISCARD: usize = 13;
+pub const VWERASE: usize = 14;
+pub const VLNEXT: usize = 15;
+pub const VEOL2: usize = 16;
pub const IGNBRK: ::tcflag_t = 0o000_001;
pub const BRKINT: ::tcflag_t = 0o000_002;
@@ -720,17 +703,25 @@ pub const ISTRIP: ::tcflag_t = 0o000_040;
pub const INLCR: ::tcflag_t = 0o000_100;
pub const IGNCR: ::tcflag_t = 0o000_200;
pub const ICRNL: ::tcflag_t = 0o000_400;
-pub const IXON: ::tcflag_t = 0o001_000;
-pub const IXOFF: ::tcflag_t = 0o002_000;
+pub const IUCLC: ::tcflag_t = 0o001_000;
+pub const IXON: ::tcflag_t = 0o002_000;
+pub const IXANY: ::tcflag_t = 0o004_000;
+pub const IXOFF: ::tcflag_t = 0o010_000;
+pub const IMAXBEL: ::tcflag_t = 0o020_000;
+pub const IUTF8: ::tcflag_t = 0o040_000;
pub const OPOST: ::tcflag_t = 0o000_001;
-pub const ONLCR: ::tcflag_t = 0o000_002;
-pub const OLCUC: ::tcflag_t = 0o000_004;
+pub const OLCUC: ::tcflag_t = 0o000_002;
+pub const ONLCR: ::tcflag_t = 0o000_004;
pub const OCRNL: ::tcflag_t = 0o000_010;
pub const ONOCR: ::tcflag_t = 0o000_020;
-pub const ONLRET: ::tcflag_t = 0o000_040;
-pub const OFILL: ::tcflag_t = 0o0000_100;
-pub const OFDEL: ::tcflag_t = 0o0000_200;
+pub const ONLRET: ::tcflag_t = 0o00_0040;
+pub const OFILL: ::tcflag_t = 0o000_100;
+pub const OFDEL: ::tcflag_t = 0o000_200;
+
+pub const VTDLY: usize = 0o040_000;
+pub const VT0: usize = 0o000_000;
+pub const VT1: usize = 0o040_000;
pub const B0: speed_t = 0o000_000;
pub const B50: speed_t = 0o000_001;
@@ -749,45 +740,43 @@ pub const B9600: speed_t = 0o000_015;
pub const B19200: speed_t = 0o000_016;
pub const B38400: speed_t = 0o000_017;
-pub const B57600: speed_t = 0o0_020;
-pub const B115200: speed_t = 0o0_021;
-pub const B230400: speed_t = 0o0_022;
-pub const B460800: speed_t = 0o0_023;
-pub const B500000: speed_t = 0o0_024;
-pub const B576000: speed_t = 0o0_025;
-pub const B921600: speed_t = 0o0_026;
-pub const B1000000: speed_t = 0o0_027;
-pub const B1152000: speed_t = 0o0_030;
-pub const B1500000: speed_t = 0o0_031;
-pub const B2000000: speed_t = 0o0_032;
-pub const B2500000: speed_t = 0o0_033;
-pub const B3000000: speed_t = 0o0_034;
-pub const B3500000: speed_t = 0o0_035;
-pub const B4000000: speed_t = 0o0_036;
-
-pub const CSIZE: ::tcflag_t = 0o001_400;
+pub const B57600: speed_t = 0o010_001;
+pub const B115200: speed_t = 0o010_002;
+pub const B230400: speed_t = 0o010_003;
+pub const B460800: speed_t = 0o010_004;
+pub const B500000: speed_t = 0o010_005;
+pub const B576000: speed_t = 0o010_006;
+pub const B921600: speed_t = 0o010_007;
+pub const B1000000: speed_t = 0o010_010;
+pub const B1152000: speed_t = 0o010_011;
+pub const B1500000: speed_t = 0o010_012;
+pub const B2000000: speed_t = 0o010_013;
+pub const B2500000: speed_t = 0o010_014;
+pub const B3000000: speed_t = 0o010_015;
+pub const B3500000: speed_t = 0o010_016;
+pub const B4000000: speed_t = 0o010_017;
+
+pub const CSIZE: ::tcflag_t = 0o000_060;
pub const CS5: ::tcflag_t = 0o000_000;
-pub const CS6: ::tcflag_t = 0o000_400;
-pub const CS7: ::tcflag_t = 0o001_000;
-pub const CS8: ::tcflag_t = 0o001_400;
-
-pub const CSTOPB: ::tcflag_t = 0o002_000;
-pub const CREAD: ::tcflag_t = 0o004_000;
-pub const PARENB: ::tcflag_t = 0o010_000;
-pub const PARODD: ::tcflag_t = 0o020_000;
-pub const HUPCL: ::tcflag_t = 0o040_000;
-
-pub const CLOCAL: ::tcflag_t = 0o0100000;
-
-pub const ISIG: ::tcflag_t = 0x0000_0080;
-pub const ICANON: ::tcflag_t = 0x0000_0100;
-pub const ECHO: ::tcflag_t = 0x0000_0008;
-pub const ECHOE: ::tcflag_t = 0x0000_0002;
-pub const ECHOK: ::tcflag_t = 0x0000_0004;
-pub const ECHONL: ::tcflag_t = 0x0000_0010;
-pub const NOFLSH: ::tcflag_t = 0x8000_0000;
-pub const TOSTOP: ::tcflag_t = 0x0040_0000;
-pub const IEXTEN: ::tcflag_t = 0x0000_0400;
+pub const CS6: ::tcflag_t = 0o000_020;
+pub const CS7: ::tcflag_t = 0o000_040;
+pub const CS8: ::tcflag_t = 0o000_060;
+pub const CSTOPB: ::tcflag_t = 0o000_100;
+pub const CREAD: ::tcflag_t = 0o000_200;
+pub const PARENB: ::tcflag_t = 0o000_400;
+pub const PARODD: ::tcflag_t = 0o001_000;
+pub const HUPCL: ::tcflag_t = 0o002_000;
+pub const CLOCAL: ::tcflag_t = 0o004_000;
+
+pub const ISIG: ::tcflag_t = 0o000_001;
+pub const ICANON: ::tcflag_t = 0o000_002;
+pub const ECHO: ::tcflag_t = 0o000_010;
+pub const ECHOE: ::tcflag_t = 0o000_020;
+pub const ECHOK: ::tcflag_t = 0o000_040;
+pub const ECHONL: ::tcflag_t = 0o000_100;
+pub const NOFLSH: ::tcflag_t = 0o000_200;
+pub const TOSTOP: ::tcflag_t = 0o000_400;
+pub const IEXTEN: ::tcflag_t = 0o100_000;
pub const TCOOFF: ::c_int = 0;
pub const TCOON: ::c_int = 1;
@@ -819,8 +808,6 @@ pub const __WCLONE: ::c_int = 0x8000_0000;
// time.h
pub const CLOCK_REALTIME: ::c_int = 1;
pub const CLOCK_MONOTONIC: ::c_int = 4;
-pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 2;
-pub const CLOCKS_PER_SEC: ::clock_t = 1_000_000;
// unistd.h
// POSIX.1 {
@@ -893,7 +880,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let fd = fd as usize;
let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
return ((*set).fds_bits[fd / size] & (1 << (fd % size))) != 0
@@ -958,17 +945,6 @@ extern "C" {
// malloc.h
pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
- // netdb.h
- pub fn getnameinfo(
- addr: *const ::sockaddr,
- addrlen: ::socklen_t,
- host: *mut ::c_char,
- hostlen: ::socklen_t,
- serv: *mut ::c_char,
- servlen: ::socklen_t,
- flags: ::c_int,
- ) -> ::c_int;
-
// pthread.h
pub fn pthread_atfork(
prepare: ::Option<unsafe extern "C" fn()>,
@@ -1001,8 +977,6 @@ extern "C" {
set: *const ::sigset_t,
oldset: *mut ::sigset_t,
) -> ::c_int;
- pub fn pthread_cancel(thread: ::pthread_t) -> ::c_int;
- pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
// sys/epoll.h
pub fn epoll_create(size: ::c_int) -> ::c_int;
diff --git a/src/unix/solarish/illumos.rs b/src/unix/solarish/illumos.rs
index c86c6d69..730bb690 100644
--- a/src/unix/solarish/illumos.rs
+++ b/src/unix/solarish/illumos.rs
@@ -13,12 +13,6 @@ s! {
pub shm_ctime: ::time_t,
pub shm_pad4: [i64; 4],
}
-
- pub struct fil_info {
- pub fi_flags: ::c_int,
- pub fi_pos: ::c_int,
- pub fi_name: [::c_char; ::FILNAME_MAX as usize],
- }
}
pub const AF_LOCAL: ::c_int = 1; // AF_UNIX
@@ -33,53 +27,14 @@ pub const TCP_KEEPCNT: ::c_int = 35;
pub const TCP_KEEPINTVL: ::c_int = 36;
pub const TCP_CONGESTION: ::c_int = 37;
-// These constants are correct for 64-bit programs or 32-bit programs that are
-// not using large-file mode. If Rust ever supports anything other than 64-bit
-// compilation on illumos, this may require adjustment:
-pub const F_OFD_GETLK: ::c_int = 47;
-pub const F_OFD_SETLK: ::c_int = 48;
-pub const F_OFD_SETLKW: ::c_int = 49;
-pub const F_FLOCK: ::c_int = 53;
-pub const F_FLOCKW: ::c_int = 54;
-
-pub const FIL_ATTACH: ::c_int = 0x1;
-pub const FIL_DETACH: ::c_int = 0x2;
-pub const FIL_LIST: ::c_int = 0x3;
-pub const FILNAME_MAX: ::c_int = 32;
-pub const FILF_PROG: ::c_int = 0x1;
-pub const FILF_AUTO: ::c_int = 0x2;
-pub const FILF_BYPASS: ::c_int = 0x4;
-pub const SOL_FILTER: ::c_int = 0xfffc;
-
-pub const MR_HDR_AOUT: ::c_uint = 0x3;
-
-pub const B1000000: ::speed_t = 24;
-pub const B1152000: ::speed_t = 25;
-pub const B1500000: ::speed_t = 26;
-pub const B2000000: ::speed_t = 27;
-pub const B2500000: ::speed_t = 28;
-pub const B3000000: ::speed_t = 29;
-pub const B3500000: ::speed_t = 30;
-pub const B4000000: ::speed_t = 31;
-
-// sys/systeminfo.h
-pub const SI_ADDRESS_WIDTH: ::c_int = 520;
+pub const F_OFD_GETLK: ::c_int = 50;
+pub const F_OFD_SETLKL: ::c_int = 51;
+pub const F_OFD_SETLKW: ::c_int = 52;
+pub const F_FLOCK: ::c_int = 55;
+pub const F_FLOCKW: ::c_int = 56;
extern "C" {
pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int;
pub fn mincore(addr: ::caddr_t, len: ::size_t, vec: *mut ::c_char) -> ::c_int;
-
- pub fn pset_bind_lwp(
- pset: ::psetid_t,
- id: ::id_t,
- pid: ::pid_t,
- opset: *mut ::psetid_t,
- ) -> ::c_int;
- pub fn pset_getloadavg(pset: ::psetid_t, load: *mut ::c_double, num: ::c_int) -> ::c_int;
-
- pub fn preadv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t) -> ::ssize_t;
- pub fn pwritev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t)
- -> ::ssize_t;
- pub fn getpagesizes2(pagesize: *mut ::size_t, nelem: ::c_int) -> ::c_int;
}
diff --git a/src/unix/solarish/mod.rs b/src/unix/solarish/mod.rs
index e5aca85a..6166da5d 100644
--- a/src/unix/solarish/mod.rs
+++ b/src/unix/solarish/mod.rs
@@ -25,9 +25,6 @@ pub type wchar_t = ::c_int;
pub type nfds_t = ::c_ulong;
pub type projid_t = ::c_int;
pub type zoneid_t = ::c_int;
-pub type psetid_t = ::c_int;
-pub type processorid_t = ::c_int;
-pub type chipid_t = ::c_int;
pub type suseconds_t = ::c_long;
pub type off_t = ::c_long;
@@ -36,7 +33,6 @@ pub type socklen_t = ::c_uint;
pub type sa_family_t = u16;
pub type pthread_t = ::c_uint;
pub type pthread_key_t = ::c_uint;
-pub type thread_t = ::c_uint;
pub type blksize_t = ::c_int;
pub type nl_item = ::c_int;
pub type mqd_t = *mut ::c_void;
@@ -44,16 +40,6 @@ pub type id_t = ::c_int;
pub type idtype_t = ::c_uint;
pub type shmatt_t = ::c_ulong;
-pub type lgrp_rsrc_t = ::c_int;
-pub type lgrp_affinity_t = ::c_int;
-pub type lgrp_id_t = ::id_t;
-pub type lgrp_mem_size_t = ::c_longlong;
-pub type lgrp_cookie_t = ::uintptr_t;
-pub type lgrp_content_t = ::c_uint;
-pub type lgrp_lat_between_t = ::c_uint;
-pub type lgrp_mem_size_flag_t = ::c_uint;
-pub type lgrp_view_t = ::c_uint;
-
#[cfg_attr(feature = "extra_traits", derive(Debug))]
pub enum timezone {}
impl ::Copy for timezone {}
@@ -278,13 +264,6 @@ s! {
pub f_fstr: [::c_char; 32]
}
- pub struct sendfilevec_t {
- pub sfv_fd: ::c_int,
- pub sfv_flag: ::c_uint,
- pub sfv_off: ::off_t,
- pub sfv_len: ::size_t,
- }
-
pub struct sched_param {
pub sched_priority: ::c_int,
sched_pad: [::c_int; 8]
@@ -437,28 +416,6 @@ s! {
pub esterror: i32,
}
- pub struct mmapobj_result_t {
- pub mr_addr: ::caddr_t,
- pub mr_msize: ::size_t,
- pub mr_fsize: ::size_t,
- pub mr_offset: ::size_t,
- pub mr_prot: ::c_uint,
- pub mr_flags: ::c_uint,
- }
-
- pub struct lgrp_affinity_args {
- pub idtype: ::idtype_t,
- pub id: ::id_t,
- pub lgrp: ::lgrp_id_t,
- pub aff: ::lgrp_affinity_t,
- }
-
- pub struct processor_info_t {
- pub pi_state: ::c_int,
- pub pi_processor_type: [::c_char; PI_TYPELEN as usize],
- pub pi_fputypes: [::c_char; PI_FPUTYPE as usize],
- pub pi_clock: ::c_int,
- }
}
s_no_extra_traits! {
@@ -543,20 +500,6 @@ s_no_extra_traits! {
pub sigev_notify_attributes: *const ::pthread_attr_t,
__sigev_pad2: ::c_int,
}
-
- #[cfg(libc_union)]
- #[cfg_attr(libc_align, repr(align(16)))]
- pub union pad128_t {
- // pub _q in this structure would be a "long double", of 16 bytes
- pub _l: [i32; 4],
- }
-
- #[cfg(libc_union)]
- #[cfg_attr(libc_align, repr(align(16)))]
- pub union upad128_t {
- // pub _q in this structure would be a "long double", of 16 bytes
- pub _l: [u32; 4],
- }
}
cfg_if! {
@@ -882,68 +825,6 @@ cfg_if! {
}
}
- #[cfg(libc_union)]
- impl PartialEq for pad128_t {
- fn eq(&self, other: &pad128_t) -> bool {
- unsafe {
- // FIXME: self._q == other._q ||
- self._l == other._l
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for pad128_t {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for pad128_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("pad128_t")
- // FIXME: .field("_q", &{self._q})
- .field("_l", &{self._l})
- .finish()
- }
- }
- }
- #[cfg(libc_union)]
- impl ::hash::Hash for pad128_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- // FIXME: state.write_i64(self._q as i64);
- self._l.hash(state);
- }
- }
- }
- #[cfg(libc_union)]
- impl PartialEq for upad128_t {
- fn eq(&self, other: &upad128_t) -> bool {
- unsafe {
- // FIXME: self._q == other._q ||
- self._l == other._l
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for upad128_t {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for upad128_t {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("upad128_t")
- // FIXME: .field("_q", &{self._q})
- .field("_l", &{self._l})
- .finish()
- }
- }
- }
- #[cfg(libc_union)]
- impl ::hash::Hash for upad128_t {
- fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
- unsafe {
- // FIXME: state.write_i64(self._q as i64);
- self._l.hash(state);
- }
- }
- }
}
}
@@ -1107,9 +988,6 @@ pub const FILENAME_MAX: ::c_uint = 1024;
pub const L_tmpnam: ::c_uint = 25;
pub const TMP_MAX: ::c_uint = 17576;
-pub const GRND_NONBLOCK: ::c_int = 0x0001;
-pub const GRND_RANDOM: ::c_int = 0x0002;
-
pub const O_RDONLY: ::c_int = 0;
pub const O_WRONLY: ::c_int = 1;
pub const O_RDWR: ::c_int = 2;
@@ -1234,20 +1112,6 @@ pub const P_CTID: idtype_t = 13;
pub const P_CPUID: idtype_t = 14;
pub const P_PSETID: idtype_t = 15;
-pub const PBIND_NONE: ::processorid_t = -1;
-pub const PBIND_QUERY: ::processorid_t = -2;
-pub const PBIND_HARD: ::processorid_t = -3;
-pub const PBIND_SOFT: ::processorid_t = -4;
-
-pub const PS_NONE: ::c_int = -1;
-pub const PS_QUERY: ::c_int = -2;
-pub const PS_MYID: ::c_int = -3;
-pub const PS_SOFT: ::c_int = -4;
-pub const PS_HARD: ::c_int = -5;
-pub const PS_QUERY_TYPE: ::c_int = -6;
-pub const PS_SYSTEM: ::c_int = 1;
-pub const PS_PRIVATE: ::c_int = 2;
-
pub const UTIME_OMIT: c_long = -2;
pub const UTIME_NOW: c_long = -1;
@@ -1276,11 +1140,6 @@ pub const MS_SYNC: ::c_int = 0x0004;
pub const MS_ASYNC: ::c_int = 0x0001;
pub const MS_INVALIDATE: ::c_int = 0x0002;
-pub const MMOBJ_PADDING: ::c_uint = 0x10000;
-pub const MMOBJ_INTERPRET: ::c_uint = 0x20000;
-pub const MR_PADDING: ::c_uint = 0x1;
-pub const MR_HDR_ELF: ::c_uint = 0x2;
-
pub const EPERM: ::c_int = 1;
pub const ENOENT: ::c_int = 2;
pub const ESRCH: ::c_int = 3;
@@ -1538,42 +1397,6 @@ pub const AF_INET_OFFLOAD: ::c_int = 30;
pub const AF_TRILL: ::c_int = 31;
pub const AF_PACKET: ::c_int = 32;
-pub const PF_UNSPEC: ::c_int = AF_UNSPEC;
-pub const PF_UNIX: ::c_int = AF_UNIX;
-pub const PF_LOCAL: ::c_int = PF_UNIX;
-pub const PF_FILE: ::c_int = PF_UNIX;
-pub const PF_INET: ::c_int = AF_INET;
-pub const PF_IMPLINK: ::c_int = AF_IMPLINK;
-pub const PF_PUP: ::c_int = AF_PUP;
-pub const PF_CHAOS: ::c_int = AF_CHAOS;
-pub const PF_NS: ::c_int = AF_NS;
-pub const PF_NBS: ::c_int = AF_NBS;
-pub const PF_ECMA: ::c_int = AF_ECMA;
-pub const PF_DATAKIT: ::c_int = AF_DATAKIT;
-pub const PF_CCITT: ::c_int = AF_CCITT;
-pub const PF_SNA: ::c_int = AF_SNA;
-pub const PF_DECnet: ::c_int = AF_DECnet;
-pub const PF_DLI: ::c_int = AF_DLI;
-pub const PF_LAT: ::c_int = AF_LAT;
-pub const PF_HYLINK: ::c_int = AF_HYLINK;
-pub const PF_APPLETALK: ::c_int = AF_APPLETALK;
-pub const PF_NIT: ::c_int = AF_NIT;
-pub const PF_802: ::c_int = AF_802;
-pub const PF_OSI: ::c_int = AF_OSI;
-pub const PF_X25: ::c_int = AF_X25;
-pub const PF_OSINET: ::c_int = AF_OSINET;
-pub const PF_GOSIP: ::c_int = AF_GOSIP;
-pub const PF_IPX: ::c_int = AF_IPX;
-pub const PF_ROUTE: ::c_int = AF_ROUTE;
-pub const PF_LINK: ::c_int = AF_LINK;
-pub const PF_INET6: ::c_int = AF_INET6;
-pub const PF_KEY: ::c_int = AF_KEY;
-pub const PF_NCA: ::c_int = AF_NCA;
-pub const PF_POLICY: ::c_int = AF_POLICY;
-pub const PF_INET_OFFLOAD: ::c_int = AF_INET_OFFLOAD;
-pub const PF_TRILL: ::c_int = AF_TRILL;
-pub const PF_PACKET: ::c_int = AF_PACKET;
-
pub const SOCK_DGRAM: ::c_int = 1;
pub const SOCK_STREAM: ::c_int = 2;
pub const SOCK_RAW: ::c_int = 4;
@@ -2058,18 +1881,6 @@ pub const TIOCMGET: ::c_int = tIOC | 29;
pub const TIOCREMOTE: ::c_int = tIOC | 30;
pub const TIOCSIGNAL: ::c_int = tIOC | 31;
-pub const TIOCM_LE: ::c_int = 0o0001;
-pub const TIOCM_DTR: ::c_int = 0o0002;
-pub const TIOCM_RTS: ::c_int = 0o0004;
-pub const TIOCM_ST: ::c_int = 0o0010;
-pub const TIOCM_SR: ::c_int = 0o0020;
-pub const TIOCM_CTS: ::c_int = 0o0040;
-pub const TIOCM_CAR: ::c_int = 0o0100;
-pub const TIOCM_CD: ::c_int = TIOCM_CAR;
-pub const TIOCM_RNG: ::c_int = 0o0200;
-pub const TIOCM_RI: ::c_int = TIOCM_RNG;
-pub const TIOCM_DSR: ::c_int = 0o0400;
-
pub const EPOLLIN: ::c_int = 0x1;
pub const EPOLLPRI: ::c_int = 0x2;
pub const EPOLLOUT: ::c_int = 0x4;
@@ -2118,10 +1929,6 @@ pub const B921600: speed_t = 23;
pub const CSTART: ::tcflag_t = 0o21;
pub const CSTOP: ::tcflag_t = 0o23;
pub const CSWTCH: ::tcflag_t = 0o32;
-pub const CBAUD: ::tcflag_t = 0o17;
-pub const CIBAUD: ::tcflag_t = 0o3600000;
-pub const CBAUDEXT: ::tcflag_t = 0o10000000;
-pub const CIBAUDEXT: ::tcflag_t = 0o20000000;
pub const CSIZE: ::tcflag_t = 0o000060;
pub const CS5: ::tcflag_t = 0;
pub const CS6: ::tcflag_t = 0o000020;
@@ -2145,26 +1952,20 @@ pub const ISTRIP: ::tcflag_t = 0o000040;
pub const INLCR: ::tcflag_t = 0o000100;
pub const IGNCR: ::tcflag_t = 0o000200;
pub const ICRNL: ::tcflag_t = 0o000400;
-pub const IUCLC: ::tcflag_t = 0o001000;
pub const IXON: ::tcflag_t = 0o002000;
pub const IXOFF: ::tcflag_t = 0o010000;
pub const IXANY: ::tcflag_t = 0o004000;
pub const IMAXBEL: ::tcflag_t = 0o020000;
-pub const DOSMODE: ::tcflag_t = 0o100000;
pub const OPOST: ::tcflag_t = 0o000001;
-pub const OLCUC: ::tcflag_t = 0o000002;
pub const ONLCR: ::tcflag_t = 0o000004;
pub const OCRNL: ::tcflag_t = 0o000010;
pub const ONOCR: ::tcflag_t = 0o000020;
pub const ONLRET: ::tcflag_t = 0o000040;
-pub const OFILL: ::tcflag_t = 0o0000100;
-pub const OFDEL: ::tcflag_t = 0o0000200;
pub const CREAD: ::tcflag_t = 0o000200;
pub const PARENB: ::tcflag_t = 0o000400;
pub const PARODD: ::tcflag_t = 0o001000;
pub const HUPCL: ::tcflag_t = 0o002000;
pub const CLOCAL: ::tcflag_t = 0o004000;
-pub const CRTSXOFF: ::tcflag_t = 0o10000000000;
pub const CRTSCTS: ::tcflag_t = 0o20000000000;
pub const ISIG: ::tcflag_t = 0o000001;
pub const ICANON: ::tcflag_t = 0o000002;
@@ -2290,81 +2091,6 @@ pub const PRIO_PROCESS: ::c_int = 0;
pub const PRIO_PGRP: ::c_int = 1;
pub const PRIO_USER: ::c_int = 2;
-pub const SCHED_OTHER: ::c_int = 0;
-pub const SCHED_FIFO: ::c_int = 1;
-pub const SCHED_RR: ::c_int = 2;
-pub const SCHED_SYS: ::c_int = 3;
-pub const SCHED_IA: ::c_int = 4;
-pub const SCHED_FSS: ::c_int = 5;
-pub const SCHED_FX: ::c_int = 6;
-
-// sys/priv.h
-pub const PRIV_DEBUG: ::c_uint = 0x0001;
-pub const PRIV_AWARE: ::c_uint = 0x0002;
-pub const PRIV_AWARE_INHERIT: ::c_uint = 0x0004;
-pub const __PROC_PROTECT: ::c_uint = 0x0008;
-pub const NET_MAC_AWARE: ::c_uint = 0x0010;
-pub const NET_MAC_AWARE_INHERIT: ::c_uint = 0x0020;
-pub const PRIV_AWARE_RESET: ::c_uint = 0x0040;
-pub const PRIV_XPOLICY: ::c_uint = 0x0080;
-pub const PRIV_PFEXEC: ::c_uint = 0x0100;
-pub const PRIV_USER: ::c_uint = PRIV_DEBUG
- | NET_MAC_AWARE
- | NET_MAC_AWARE_INHERIT
- | PRIV_XPOLICY
- | PRIV_AWARE_RESET
- | PRIV_PFEXEC;
-
-// sys/systeminfo.h
-pub const SI_SYSNAME: ::c_int = 1;
-pub const SI_HOSTNAME: ::c_int = 2;
-pub const SI_RELEASE: ::c_int = 3;
-pub const SI_VERSION: ::c_int = 4;
-pub const SI_MACHINE: ::c_int = 5;
-pub const SI_ARCHITECTURE: ::c_int = 6;
-pub const SI_HW_SERIAL: ::c_int = 7;
-pub const SI_HW_PROVIDER: ::c_int = 8;
-pub const SI_SET_HOSTNAME: ::c_int = 258;
-pub const SI_SET_SRPC_DOMAIN: ::c_int = 265;
-pub const SI_PLATFORM: ::c_int = 513;
-pub const SI_ISALIST: ::c_int = 514;
-pub const SI_DHCP_CACHE: ::c_int = 515;
-pub const SI_ARCHITECTURE_32: ::c_int = 516;
-pub const SI_ARCHITECTURE_64: ::c_int = 517;
-pub const SI_ARCHITECTURE_K: ::c_int = 518;
-pub const SI_ARCHITECTURE_NATIVE: ::c_int = 519;
-
-// sys/lgrp_user.h
-pub const LGRP_COOKIE_NONE: ::lgrp_cookie_t = 0;
-pub const LGRP_AFF_NONE: ::lgrp_affinity_t = 0x0;
-pub const LGRP_AFF_WEAK: ::lgrp_affinity_t = 0x10;
-pub const LGRP_AFF_STRONG: ::lgrp_affinity_t = 0x100;
-pub const LGRP_RSRC_COUNT: ::lgrp_rsrc_t = 2;
-pub const LGRP_RSRC_CPU: ::lgrp_rsrc_t = 0;
-pub const LGRP_RSRC_MEM: ::lgrp_rsrc_t = 1;
-pub const LGRP_CONTENT_ALL: ::lgrp_content_t = 0;
-pub const LGRP_CONTENT_HIERARCHY: ::lgrp_content_t = LGRP_CONTENT_ALL;
-pub const LGRP_CONTENT_DIRECT: ::lgrp_content_t = 1;
-pub const LGRP_LAT_CPU_TO_MEM: ::lgrp_lat_between_t = 0;
-pub const LGRP_MEM_SZ_FREE: ::lgrp_mem_size_flag_t = 0;
-pub const LGRP_MEM_SZ_INSTALLED: ::lgrp_mem_size_flag_t = 1;
-pub const LGRP_VIEW_CALLER: ::lgrp_view_t = 0;
-pub const LGRP_VIEW_OS: ::lgrp_view_t = 1;
-
-// sys/processor.h
-
-pub const P_OFFLINE: ::c_int = 0x001;
-pub const P_ONLINE: ::c_int = 0x002;
-pub const P_STATUS: ::c_int = 0x003;
-pub const P_FAULTED: ::c_int = 0x004;
-pub const P_POWEROFF: ::c_int = 0x005;
-pub const P_NOINTR: ::c_int = 0x006;
-pub const P_SPARE: ::c_int = 0x007;
-pub const P_DISABLED: ::c_int = 0x008;
-pub const P_FORCED: ::c_int = 0x10000000;
-pub const PI_TYPELEN: ::c_int = 16;
-pub const PI_FPUTYPE: ::c_int = 32;
-
// As per sys/socket.h, header alignment must be 8 bytes on SPARC
// and 4 bytes everywhere else:
#[cfg(target_arch = "sparc64")]
@@ -2431,7 +2157,7 @@ f! {
return
}
- pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
+ pub fn FD_ISSET(fd: ::c_int, set: *mut fd_set) -> bool {
let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
let fd = fd as usize;
return ((*set).fds_bits[fd / bits] & (1 << (fd % bits))) != 0
@@ -2483,10 +2209,6 @@ safe_f! {
pub {const} fn WCOREDUMP(status: ::c_int) -> bool {
(status & 0x80) != 0
}
-
- pub {const} fn MR_GET_TYPE(flags: ::c_uint) -> ::c_uint {
- flags & 0x0000ffff
- }
}
extern "C" {
@@ -2505,8 +2227,6 @@ extern "C" {
pub fn labs(i: ::c_long) -> ::c_long;
pub fn rand() -> ::c_int;
pub fn srand(seed: ::c_uint);
- pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
- pub fn getrandom(bbuf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int;
pub fn settimeofday(tp: *const ::timeval, tz: *const ::c_void) -> ::c_int;
@@ -2514,12 +2234,6 @@ extern "C" {
pub fn freeifaddrs(ifa: *mut ::ifaddrs);
pub fn stack_getbounds(sp: *mut ::stack_t) -> ::c_int;
- pub fn getgrouplist(
- name: *const ::c_char,
- basegid: ::gid_t,
- groups: *mut ::gid_t,
- ngroups: *mut ::c_int,
- ) -> ::c_int;
pub fn initgroups(name: *const ::c_char, basegid: ::gid_t) -> ::c_int;
pub fn setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int;
pub fn ioctl(fildes: ::c_int, request: ::c_int, ...) -> ::c_int;
@@ -2593,8 +2307,6 @@ extern "C" {
lock: *mut pthread_mutex_t,
abstime: *const ::timespec,
) -> ::c_int;
- pub fn pthread_getname_np(tid: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int;
- pub fn pthread_setname_np(tid: ::pthread_t, name: *const ::c_char) -> ::c_int;
pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int)
-> ::c_int;
@@ -2772,21 +2484,10 @@ extern "C" {
buflen: ::size_t,
result: *mut *mut ::group,
) -> ::c_int;
- pub fn thr_self() -> ::thread_t;
pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int;
pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
pub fn getgrnam(name: *const ::c_char) -> *mut ::group;
pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
- pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int;
- pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int;
- pub fn sched_getparam(pid: ::pid_t, param: *mut sched_param) -> ::c_int;
- pub fn sched_setparam(pid: ::pid_t, param: *const sched_param) -> ::c_int;
- pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
- pub fn sched_setscheduler(
- pid: ::pid_t,
- policy: ::c_int,
- param: *const ::sched_param,
- ) -> ::c_int;
pub fn sem_unlink(name: *const ::c_char) -> ::c_int;
pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
#[cfg_attr(
@@ -2906,134 +2607,6 @@ extern "C" {
pub fn ucred_getpflags(ucred: *const ucred_t, flags: ::c_uint) -> ::c_uint;
pub fn ucred_size() -> ::size_t;
-
- pub fn pset_create(newpset: *mut ::psetid_t) -> ::c_int;
- pub fn pset_destroy(pset: ::psetid_t) -> ::c_int;
- pub fn pset_assign(pset: ::psetid_t, cpu: ::processorid_t, opset: *mut psetid_t) -> ::c_int;
- pub fn pset_info(
- pset: ::psetid_t,
- tpe: *mut ::c_int,
- numcpus: *mut ::c_uint,
- cpulist: *mut processorid_t,
- ) -> ::c_int;
- pub fn pset_bind(
- pset: ::psetid_t,
- idtype: ::idtype_t,
- id: ::id_t,
- opset: *mut psetid_t,
- ) -> ::c_int;
- pub fn pset_list(pset: *mut psetid_t, numpsets: *mut ::c_uint) -> ::c_int;
- pub fn pset_setattr(pset: psetid_t, attr: ::c_uint) -> ::c_int;
- pub fn pset_getattr(pset: psetid_t, attr: *mut ::c_uint) -> ::c_int;
- pub fn processor_bind(
- idtype: ::idtype_t,
- id: ::id_t,
- new_binding: ::processorid_t,
- old_binding: *mut processorid_t,
- ) -> ::c_int;
- pub fn p_online(processorid: ::processorid_t, flag: ::c_int) -> ::c_int;
- pub fn processor_info(processorid: ::processorid_t, infop: *mut processor_info_t) -> ::c_int;
-
- pub fn getexecname() -> *const ::c_char;
-
- pub fn gethostid() -> ::c_long;
-
- pub fn getpflags(flags: ::c_uint) -> ::c_uint;
- pub fn setpflags(flags: ::c_uint, value: ::c_uint) -> ::c_int;
-
- pub fn sysinfo(command: ::c_int, buf: *mut ::c_char, count: ::c_long) -> ::c_int;
-}
-
-#[link(name = "sendfile")]
-extern "C" {
- pub fn sendfile(out_fd: ::c_int, in_fd: ::c_int, off: *mut ::off_t, len: ::size_t)
- -> ::ssize_t;
- pub fn sendfilev(
- fildes: ::c_int,
- vec: *const sendfilevec_t,
- sfvcnt: ::c_int,
- xferred: *mut ::size_t,
- ) -> ::ssize_t;
- // #include <link.h>
- #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
- pub fn dl_iterate_phdr(
- callback: ::Option<
- unsafe extern "C" fn(
- info: *mut dl_phdr_info,
- size: usize,
- data: *mut ::c_void,
- ) -> ::c_int,
- >,
- data: *mut ::c_void,
- ) -> ::c_int;
- pub fn getpagesize() -> ::c_int;
- pub fn getpagesizes(pagesize: *mut ::size_t, nelem: ::c_int) -> ::c_int;
- pub fn mmapobj(
- fd: ::c_int,
- flags: ::c_uint,
- storage: *mut mmapobj_result_t,
- elements: *mut ::c_uint,
- arg: *mut ::c_void,
- ) -> ::c_int;
- pub fn meminfo(
- inaddr: *const u64,
- addr_count: ::c_int,
- info_req: *const ::c_uint,
- info_count: ::c_int,
- outdata: *mut u64,
- validity: *mut ::c_uint,
- ) -> ::c_int;
-
- pub fn strcasecmp_l(s1: *const ::c_char, s2: *const ::c_char, loc: ::locale_t) -> ::c_int;
- pub fn strncasecmp_l(
- s1: *const ::c_char,
- s2: *const ::c_char,
- n: ::size_t,
- loc: ::locale_t,
- ) -> ::c_int;
- pub fn strsep(string: *mut *mut ::c_char, delim: *const ::c_char) -> *mut ::c_char;
-}
-
-#[link(name = "lgrp")]
-extern "C" {
- pub fn lgrp_init(view: lgrp_view_t) -> lgrp_cookie_t;
- pub fn lgrp_fini(cookie: lgrp_cookie_t) -> ::c_int;
- pub fn lgrp_affinity_get(
- idtype: ::idtype_t,
- id: ::id_t,
- lgrp: ::lgrp_id_t,
- ) -> ::lgrp_affinity_t;
- pub fn lgrp_affinity_set(
- idtype: ::idtype_t,
- id: ::id_t,
- lgrp: ::lgrp_id_t,
- aff: lgrp_affinity_t,
- ) -> ::lgrp_affinity_t;
- pub fn lgrp_cpus(
- cookie: ::lgrp_cookie_t,
- lgrp: ::lgrp_id_t,
- cpuids: *mut ::processorid_t,
- count: ::c_uint,
- content: ::lgrp_content_t,
- ) -> ::c_int;
- pub fn lgrp_mem_size(
- cookie: ::lgrp_cookie_t,
- lgrp: ::lgrp_id_t,
- tpe: ::lgrp_mem_size_flag_t,
- content: ::lgrp_content_t,
- ) -> ::lgrp_mem_size_t;
- pub fn lgrp_nlgrps(cookie: ::lgrp_cookie_t) -> ::c_int;
- pub fn lgrp_view(cookie: ::lgrp_cookie_t) -> ::lgrp_view_t;
- pub fn lgrp_home(idtype: ::idtype_t, id: ::id_t) -> ::lgrp_id_t;
- pub fn lgrp_version(version: ::c_int) -> ::c_int;
- pub fn lgrp_resources(
- cookie: ::lgrp_cookie_t,
- lgrp: ::lgrp_id_t,
- lgrps: *mut ::lgrp_id_t,
- count: ::c_uint,
- tpe: ::lgrp_rsrc_t,
- ) -> ::c_int;
- pub fn lgrp_root(cookie: ::lgrp_cookie_t) -> ::lgrp_id_t;
}
mod compat;
@@ -3050,13 +2623,3 @@ cfg_if! {
// Unknown target_os
}
}
-
-cfg_if! {
- if #[cfg(target_arch = "x86_64")] {
- mod x86_64;
- pub use self::x86_64::*;
- } else if #[cfg(target_arch = "x86")] {
- mod x86;
- pub use self::x86::*;
- }
-}
diff --git a/src/unix/solarish/x86.rs b/src/unix/solarish/x86.rs
deleted file mode 100644
index 23f52ad3..00000000
--- a/src/unix/solarish/x86.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-pub type Elf32_Addr = ::c_ulong;
-pub type Elf32_Half = ::c_ushort;
-pub type Elf32_Off = ::c_ulong;
-pub type Elf32_Sword = ::c_long;
-pub type Elf32_Word = ::c_ulong;
-pub type Elf32_Lword = ::c_ulonglong;
-pub type Elf32_Phdr = __c_anonymous_Elf32_Phdr;
-
-s! {
- pub struct __c_anonymous_Elf32_Phdr {
- pub p_type: ::Elf32_Word,
- pub p_offset: ::Elf32_Off,
- pub p_vaddr: ::Elf32_Addr,
- pub p_paddr: ::Elf32_Addr,
- pub p_filesz: ::Elf32_Word,
- pub p_memsz: ::Elf32_Word,
- pub p_flags: ::Elf32_Word,
- pub p_align: ::Elf32_Word,
- }
-
- pub struct dl_phdr_info {
- pub dlpi_addr: ::Elf32_Addr,
- pub dlpi_name: *const ::c_char,
- pub dlpi_phdr: *const ::Elf32_Phdr,
- pub dlpi_phnum: ::Elf32_Half,
- pub dlpi_adds: ::c_ulonglong,
- pub dlpi_subs: ::c_ulonglong,
- }
-}
diff --git a/src/unix/solarish/x86_64.rs b/src/unix/solarish/x86_64.rs
deleted file mode 100644
index 5f75bdb7..00000000
--- a/src/unix/solarish/x86_64.rs
+++ /dev/null
@@ -1,159 +0,0 @@
-pub type greg_t = ::c_long;
-
-pub type Elf64_Addr = ::c_ulong;
-pub type Elf64_Half = ::c_ushort;
-pub type Elf64_Off = ::c_ulong;
-pub type Elf64_Sword = ::c_int;
-pub type Elf64_Sxword = ::c_long;
-pub type Elf64_Word = ::c_uint;
-pub type Elf64_Xword = ::c_ulong;
-pub type Elf64_Lword = ::c_ulong;
-pub type Elf64_Phdr = __c_anonymous_Elf64_Phdr;
-
-s! {
- pub struct __c_anonymous_fpchip_state {
- pub cw: u16,
- pub sw: u16,
- pub fctw: u8,
- pub __fx_rsvd: u8,
- pub fop: u16,
- pub rip: u64,
- pub rdp: u64,
- pub mxcsr: u32,
- pub mxcsr_mask: u32,
- pub st: [::upad128_t; 8],
- pub xmm: [::upad128_t; 16],
- pub __fx_ign: [::upad128_t; 6],
- pub status: u32,
- pub xstatus: u32,
- }
-
- pub struct __c_anonymous_Elf64_Phdr {
- pub p_type: ::Elf64_Word,
- pub p_flags: ::Elf64_Word,
- pub p_offset: ::Elf64_Off,
- pub p_vaddr: ::Elf64_Addr,
- pub p_paddr: ::Elf64_Addr,
- pub p_filesz: ::Elf64_Xword,
- pub p_memsz: ::Elf64_Xword,
- pub p_align: ::Elf64_Xword,
- }
-
- pub struct dl_phdr_info {
- pub dlpi_addr: ::Elf64_Addr,
- pub dlpi_name: *const ::c_char,
- pub dlpi_phdr: *const ::Elf64_Phdr,
- pub dlpi_phnum: ::Elf64_Half,
- pub dlpi_adds: ::c_ulonglong,
- pub dlpi_subs: ::c_ulonglong,
- }
-}
-
-s_no_extra_traits! {
- #[cfg(libc_union)]
- pub union __c_anonymous_fp_reg_set {
- pub fpchip_state: __c_anonymous_fpchip_state,
- pub f_fpregs: [[u32; 13]; 10],
- }
-
- pub struct fpregset_t {
- pub fp_reg_set: __c_anonymous_fp_reg_set,
- }
-
- pub struct mcontext_t {
- pub gregs: [::greg_t; 28],
- pub fpregs: fpregset_t,
- }
-
- pub struct ucontext_t {
- pub uc_flags: ::c_ulong,
- pub uc_link: *mut ucontext_t,
- pub uc_sigmask: ::sigset_t,
- pub uc_stack: ::stack_t,
- pub uc_mcontext: mcontext_t,
- pub uc_filler: [::c_long; 5],
- }
-}
-
-cfg_if! {
- if #[cfg(feature = "extra_traits")] {
- #[cfg(libc_union)]
- impl PartialEq for __c_anonymous_fp_reg_set {
- fn eq(&self, other: &__c_anonymous_fp_reg_set) -> bool {
- unsafe {
- self.fpchip_state == other.fpchip_state ||
- self.
- f_fpregs.
- iter().
- zip(other.f_fpregs.iter()).
- all(|(a, b)| a == b)
- }
- }
- }
- #[cfg(libc_union)]
- impl Eq for __c_anonymous_fp_reg_set {}
- #[cfg(libc_union)]
- impl ::fmt::Debug for __c_anonymous_fp_reg_set {
- fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
- unsafe {
- f.debug_struct("__c_anonymous_fp_reg_set")
- .field("fpchip_state", &{self.fpchip_state})
- .field("f_fpregs", &{self.f_fpregs})
- .finish()
- }
- }
- }
- impl PartialEq for fpregset_t {
- fn eq(&self, other: &fpregset_t) -> bool {
- self.fp_reg_set == other.fp_reg_set
- }
- }
- impl Eq for fpregset_t {}
- impl ::fmt::Debug for fpregset_t {
- fn fmt(&self, f:&mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("fpregset_t")
- .field("fp_reg_set", &self.fp_reg_set)
- .finish()
- }
- }
- impl PartialEq for mcontext_t {
- fn eq(&self, other: &mcontext_t) -> bool {
- self.gregs == other.gregs &&
- self.fpregs == other.fpregs
- }
- }
- 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("gregs", &self.gregs)
- .field("fpregs", &self.fpregs)
- .finish()
- }
- }
- impl PartialEq for ucontext_t {
- fn eq(&self, other: &ucontext_t) -> bool {
- self.uc_flags == other.uc_flags
- && self.uc_link == other.uc_link
- && self.uc_sigmask == other.uc_sigmask
- && self.uc_stack == other.uc_stack
- && self.uc_mcontext == other.uc_mcontext
- && self.uc_filler == other.uc_filler
- }
- }
- impl Eq for ucontext_t {}
- impl ::fmt::Debug for ucontext_t {
- fn fmt(&self, f:&mut ::fmt::Formatter) -> ::fmt::Result {
- f.debug_struct("ucontext_t")
- .field("uc_flags", &self.uc_flags)
- .field("uc_link", &self.uc_link)
- .field("uc_sigmask", &self.uc_sigmask)
- .field("uc_stack", &self.uc_stack)
- .field("uc_mcontext", &self.uc_mcontext)
- .field("uc_filler", &self.uc_filler)
- .finish()
- }
- }
-
- }
-}
diff --git a/src/vxworks/mod.rs b/src/vxworks/mod.rs
index 2772d68d..1e4deb71 100644..100755
--- a/src/vxworks/mod.rs
+++ b/src/vxworks/mod.rs
@@ -631,7 +631,6 @@ pub const EFAULT: ::c_int = 14;
pub const ENOTEMPTY: ::c_int = 15;
pub const EBUSY: ::c_int = 16;
pub const EEXIST: ::c_int = 17;
-pub const EXDEV: ::c_int = 18;
pub const ENODEV: ::c_int = 19;
pub const ENOTDIR: ::c_int = 20;
pub const EISDIR: ::c_int = 21;
@@ -639,9 +638,7 @@ pub const EINVAL: ::c_int = 22;
pub const ENAMETOOLONG: ::c_int = 26;
pub const EFBIG: ::c_int = 27;
pub const ENOSPC: ::c_int = 28;
-pub const ESPIPE: ::c_int = 29;
pub const EROFS: ::c_int = 30;
-pub const EMLINK: ::c_int = 31;
pub const EPIPE: ::c_int = 32;
pub const EDEADLK: ::c_int = 33;
pub const ERANGE: ::c_int = 38;
@@ -667,10 +664,6 @@ pub const ESHUTDOWN: ::c_int = 58;
pub const ETOOMANYREFS: ::c_int = 59;
pub const ETIMEDOUT: ::c_int = 60;
pub const ECONNREFUSED: ::c_int = 61;
-pub const ENETDOWN: ::c_int = 62;
-pub const ETXTBSY: ::c_int = 63;
-pub const ELOOP: ::c_int = 64;
-pub const EHOSTUNREACH: ::c_int = 65;
pub const EINPROGRESS: ::c_int = 68;
pub const EALREADY: ::c_int = 69;
pub const EWOULDBLOCK: ::c_int = 70;
@@ -1121,7 +1114,6 @@ extern "C" {
pub fn perror(s: *const c_char);
pub fn atoi(s: *const c_char) -> c_int;
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
- pub fn strtof(s: *const c_char, endp: *mut *mut c_char) -> c_float;
pub fn strtol(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_long;
pub fn strtoul(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulong;
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
@@ -1220,8 +1212,6 @@ extern "C" {
pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int;
- pub fn sigaddset(set: *mut sigset_t, signum: ::c_int) -> ::c_int;
-
pub fn sigaction(signum: ::c_int, act: *const sigaction, oldact: *mut sigaction) -> ::c_int;
pub fn utimes(filename: *const ::c_char, times: *const ::timeval) -> ::c_int;
diff --git a/src/wasi.rs b/src/wasi.rs
index ef88fac7..6aefff8a 100644
--- a/src/wasi.rs
+++ b/src/wasi.rs
@@ -1,5 +1,3 @@
-use super::{Send, Sync};
-
pub use ffi::c_void;
pub type c_char = i8;
@@ -38,15 +36,6 @@ pub type blksize_t = c_long;
pub type blkcnt_t = i64;
pub type nfds_t = c_ulong;
pub type wchar_t = i32;
-pub type nl_item = c_int;
-
-s_no_extra_traits! {
- #[repr(align(16))]
- #[allow(missing_debug_implementations)]
- pub struct max_align_t {
- priv_: [f64; 4]
- }
-}
pub type __wasi_rights_t = u64;
@@ -62,16 +51,6 @@ pub enum __locale_struct {}
pub type locale_t = *mut __locale_struct;
-s_paren! {
- // in wasi-libc clockid_t is const struct __clockid* (where __clockid is an opaque struct),
- // but that's an implementation detail that we don't want to have to deal with
- #[repr(transparent)]
- pub struct clockid_t(*const u8);
-}
-
-unsafe impl Send for clockid_t {}
-unsafe impl Sync for clockid_t {}
-
s! {
#[repr(align(8))]
pub struct fpos_t {
@@ -222,7 +201,6 @@ pub const O_EXEC: c_int = 0x02000000;
pub const O_RDONLY: c_int = 0x04000000;
pub const O_SEARCH: c_int = 0x08000000;
pub const O_WRONLY: c_int = 0x10000000;
-pub const O_CLOEXEC: c_int = 0x0;
pub const O_RDWR: c_int = O_WRONLY | O_RDONLY;
pub const O_ACCMODE: c_int = O_EXEC | O_RDWR | O_SEARCH;
pub const O_NOCTTY: c_int = 0x0;
@@ -247,18 +225,6 @@ pub const S_IFREG: mode_t = 32768;
pub const S_IFLNK: mode_t = 40960;
pub const S_IFSOCK: mode_t = 49152;
pub const S_IFMT: mode_t = 57344;
-pub const S_IXOTH: mode_t = 0x1;
-pub const S_IWOTH: mode_t = 0x2;
-pub const S_IROTH: mode_t = 0x4;
-pub const S_IXGRP: mode_t = 0x8;
-pub const S_IWGRP: mode_t = 0x10;
-pub const S_IRGRP: mode_t = 0x20;
-pub const S_IXUSR: mode_t = 0x40;
-pub const S_IWUSR: mode_t = 0x80;
-pub const S_IRUSR: mode_t = 0x100;
-pub const S_ISVTX: mode_t = 0x200;
-pub const S_ISGID: mode_t = 0x400;
-pub const S_ISUID: mode_t = 0x800;
pub const DT_UNKNOWN: u8 = 0;
pub const DT_BLK: u8 = 1;
pub const DT_CHR: u8 = 2;
@@ -363,86 +329,9 @@ pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE;
pub const _SC_IOV_MAX: c_int = 60;
pub const _SC_SYMLOOP_MAX: c_int = 173;
-pub static CLOCK_MONOTONIC: clockid_t = unsafe { clockid_t(ptr_addr_of!(_CLOCK_MONOTONIC)) };
-pub static CLOCK_PROCESS_CPUTIME_ID: clockid_t =
- unsafe { clockid_t(ptr_addr_of!(_CLOCK_PROCESS_CPUTIME_ID)) };
-pub static CLOCK_REALTIME: clockid_t = unsafe { clockid_t(ptr_addr_of!(_CLOCK_REALTIME)) };
-pub static CLOCK_THREAD_CPUTIME_ID: clockid_t =
- unsafe { clockid_t(ptr_addr_of!(_CLOCK_THREAD_CPUTIME_ID)) };
-
-pub const ABDAY_1: ::nl_item = 0x20000;
-pub const ABDAY_2: ::nl_item = 0x20001;
-pub const ABDAY_3: ::nl_item = 0x20002;
-pub const ABDAY_4: ::nl_item = 0x20003;
-pub const ABDAY_5: ::nl_item = 0x20004;
-pub const ABDAY_6: ::nl_item = 0x20005;
-pub const ABDAY_7: ::nl_item = 0x20006;
-
-pub const DAY_1: ::nl_item = 0x20007;
-pub const DAY_2: ::nl_item = 0x20008;
-pub const DAY_3: ::nl_item = 0x20009;
-pub const DAY_4: ::nl_item = 0x2000A;
-pub const DAY_5: ::nl_item = 0x2000B;
-pub const DAY_6: ::nl_item = 0x2000C;
-pub const DAY_7: ::nl_item = 0x2000D;
-
-pub const ABMON_1: ::nl_item = 0x2000E;
-pub const ABMON_2: ::nl_item = 0x2000F;
-pub const ABMON_3: ::nl_item = 0x20010;
-pub const ABMON_4: ::nl_item = 0x20011;
-pub const ABMON_5: ::nl_item = 0x20012;
-pub const ABMON_6: ::nl_item = 0x20013;
-pub const ABMON_7: ::nl_item = 0x20014;
-pub const ABMON_8: ::nl_item = 0x20015;
-pub const ABMON_9: ::nl_item = 0x20016;
-pub const ABMON_10: ::nl_item = 0x20017;
-pub const ABMON_11: ::nl_item = 0x20018;
-pub const ABMON_12: ::nl_item = 0x20019;
-
-pub const MON_1: ::nl_item = 0x2001A;
-pub const MON_2: ::nl_item = 0x2001B;
-pub const MON_3: ::nl_item = 0x2001C;
-pub const MON_4: ::nl_item = 0x2001D;
-pub const MON_5: ::nl_item = 0x2001E;
-pub const MON_6: ::nl_item = 0x2001F;
-pub const MON_7: ::nl_item = 0x20020;
-pub const MON_8: ::nl_item = 0x20021;
-pub const MON_9: ::nl_item = 0x20022;
-pub const MON_10: ::nl_item = 0x20023;
-pub const MON_11: ::nl_item = 0x20024;
-pub const MON_12: ::nl_item = 0x20025;
-
-pub const AM_STR: ::nl_item = 0x20026;
-pub const PM_STR: ::nl_item = 0x20027;
-
-pub const D_T_FMT: ::nl_item = 0x20028;
-pub const D_FMT: ::nl_item = 0x20029;
-pub const T_FMT: ::nl_item = 0x2002A;
-pub const T_FMT_AMPM: ::nl_item = 0x2002B;
-
-pub const ERA: ::nl_item = 0x2002C;
-pub const ERA_D_FMT: ::nl_item = 0x2002E;
-pub const ALT_DIGITS: ::nl_item = 0x2002F;
-pub const ERA_D_T_FMT: ::nl_item = 0x20030;
-pub const ERA_T_FMT: ::nl_item = 0x20031;
-
-pub const CODESET: ::nl_item = 14;
-pub const CRNCYSTR: ::nl_item = 0x4000F;
-pub const RADIXCHAR: ::nl_item = 0x10000;
-pub const THOUSEP: ::nl_item = 0x10001;
-pub const YESEXPR: ::nl_item = 0x50000;
-pub const NOEXPR: ::nl_item = 0x50001;
-pub const YESSTR: ::nl_item = 0x50002;
-pub const NOSTR: ::nl_item = 0x50003;
-
#[cfg_attr(
feature = "rustc-dep-of-std",
- link(
- name = "c",
- kind = "static",
- modifiers = "-bundle",
- cfg(target_feature = "crt-static")
- )
+ link(name = "c", kind = "static", cfg(target_feature = "crt-static"))
)]
#[cfg_attr(
feature = "rustc-dep-of-std",
@@ -515,14 +404,15 @@ extern "C" {
pub fn asctime_r(a: *const tm, b: *mut c_char) -> *mut c_char;
pub fn ctime_r(a: *const time_t, b: *mut c_char) -> *mut c_char;
- static _CLOCK_MONOTONIC: u8;
- static _CLOCK_PROCESS_CPUTIME_ID: u8;
- static _CLOCK_REALTIME: u8;
- static _CLOCK_THREAD_CPUTIME_ID: u8;
pub fn nanosleep(a: *const timespec, b: *mut timespec) -> c_int;
- pub fn clock_getres(a: clockid_t, b: *mut timespec) -> c_int;
- pub fn clock_gettime(a: clockid_t, b: *mut timespec) -> c_int;
- pub fn clock_nanosleep(a: clockid_t, a2: c_int, b: *const timespec, c: *mut timespec) -> c_int;
+ // pub fn clock_getres(a: clockid_t, b: *mut timespec) -> c_int;
+ // pub fn clock_gettime(a: clockid_t, b: *mut timespec) -> c_int;
+ // pub fn clock_nanosleep(
+ // a: clockid_t,
+ // a2: c_int,
+ // b: *const timespec,
+ // c: *mut timespec,
+ // ) -> c_int;
pub fn isalnum(c: c_int) -> c_int;
pub fn isalpha(c: c_int) -> c_int;
@@ -544,7 +434,6 @@ extern "C" {
pub fn atoi(s: *const c_char) -> c_int;
pub fn atof(s: *const c_char) -> c_double;
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
- pub fn strtof(s: *const c_char, endp: *mut *mut c_char) -> c_float;
pub fn strtol(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_long;
pub fn strtoul(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulong;
@@ -720,11 +609,6 @@ extern "C" {
pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
pub fn sched_yield() -> ::c_int;
- pub fn getcwd(buf: *mut c_char, size: ::size_t) -> *mut c_char;
- pub fn chdir(dir: *const c_char) -> ::c_int;
-
- pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
- pub fn nl_langinfo_l(item: ::nl_item, loc: ::locale_t) -> *mut ::c_char;
pub fn __wasilibc_register_preopened_fd(fd: c_int, path: *const c_char) -> c_int;
pub fn __wasilibc_fd_renumber(fd: c_int, newfd: c_int) -> c_int;
diff --git a/src/windows/mod.rs b/src/windows/mod.rs
index 08cba4ed..f64aa2f9 100644
--- a/src/windows/mod.rs
+++ b/src/windows/mod.rs
@@ -27,8 +27,6 @@ pub type wchar_t = u16;
pub type clock_t = i32;
-pub type errno_t = ::c_int;
-
cfg_if! {
if #[cfg(all(target_arch = "x86", target_env = "gnu"))] {
pub type time_t = i32;
@@ -119,27 +117,16 @@ pub const BUFSIZ: ::c_uint = 512;
pub const FOPEN_MAX: ::c_uint = 20;
pub const FILENAME_MAX: ::c_uint = 260;
-// fcntl.h
-pub const O_RDONLY: ::c_int = 0x0000;
-pub const O_WRONLY: ::c_int = 0x0001;
-pub const O_RDWR: ::c_int = 0x0002;
-pub const O_APPEND: ::c_int = 0x0008;
-pub const O_CREAT: ::c_int = 0x0100;
-pub const O_TRUNC: ::c_int = 0x0200;
-pub const O_EXCL: ::c_int = 0x0400;
-pub const O_TEXT: ::c_int = 0x4000;
-pub const O_BINARY: ::c_int = 0x8000;
-pub const _O_WTEXT: ::c_int = 0x10000;
-pub const _O_U16TEXT: ::c_int = 0x20000;
-pub const _O_U8TEXT: ::c_int = 0x40000;
-pub const O_RAW: ::c_int = O_BINARY;
-pub const O_NOINHERIT: ::c_int = 0x0080;
-pub const O_TEMPORARY: ::c_int = 0x0040;
-pub const _O_SHORT_LIVED: ::c_int = 0x1000;
-pub const _O_OBTAIN_DIR: ::c_int = 0x2000;
-pub const O_SEQUENTIAL: ::c_int = 0x0020;
-pub const O_RANDOM: ::c_int = 0x0010;
-
+pub const O_RDONLY: ::c_int = 0;
+pub const O_WRONLY: ::c_int = 1;
+pub const O_RDWR: ::c_int = 2;
+pub const O_APPEND: ::c_int = 8;
+pub const O_CREAT: ::c_int = 256;
+pub const O_EXCL: ::c_int = 1024;
+pub const O_TEXT: ::c_int = 16384;
+pub const O_BINARY: ::c_int = 32768;
+pub const O_NOINHERIT: ::c_int = 128;
+pub const O_TRUNC: ::c_int = 512;
pub const S_IFCHR: ::c_int = 8192;
pub const S_IFDIR: ::c_int = 16384;
pub const S_IFREG: ::c_int = 32768;
@@ -246,13 +233,7 @@ pub const SIGSEGV: ::c_int = 11;
pub const SIGTERM: ::c_int = 15;
pub const SIGABRT: ::c_int = 22;
pub const NSIG: ::c_int = 23;
-
pub const SIG_ERR: ::c_int = -1;
-pub const SIG_DFL: ::sighandler_t = 0;
-pub const SIG_IGN: ::sighandler_t = 1;
-pub const SIG_GET: ::sighandler_t = 2;
-pub const SIG_SGE: ::sighandler_t = 3;
-pub const SIG_ACK: ::sighandler_t = 4;
// inline comment below appeases style checker
#[cfg(all(target_env = "msvc", feature = "rustc-dep-of-std"))] // " if "
@@ -319,11 +300,8 @@ extern "C" {
pub fn feof(stream: *mut FILE) -> c_int;
pub fn ferror(stream: *mut FILE) -> c_int;
pub fn perror(s: *const c_char);
- pub fn printf(format: *const c_char, ...) -> ::c_int;
- pub fn fprintf(stream: *mut FILE, format: *const c_char, ...) -> ::c_int;
pub fn atoi(s: *const c_char) -> c_int;
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
- pub fn strtof(s: *const c_char, endp: *mut *mut c_char) -> c_float;
pub fn strtol(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_long;
pub fn strtoul(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulong;
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
@@ -376,8 +354,6 @@ extern "C" {
#[link_name = "_gmtime64_s"]
pub fn gmtime_s(destTime: *mut tm, srcTime: *const time_t) -> ::c_int;
- #[link_name = "_localtime64_s"]
- pub fn localtime_s(tmDest: *mut tm, sourceTime: *const time_t) -> ::errno_t;
#[link_name = "_time64"]
pub fn time(destTime: *mut time_t) -> time_t;
#[link_name = "_chmod"]
@@ -499,8 +475,6 @@ extern "C" {
pub fn wsetlocale(category: ::c_int, locale: *const wchar_t) -> *mut wchar_t;
#[link_name = "_aligned_malloc"]
pub fn aligned_malloc(size: size_t, alignment: size_t) -> *mut c_void;
- #[link_name = "_aligned_free"]
- pub fn aligned_free(ptr: *mut ::c_void);
}
extern "system" {
diff --git a/src/windows/msvc/mod.rs b/src/windows/msvc.rs
index f5a1d95f..b4c98a84 100644
--- a/src/windows/msvc/mod.rs
+++ b/src/windows/msvc.rs
@@ -10,11 +10,4 @@ extern "C" {
pub fn stricmp(s1: *const ::c_char, s2: *const ::c_char) -> ::c_int;
#[link_name = "_strnicmp"]
pub fn strnicmp(s1: *const ::c_char, s2: *const ::c_char, n: ::size_t) -> ::c_int;
- #[link_name = "_memccpy"]
- pub fn memccpy(
- dest: *mut ::c_void,
- src: *const ::c_void,
- c: ::c_int,
- count: ::size_t,
- ) -> *mut ::c_void;
}